Skip to main content

agentshield/rules/builtin/
mod.rs

1mod arbitrary_file_access;
2mod archive_traversal;
3mod command_injection;
4mod credential_exfil;
5mod download_exec;
6mod dynamic_exec;
7mod excessive_permissions;
8mod metadata_ssrf;
9mod no_lockfile;
10mod overbroad_fs;
11mod prompt_injection;
12mod runtime_install;
13mod secret_leakage;
14mod self_modification;
15mod ssrf;
16mod typosquat;
17mod unpinned_deps;
18mod unsafe_deser;
19
20use super::Detector;
21
22/// Returns all built-in detectors (18 rules: SHIELD-001..018).
23pub fn all_detectors() -> Vec<Box<dyn Detector>> {
24    vec![
25        Box::new(command_injection::CommandInjectionDetector),
26        Box::new(credential_exfil::CredentialExfilDetector),
27        Box::new(ssrf::SsrfDetector),
28        Box::new(arbitrary_file_access::ArbitraryFileAccessDetector),
29        Box::new(runtime_install::RuntimeInstallDetector),
30        Box::new(self_modification::SelfModificationDetector),
31        Box::new(prompt_injection::PromptInjectionDetector),
32        Box::new(excessive_permissions::ExcessivePermissionsDetector),
33        Box::new(unpinned_deps::UnpinnedDepsDetector),
34        Box::new(typosquat::TyposquatDetector),
35        Box::new(dynamic_exec::DynamicExecDetector),
36        Box::new(no_lockfile::NoLockfileDetector),
37        Box::new(metadata_ssrf::MetadataSsrfDetector),
38        Box::new(download_exec::DownloadExecDetector),
39        Box::new(overbroad_fs::OverbroadFsDetector),
40        Box::new(unsafe_deser::UnsafeDeserDetector),
41        Box::new(archive_traversal::ArchiveTraversalDetector),
42        Box::new(secret_leakage::SecretLeakageDetector),
43    ]
44}