CRITICALDestructive command against a filesystem root or devicesrc/bash_vet_mcp/render.py:94 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 CRITICALPipe-to-shell patternsrc/bash_vet_mcp/demo.py:14 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 CRITICALDestructive command against a filesystem root or devicesrc/bash_vet_mcp/demo.py:11 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 CRITICALPipe-to-shell patternsrc/bash_vet_mcp/demo.py:74 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 HIGHDestructive file system command detectedsrc/bash_vet_mcp/render.py:94 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHDestructive file system command detectedsrc/bash_vet_mcp/demo.py:11 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 CRITICALPipe-to-shell patternsrc/bash_vet_mcp/scanner.py:272 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 CRITICALPipe-to-shell patternsrc/bash_vet_mcp/server.py:40 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 CRITICALDestructive command against a filesystem root or devicesrc/bash_vet_mcp/scanner.py:120 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHDestructive file system command detectedsrc/bash_vet_mcp/scanner.py:91 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 CRITICALPipe-to-shell patternsrc/bash_vet_mcp/scanner.py:262 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 HIGHPrivileged sudo commandsrc/bash_vet_mcp/scanner.py:238 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHHost or command assembled from base64 fragmentssrc/bash_vet_mcp/scanner.py:283 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07 HIGHPrivileged sudo commandsrc/bash_vet_mcp/scanner.py:237 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHPrivileged sudo commandsrc/bash_vet_mcp/demo.py:84 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHDestructive file system command detectedsrc/bash_vet_mcp/scanner.py:84 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHPrivileged sudo commandsrc/bash_vet_mcp/scanner.py:239 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 CRITICALDestructive command against a filesystem root or devicesrc/bash_vet_mcp/scanner.py:84 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHDestructive file system command detectedsrc/bash_vet_mcp/demo.py:65 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHPrivileged sudo commandsrc/bash_vet_mcp/demo.py:69 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMFile permission modification commandsrc/bash_vet_mcp/scanner.py:219 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMRemote installer piped to shellsrc/bash_vet_mcp/demo.py:14 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMFile permission modification commandsrc/bash_vet_mcp/scanner.py:20 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMRemote installer piped to shellsrc/bash_vet_mcp/demo.py:74 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMFile permission modification commandsrc/bash_vet_mcp/demo.py:83 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMRemote installer piped to shellsrc/bash_vet_mcp/server.py:40 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMFile permission modification commandSKILL.md:6 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMFile permission modification commandpyproject.toml:8 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMFile permission modification commandsrc/bash_vet_mcp/demo.py:16 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 HIGHPrivileged sudo commandsrc/bash_vet_mcp/server.py:39 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMRemote installer piped to shellSKILL.md:6 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMRemote installer piped to shellsrc/bash_vet_mcp/server.py:67 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMFile permission modification commandsrc/bash_vet_mcp/scanner.py:228 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMRemote installer piped to shellpyproject.toml:8 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMFile permission modification commandsrc/bash_vet_mcp/scanner.py:221 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMRemote installer piped to shellsrc/bash_vet_mcp/scanner.py:262 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMFile permission modification commandsrc/bash_vet_mcp/demo.py:84 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 HIGHAccess to sensitive file pathssrc/bash_vet_mcp/scanner.py:339 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMRemote installer piped to shelltests/test_scanner.py:314 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMDestructive file system command detectedtests/test_scanner.py:43 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMHost or command assembled from base64 fragmentstests/test_scanner.py:349 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07 MEDIUMDestructive command against a filesystem root or devicetests/test_scanner.py:43 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMDestructive command against a filesystem root or devicetests/test_scanner.py:44 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMFile permission modification commandsrc/bash_vet_mcp/server.py:67 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPrivileged sudo commandtests/test_scanner.py:45 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMPrivileged sudo commandtests/test_scanner.py:86 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMDestructive file system command detectedtests/test_scanner.py:44 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMDestructive command against a filesystem root or devicetests/test_scanner.py:105 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMDestructive file system command detectedtests/test_scanner.py:45 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMDestructive file system command detectedtests/test_scanner.py:46 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMRemote installer piped to shelltests/test_scanner.py:315 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMDestructive file system command detectedtests/test_scanner.py:42 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMDestructive command against a filesystem root or devicetests/test_scanner.py:45 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMRemote installer piped to shellsrc/bash_vet_mcp/server.py:158 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMHost or command assembled from base64 fragmentstests/test_scanner.py:348 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07 MEDIUMDestructive command against a filesystem root or devicetests/test_scanner.py:42 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMRemote installer piped to shelltests/test_scanner.py:316 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMPipe-to-shell patterntests/test_scanner.py:315 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 MEDIUMFile permission modification commandtests/test_scanner.py:277 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMAccess to sensitive file pathstests/test_scanner.py:258 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMFile permission modification commandtests/test_scanner.py:259 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPrivileged sudo commandtests/test_scanner.py:172 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMFile permission modification commandtests/test_scanner.py:272 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPipe-to-shell patterntests/test_scanner.py:328 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 MEDIUMFile permission modification commandtests/test_scanner.py:258 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPipe-to-shell patterntests/test_scanner.py:330 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 MEDIUMPrivileged sudo commandtests/test_scanner.py:194 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMDestructive file system command detectedtests/test_server.py:74 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMFile permission modification commandtests/test_scanner.py:257 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPipe-to-shell patterntests/test_scanner.py:333 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 MEDIUMPipe-to-shell patterntests/test_scanner.py:314 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 MEDIUMPrivileged sudo commandtests/test_scanner.py:139 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMDestructive command against a filesystem root or devicetests/test_server.py:74 · Destructive command against a filesystem root or deviceFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMPrivileged sudo commandtests/test_server.py:93 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05