agentic-actions-audito…
Audits GitHub Actions workflows for security vulnerabilities in AI agent integrations including Claude Code Action, Gemini CLI,…
Configures mewt or muton campaigns, analyzes surviving mutants, and investigates bugs exposed by testing gaps. Use when setting up mutation testing, reviewing campaign results, identifying equivalent mutants, or finding bugs from surviving mutations.
Claude Code
$ npx -y skills add trailofbits/skills --skill mutation-testing --agent claude-code
Codex
$ npx skills add trailofbits/skills --skill mutation-testing -a codex -y
Cursor
$ npx skills add trailofbits/skills --skill mutation-testing -a cursor -y
Gemini CLI
$ npx skills add trailofbits/skills --skill mutation-testing -a gemini-cli -y
GitHub Copilot
$ npx skills add trailofbits/skills --skill mutation-testing -a github-copilot -y
OpenCode
$ npx skills add trailofbits/skills --skill mutation-testing -a opencode -y
Windsurf
$ npx skills add trailofbits/skills --skill mutation-testing -a windsurf -y
name: mutation-testing description: "Configures mewt or muton campaigns, analyzes surviving mutants, and investigates bugs exposed by testing gaps. Use when setting up mutation testing, reviewing campaign results, identifying equivalent mutants, or finding bugs from surviving mutations." allowed-tools: Read Write Bash Grep
Routes to the right mutation testing workflow and loads the references that workflow needs.
> **Note**: muton and mewt share identical interfaces. Examples use `mewt`; substitute `muton` and its file names (`muton.toml`, `muton.sqlite`) for muton projects.
`mewt --help` and `mewt <subcommand> --help` are the source of truth for command-line behavior. Examples below reflect the mewt 4.x API; run `--help` when a flag looks unfamiliar or a command fails.
Use this skill when the user:
Do not use this skill when the user asks about tests or line coverage without any mutation testing context.
---
Pick the workflow, then load it together with the references listed for it. Workflows and references do not load each other — that decision belongs here.
**Setting up, scoping, or speeding up a campaign** → [workflows/configuration.md](workflows/configuration.md) → Also load [references/optimization-strategies.md](references/optimization-strategies.md) when the campaign estimate is long enough to need trimming, or the user asks to make it faster.
**Campaign finished, hunting for bugs in untested code** → [workflows/bug-hunter.md](workflows/bug-hunter.md)
**Turning results into a formal analysis report** → [workflows/analyzing-results.md](workflows/analyzing-results.md), plus:
**Anything else** → run `mewt --help` or `mewt <subcommand> --help`, then assist directly.
---
# Set up and run mewt init # Create config and database mewt mutate [paths] # Generate mutants without testing them mewt run [paths] # Generate mutants and run the campaign # Read results mewt status # Overview with per-file breakdown mewt results # Uncaught mutants (default view) mewt results --all # Every outcome, not just uncaught mewt results --format json # json | sarif | ids | table # Narrow down (these filters work on both `results` and `print mutants`) mewt results --target 'src/auth/**' # Quote globs so the shell does not expand them mewt results --severity high,medium mewt results --mutation-types ER,CR mewt results --status Uncaught # Uncaught | TestFail | Skipped | Timeout mewt results --line 42 # Investigate and re-test mewt print mutant --id [id] # View the mutated code mewt test --ids [ids] # Re-test specific mutants mewt test --ids-file uncaught_ids.txt # Re-test IDs from a file, or '-' for stdin # Inspect configuration mewt print config # Effective config mewt print targets # Files actually mutated mewt print mutations --language [lang] # Mutations and severities for a language
Language labels are canonical `family` or `family/dialect` values in mewt 4.x — for example `rust`, `javascript/ts`, `move/sui`, `move/iota`.
---
---
`mewt print mutations --language [lang]` lists every mutation slug, description, and severity for a language, and is authoritative — the operator set grows with each release. What that output does not tell you is what a survivor *means*, which is where prioritization comes from:
| Severity | Representative slugs | What an uncaught mutant tells you | |----------|---------------------|-----------------------------------| | High | `ER` (Error Replacement) | Tests tolerate the injected error. Investigate whether the path executes, whether error handling masks the change, and whether assertions check the outcome. | | Medium | `CR` (Comment Replacement) | Removing the statement does not fail the tests. Check whether its effects matter and whether assertions observe them. | | Medium | `IF`/`IT` (If False/True), `NR` (Negation Removal) | Tests do not distinguish the changed condition. Both constant replacements surviving can indicate an unexecuted condition or weak assertions on the branch outcomes. | | Low | Operator shuffles (`AOS`, `COS`, `LOS`, `BOS`, shift/assignment variants), `BL`, `AS`, `LC`, `WF` | Check boundary inputs, arithmetic assertions, and semantic equivalence. The mutation result alone does not establish whether the code executed. |
Severity ranks the *mutation*, not the risk. A low-severity su
Trail of Bits skills and plugins for AI-assisted security analysis, testing, and development. Install this marketplace in Claude Code or Codex, or import it into your ChatGPT workspace marketplace.
Audits GitHub Actions workflows for security vulnerabilities in AI agent integrations including Claude Code Action, Gemini CLI,…
Understand a codebase before looking for bugs in it - what each function assumes, what it guarantees, and what it depends on…
Scans Algorand smart contracts for 11 common vulnerabilities including rekeying attacks, unchecked transaction fees, missing…
Prepares codebases for security review using Trail of Bits' checklist. Helps set review goals, runs static analysis tools,…
Scans Cairo/StarkNet smart contracts for 6 critical vulnerabilities including felt252 arithmetic overflow, L1-L2 messaging…
Systematic code maturity assessment using Trail of Bits' 9-category framework. Analyzes codebase for arithmetic safety, auditing…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…