Trail of Bits Agentic Actions Auditor
Draft · awaiting reviewClaude Code plugin that statically audits GitHub Actions workflows which invoke AI coding agents for injection and permission flaws.
For Agent supply-chain scan, Code review and static analysis (SAST)Works with Claude Code, CodexMaintained trailofbits, last push 2026-10-15
PluginA plugin bundles skills, commands, hooks or MCP servers for one AI client. by trailofbits · read from the code at 5c99c03 (1.3.2) on 2026-10-19The date we last read the tool’s files. The code after “at” names the exact version (the git commit) we read; a newer version may differ. · Not run yet.Whether we have run the tool in our lab. “Did more than it said” means the run used rights its description does not name; “did no more than it said” means it stayed within them.
What the code shows, worst first. No run advice yet: the one word needs a read under the full rule.
Level 2. Execution. Bash with no command pattern in allowed-tools permits any shell command.
Level 2. Approval. Frontmatter pre-approves Bash with no command pattern, which equals broad pre-approval.
Before first useSettings for your AI client that limit the tool to the rights its task needs; derived from the code unless marked tested. derived from the code, not tested
- Claude Code: scope Bash to gh api and gh auth status only; the skill itself never needs write access.
What the code can reach, 0 to 3 per right; a dashed point means no evidence, never zero. The three readings
Is it for you?
- Made for
- Detects attack vectors where attacker-controlled input reaches AI agents running in CI/CD pipelines.
- Produces a structured findings report per attack vector with severity ratings and remediation guidance.
- Use it when
- Audit a repository's GitHub Actions workflows for AI agent security issues Code review and static analysis (SAST)
- Check whether attacker-controlled input can reach AI agent prompts in workflows Code review and static analysis (SAST)
- Evaluate agentic action configurations: sandbox settings, tool permissions and user allowlists Agent supply-chain scan
- Assess trigger events such as pull_request_target and issue_comment that expose workflows to external input Code review and static analysis (SAST)
- Not for
- Not for runtime prompt injection testing; the author calls it static analysis guidance, not exploitation.
- Not for non-GitHub CI/CD systems such as Jenkins, GitLab CI or CircleCI.
- Not for auto-fixing or modifying workflow files; the skill reports findings and does not modify files.
- You need
- Claude Code with the trailofbits/skills plugin marketplace added; the root README also documents Codex
- The GitHub CLI (gh) for remote analysis mode and remote cross-file fetches
- An authenticated gh session (gh auth login) for remote fetches
+1 more
Details: You need
Install
linked, not distributed: the Field Guide does not bundle agents or MCP serversUpstream
/plugin marketplace add trailofbits/skills /plugin menu
Quoted from README.md#L12-18 at the pinned commit; a quotation, not a command to copy.
Run it with least privilege
- claude code
scope Bash to gh api and gh auth status only; the skill itself never needs write access- note
derived from the code, not tested in the lab
derived, not tested: proposed from the code analysis
The record · every value with its evidence
What we checked, and what we found.
Profile read at commit 5c99c03 on 2026-10-25: 47 facts, each with its quoted line confirmed by script; not installed, not run in the lab.Each fact was read from the tool's files at the checked version and links to the line it comes from. Where nothing was found, the page says so instead of assuming “none”.
Selected by criteria v0.1, approved by Ilja Schlak: awaiting approval. Each section opens with the answer; the file and line of every fact follow it.
What it can change the capability groups as upstream groups them, worst first
Runs commands, according to the capabilities read.
| Group | What it covers | Effect | On by default |
|---|---|---|---|
| Step 0: Determine Analysis Mode | Parses owner/repo or a GitHub URL with optional ref and fetches the workflow directory listing and file contents with gh api (remote analysis mode). SKILL.md L68-74, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L68-74 at the checked commit | reads, runs commands | no, optional |
| Cross-File Resolution | Resolves local composite actions and local or remote reusable workflows referenced by uses:, one level deep, reading from disk or via gh api. cross-file-resolution.md L15, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/references/cross-file-resolution.md#L15 at the checked commit | reads, runs commands | yes |
| Step 1: Discover Workflow Files | Globs .github/workflows/*.yml and *.yaml at the repository root and reads each workflow file. SKILL.md L111, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L111 at the checked commit | reads | yes |
| Step 2: Identify AI Action Steps | Matches each step's uses: against five known AI action references and records file, job, step, action reference and type. SKILL.md L124, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L124 at the checked commit | reads | yes |
| Step 3: Capture Security Context | Captures with: fields per action type, trigger events, env: blocks at three scopes and permissions: blocks for each AI action step. SKILL.md L164, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L164 at the checked commit | reads | yes |
| Step 4: Analyze for Attack Vectors | Checks vectors A to I (injection paths, eval of AI output, dangerous sandbox configs, wildcard allowlists) using the per-vector reference files. SKILL.md L232, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L232 at the checked commit | reads | yes |
Where it sends data and who can connect to it
2 outside connections found in the files read: GitHub API (named repository), GitHub API (referenced repositories).
- GitHub API (named repository) your targets, if you turn it on. Fetches the workflow directory listing and base64-decoded workflow contents of the named repository via gh api. SKILL.md L80, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L80 at the checked commit
- GitHub API (referenced repositories) other, by default. Fetches remote reusable workflows referenced by job-level uses: from their repositories at the given ref via gh api. cross-file-resolution.md L86-88, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/references/cross-file-resolution.md#L86-88 at the checked commit
Listens for no connections in the files read.
Other connections not ruled out: read in the documentation and the cited code, not searched in full.
How it runs generated from the files read, never drawn by hand
Markdown instructions (SKILL.md plus reference files) that the AI client's model follows with Read, Grep, Glob and Bash; it reads local .github/workflows files or calls gh api against the GitHub Contents API for remote repositories and referenced reusable workflows. SKILL.md L4, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L4 at the checked commit
Your AI client
Parts that live inside the AI client: skill instructions, client configuration.
- SKILL.md (agentic-actions-auditor) SKILL.md holds the audit methodology Step 0 to Step 5 that the model follows in order. SKILL.md L46, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L46 at the checked commit
- references/ files Reference files: foundations, action-profiles, cross-file-resolution and vector-a to vector-i detection heuristics. SKILL.md L324, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L324 at the checked commit
Your machine
Programs and files on the machine where you run the tool.
- .github/workflows files Workflow YAML files under .github/workflows at the repository root, read in local analysis mode. SKILL.md L120, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L120 at the checked commit
- gh CLI The GitHub CLI, called through Bash for gh api fetches and gh auth status. SKILL.md L100, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L100 at the checked commit
Outside your machine
Remote services: vendor APIs, model providers, targets, telemetry endpoints. Data sent here leaves your machine.
- GitHub Contents API GitHub Contents API, the source of workflow, action.yml and reusable workflow files in remote fetches. cross-file-resolution.md L44, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/references/cross-file-resolution.md#L44 at the checked commit
The six rights, read three waysThe six rights a tool can take (files, network, execution, secrets, persistence, approval), each read three ways and rated 0 to 3. 0 never means safe; “?” means no evidence. what the author says, what the code shows, what one lab run showed
Level 2 (open), read from the code. Not run in our lab yet.
0 contained · 1 scoped · 2 open · 3 privileged · ? no evidence · 0 never means safe · zero means: none declared (Declared), none found (Code), none observed (Lab)
Author says: the evidence
- Files · 0SKILL.md L26 author states the skill reports findings and does not modify files
- Network · 1SKILL.md L50 author declares a remote mode for a GitHub repository the user names
- Execution · 1SKILL.md L99-101 author limits Bash to gh api and gh auth status
- Secrets · 1SKILL.md L91-92 author says remote mode needs the user's own gh login
- Approval · 2SKILL.md L4 frontmatter pre-approves the Bash tool with no command pattern
Code shows: the evidence
- Files · 0none found: patterns fs-v0.1 in 5 files at 5c99c03
- Network · 1cross-file-resolution.md L88 gh api fetches referenced workflows from the GitHub API
- Execution · 2SKILL.md L4 Bash with no command pattern in allowed-tools permits any shell command
- Secrets · 1SKILL.md L101 the only credential touch is the user's own gh login
- Persistence · 0none found: patterns persist-v0.1 in 5 files at 5c99c03
- Approval · 2SKILL.md L4 frontmatter pre-approves Bash with no command pattern, which equals broad pre-approval
Valid for commit 5c99c03 (1.3.2) · checked 2026-10-19 · method reach-v0.1The published rules we follow: how tools are selected, how their rights are read and rated, how a lab run is done.
Limits and risks what the files say that fits nowhere else, and what this reading does not cover
- The SKILL.md frontmatter lists Bash in allowed-tools next to Read, Grep and Glob, without a command pattern on Bash. SKILL.md L4, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L4 at the checked commit
- Bash use is bounded by instruction: the skill tells the model to use Bash for gh api and gh auth status and never to pipe fetched content to a shell or interpreter. SKILL.md L99-107, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L99-107 at the checked commit
- Cross-file resolution stops at one level; references found inside resolved files are logged as unresolved. cross-file-resolution.md L5, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/references/cross-file-resolution.md#L5 at the checked commit
- Remote actions referenced as owner/repo@ref outside .github/workflows/ are skipped silently and their action.yml is not fetched. cross-file-resolution.md L17, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/references/cross-file-resolution.md#L17 at the checked commit
- In Vector C the prompt tells the agent to fetch attacker-controlled content with gh CLI commands at runtime; the author notes the fetched content itself is invisible to static YAML analysis. vector-c-cli-data-fetch.md L3, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/references/vector-c-cli-data-fetch.md#L3 at the checked commit
- Vector F (subshell expansion) is confirmed for Gemini CLI; for Claude Code Action and OpenAI Codex the author says it needs runtime testing to confirm exploitability. vector-f-subshell-expansion.md L14, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/references/vector-f-subshell-expansion.md#L14 at the checked commit
- AI steps are identified by prefix-matching uses: against five listed action references, ignoring the version or ref after @. SKILL.md L138, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L138 at the checked commit
- The skill tells the model not to pre-check gh auth status but to attempt the gh api call and handle auth or 404 failures afterwards. SKILL.md L89, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L89 at the checked commit
- Findings for dangerous sandbox configs (Vector H) or wildcard allowlists (Vector I) are rated Info or Low when no injection vector A to G occurs with them. SKILL.md L276, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L276 at the checked commit
- Workflows that use no AI agent actions are out of scope; the author points to general Actions security tools for them. SKILL.md L22, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L22 at the checked commit
- Workflow discovery covers .github/workflows/ at the repository root; subdirectories, vendored code and test fixtures are not scanned. SKILL.md L120, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L120 at the checked commit
- Standalone composite actions or reusable workflows are reviewed only through a caller workflow that references them via uses:. SKILL.md L23, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L23 at the checked commit
- Local actions whose runs.using is not composite (JavaScript or Docker actions) are skipped and not logged as unresolved, so the report's Unresolved References section does not list them. cross-file-resolution.md L56, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/references/cross-file-resolution.md#L56 at the checked commit
- Not covered: what it does at runtime. Other connections not ruled out: read in the documentation and the cited code, not searched in full.
What you need and what the documented installer does
| Kind | What |
|---|---|
| AI client | Claude Code, Codex |
| Runtime | Claude Code with the trailofbits/skills plugin marketplace added; the root README also documents Codex. README.md L12, README.md#L12 at the checked commit |
| Other tools | The GitHub CLI (gh) for remote analysis mode and remote cross-file fetches. SKILL.md L68, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L68 at the checked commit |
| Credentials | An authenticated gh session (gh auth login) for remote fetches. SKILL.md L91, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L91 at the checked commit |
| Credentials | Private repositories are reachable when the gh token in use has permissions for them. SKILL.md L92, plugins/agentic-actions-auditor/skills/agentic-actions-auditor/SKILL.md#L92 at the checked commit |
What the documented installer does
- Adds the trailofbits/skills marketplace from GitHub with /plugin marketplace add, naming the repository without a ref or version; the plugin is then picked in /plugin menu. README.md L12, README.md#L12 at the checked commit
- The plugin README installs via /plugin menu in a project with the Trail of Bits internal marketplace configured, selecting agentic-actions-auditor in the Security Tooling section. README.md L35-41, plugins/agentic-actions-auditor/README.md#L35-41 at the checked commit
- For Codex, the root README adds the marketplace with codex plugin marketplace add trailofbits/skills and installs with codex plugin add <plugin-name>@trailofbits. README.md L28-30, README.md#L28-30 at the checked commit
Lab runs one run is an observation, not a benchmark
About this entry
- Type
- Plugin · Agent security · works with Claude Code, Codex
- Source
- github.com/trailofbits/skills ·
plugins/agentic-actions-auditor· CC-BY-SA-4.0 · manifestplugin.json - Version readThe install command installs exactly the version we checked (the pinned git commit), so what you get is what the card describes.
- 5c99c03 · 1.3.2 · last upstream push 2026-10-15 · no release since the pinned commit
- In the catalog
- listed · added 2026-10-19 · last checked 2026-10-19 · next check 2027-01-17 · fresh
- ScannersA scan of the tool's files with a scanner for malicious patterns. “Pending” means it has not run yet.
- cisco-skill-scanner: not run, pending
- Changes
- none since the entry was added on 2026-10-19
Disagree?
Dispute a value with evidence (file, line, commit): write to hello@readbeforerun.ai. A dispute is checked against the pinned commit; a changed value is logged under Changes.
How this entry was checked, and how to cite it
Selected by the published criteria (method v0.1). What the author says comes only from author statements; what the code shows comes from the code and manifests at commit 5c99c03, each with one evidence line. A “?” means no evidence, never zero; zero never means safe.
The descriptive profile (what it does, can do, how it runs, what it needs) was read through the same isolated pipeline at commit 5c99c03 on 2026-10-25: one reader proposed every fact with a quoted line, a script confirmed each quoted line (47 of 47), and a second reader checked each sentence against its lines. Where nothing was found, the page says so instead of assuming “none”.
Known issues and limits: remote server-side behaviour stays “?”; the lab is not your production; static analysis can miss runtime behaviour.
Placement, badges or fast tracks are not for sale. The author is employed by an IT consultancy; the company has no influence on selection, execution or result.
Cite this:
Ilja Schlak. "Trail of Bits Agentic Actions Auditor". Agentic Security Field Guide, checked 2026-10-19, method reach-v0.1. https://readbeforerun.ai/catalog/trailofbits-agentic-actions-auditor/For maintainers
Badge for your README (reach 2 · not run yet):
[](https://readbeforerun.ai/catalog/trailofbits-agentic-actions-auditor/)Dispute a value with evidence (file, line, commit): write to hello@readbeforerun.ai. A dispute is checked against the pinned commit; a changed value is logged under Changes.
Claim the entry with a fieldguide.yaml in your repository: planned.
Other tools for the same task
Tasks: Agent supply-chain scan, Code review and static analysis (SAST). The task pages compare every tool side by side.- Code showsCisco MCP Scanner PluginDraft · awaiting review
Claude Code plugin that scans MCP servers and tools for prompt injection, tool poisoning and other risks via the Cisco MCP scanner.
Can read credential stores · talk to any host · run shell commands or eval · +1 more · Approval: no evidence · ran once, 2026-11-07: did more than it said · checked 2026-11-07
- Code showsCloudflare Security Audit SkillDraft · awaiting review
Agent skill that runs a multi-phase, source-first security audit of a codebase and verifies each candidate finding.
Can write outside the project · run shell commands or eval · read broad tokens or the environment · not run yet · checked 2026-10-19
- Code showsTrail of Bits Static AnalysisDraft · awaiting review
Claude Code plugin that drives CodeQL, Semgrep and SARIF parsing to find security vulnerabilities in a codebase.
Can write outside the project · talk to any host · run shell commands or eval · +2 more · Secrets: no evidence · not run yet · checked 2026-10-19