HIGHBidirectional text override characters detectedsrc/mcp_anvil/audit/corpus.py:97 · Bidirectional text override characters detected — may hide content directionFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 HIGHOutbound HTTP to raw IP addresssrc/mcp_anvil/audit/http_sandbox.py:65 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 HIGHAccess to sensitive file pathsscripts/send_license_email.py:10 · 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 CRITICALPipe-to-shell patternsrc/mcp_anvil/daemon/discovery.py:310 · 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 HIGHOutbound HTTP to raw IP addresssrc/mcp_anvil/branding.py:112 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 HIGHOutbound HTTP to raw IP addresssrc/mcp_anvil/branding.py:99 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 HIGHAccess to sensitive file pathssrc/mcp_anvil/audit/static_checks.py:473 · 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 HIGHOutbound HTTP to raw IP addresssrc/mcp_anvil/commands/inspect_cmd.py:86 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedsrc/mcp_anvil/builtin_tools/tools_dev.py:346 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedscripts/send_license_email.py:68 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMURL using raw IP addresssrc/mcp_anvil/cli.py:144 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedsrc/mcp_anvil/commands/tray_cmd.py:101 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMRemote installer piped to shellsrc/mcp_anvil/daemon/discovery.py:310 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMURL using raw IP addresssrc/mcp_anvil/branding.py:112 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedsrc/mcp_anvil/builtin_tools/tools_dev.py:260 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMFile type combined with upload actionsrc/mcp_anvil/commands/client_cmd.py:85 · File type combined with upload action — agent may exfiltrate local data filesFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07 MEDIUMPython subprocess execution detectedsrc/mcp_anvil/commands/tool_cmd.py:363 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 HIGHOutbound HTTP to raw IP addresssrc/mcp_anvil/commands/inspect_cmd.py:5 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMProcess kill commandscripts/e2e_test.py:298 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMURL using raw IP addresssrc/mcp_anvil/commands/prompt_cmd.py:103 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 HIGHOutbound HTTP to raw IP addresssrc/mcp_anvil/cli.py:144 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMProcess kill commandsrc/mcp_anvil/builtin_tools/tools.py:51 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMPython subprocess execution detectedsrc/mcp_anvil/audit/sandbox.py:230 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 HIGHAccess to sensitive file pathssrc/mcp_anvil/builtin_tools/tools.py:106 · 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 HIGHOutbound HTTP to raw IP addresssrc/mcp_anvil/inspect/__init__.py:5 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMURL using raw IP addresssrc/mcp_anvil/branding.py:99 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedsrc/mcp_anvil/builtin_tools/tools_dev.py:310 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMURL using raw IP addresssrc/mcp_anvil/commands/inspect_cmd.py:86 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedscripts/e2e_test.py:66 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 HIGHAccess to sensitive file pathssrc/mcp_anvil/builtin_tools/tools.py:161 · 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 HIGHOutbound HTTP to raw IP addresssrc/mcp_anvil/commands/prompt_cmd.py:103 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMProcess kill commandsrc/mcp_anvil/custom_tools/loader.py:112 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMURL using raw IP addresssrc/mcp_anvil/audit/http_sandbox.py:65 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMURL using raw IP addressscripts/e2e_test.py:489 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMOutbound HTTP to raw IP addressscripts/e2e_test.py:489 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMURL using raw IP addresssrc/mcp_anvil/commands/inspect_cmd.py:5 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedsrc/mcp_anvil/audit/http_sandbox.py:109 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMURL using raw IP addresssrc/mcp_anvil/inspect/__init__.py:5 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedsrc/mcp_anvil/daemon/process.py:148 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMProcess kill commandsrc/mcp_anvil/daemon/process.py:94 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMProcess kill commandsrc/mcp_anvil/daemon/process.py:61 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMProcess kill commandsrc/mcp_anvil/inspect/connection.py:164 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 Instructions loaded
≈74 tok
1 file · 81 in bundle
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Not checked against OSV yet; the weekly check has not reached this version.