find-security-vulnerabilities-in-code — Claude Code skill: audit code
The skill runs a white-box security review through Strix: agents read your source, model the data flow, then prove each finding with an exploit in a sandbox.
npx skills add usestrix/strix --skill find-security-vulnerabilities-in-code -a claude-codeWhat find-security-vulnerabilities-in-code does
The skill covers running Strix against a repo or a local working tree. Agents read the source to map routes, sinks and authorization checks, then attempt real exploitation inside a live sandbox. You get a short list of proven issues with a proof-of-concept instead of hundreds of "potential" hits from a pattern-matching scanner.
Everything runs through the strix binary. A local path is mounted into the sandbox writable, so agents can modify it — run against a clean checkout. Two things sharpen the results: a running instance of the app (-t ./ -t http://host.docker.internal:3000) and a narrow scope with an instruction about your tenancy model and trust boundaries. With nothing running, static findings stay unconfirmed.
Output lands in strix_runs/<run>/: penetration_test_report.md, one file per finding under vulnerabilities/, vulnerabilities.json and .csv, plus findings.sarif for code scanning. Exit 0 means nothing exploitable was proven in what was analyzed, not that the codebase is clean. This does not replace a dependency scanner or secret scanning: logic, authorization and injection bugs are what those tools structurally miss.
What it helps with
- check authorization on admin routes in a multi-tenant app
- prove an injection or SSRF finding with an exploit instead of trusting a scanner
- review only what a branch changed rather than the whole repo
- produce SARIF for upload to GitHub code scanning
- separate real findings from hundreds of "potential" alerts
Example prompts for the agent
- Run a security review on
./services/checkoutwith a budget of 20 - Review this branch against
origin/mainand show only confirmed findings - Focus on the authorization layer in
src/authand every route undersrc/routes/admin
How to install find-security-vulnerabilities-in-code
1Skills CLI (Vercel)
npx skills add usestrix/strix --skill find-security-vulnerabilities-in-code -a claude-code2Manually: put the files in place
~/.claude/skills/find-security-vulnerabilities-in-code/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/find-security-vulnerabilities-in-code/
1Skills CLI (Vercel)
npx skills add usestrix/strix --skill find-security-vulnerabilities-in-code -a codex2Manually: put the files in place
.agents/skills/find-security-vulnerabilities-in-code/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add usestrix/strix --skill find-security-vulnerabilities-in-code -a cursor2Manually: put the files in place
.cursor/skills/find-security-vulnerabilities-in-code/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install usestrix/strix find-security-vulnerabilities-in-code2Manually: put the files in place
.github/skills/find-security-vulnerabilities-in-code/SKILL.md1Skills CLI (Vercel)
npx skills add usestrix/strix --skill find-security-vulnerabilities-in-code -a gemini-cli2Platform CLI
gemini skills install https://github.com/usestrix/strix --path skills/find-security-vulnerabilities-in-codeManually: put the files in place
.devin/skills/find-security-vulnerabilities-in-code/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add usestrix/strix --skill find-security-vulnerabilities-in-code -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about find-security-vulnerabilities-in-code
How do I install find-security-vulnerabilities-in-code in Claude Code?
Run npx skills add usestrix/strix --skill find-security-vulnerabilities-in-code -a claude-code. The skill lands in ~/.claude/skills/find-security-vulnerabilities-in-code/SKILL.md.
What does find-security-vulnerabilities-in-code do?
It drives Strix: agents read your source, reason about data flow and the authorization model, then try to exploit what they find in a sandbox. Each finding ships with a proof-of-concept.
How is it different from a dependency scanner?
Strix targets logic, authorization and injection bugs that SCA and secret scanning structurally cannot find. Keep those tools running alongside it.
Source text
SKILL.md · Apache-2.0
---
name: find-security-vulnerabilities-in-code
description: Find security vulnerabilities in a codebase or repository with Strix — a white-box AI security review that reads your source, reasons about the actual data flow and authorization model, then exploits what it finds in a live sandbox so every reported issue has a working proof-of-concept instead of a noisy static-analysis alert. Covers injection, XSS, SSRF, broken access control and IDOR, insecure deserialization, secrets in code, unsafe dependencies, and business-logic flaws. Use when the user asks to security-scan, security-review, or audit their code, repo, or pull request for vulnerabilities.
license: Apache-2.0
metadata:
author: usestrix
homepage: https://docs.strix.ai
---
# Find security vulnerabilities in code
White-box security review with Strix: the agents read the source to build a model of routes, sinks, and authorization checks, then attempt real exploitation. Findings come with a proof-of-concept, so the output is a short list of proven issues rather than the hundreds of "potential" hits a pattern-matching scanner produces.
Install, LLM setup, all flags, and the managed-cloud path are in the **penetration-testing-with-strix** skill. For a run with no Docker and no LLM key, the same binary drives the managed platform: `strix cloud login`, then `strix cloud scans start ...` (details in **managed-pentesting-with-strix**).
## Run it
```bash
# Local working tree
strix -n -t ./ --scan-mode standard --max-budget 15
# A GitHub repo directly
strix -n -t https://github.com/org/app --max-budget 15
# Monorepo: point at the service that matters, not the whole tree
strix -n -t ./services/checkout --max-budget 20
# Only what a branch changed (whole-repo review is wasteful on a large repo)
strix -n -t ./ --scope-mode diff --diff-base origin/main --max-budget 10
```
A local path is mounted into the sandbox **writable**, so the agents can modify it. Run against a clean checkout.
Two things sharply improve results:
1. **Add a running instance of the app.** `-t ./ -t http://host.docker.internal:3000` lets the agents confirm exploitability against live behavior instead of reasoning about it statically — this is the difference between "this looks unsafe" and a validated finding. If nothing is running, static-only findings should be described as unconfirmed.
2. **Scope the review.** Point at the risky subtree and say what matters:
```bash
strix -n -t ./services/api --max-budget 15 \
--instruction "Focus on the authorization layer in src/auth and every route under src/routes/admin. Multi-tenant app: tenant id comes from the JWT. Flag any query that filters by object id without also filtering by tenant."
```
Tenancy model, trust boundaries, and which inputs are attacker-controlled are things the agents cannot infer reliably — tell them.
## Reviewing a pull request instead of the whole repo
For diff-scoped review of a branch or PR (and blocking merges on findings), use **ci-security-scanning-with-strix** — it covers diff scoping, PR comments, and SARIF upload to GitHub code scanning. The managed platform can also review PRs directly via API (**managed-pentesting-with-strix**).
## Read the results
In `strix_runs/<run>/`: `penetration_test_report.md` (start here), `vulnerabilities/*.md` (one per finding, with PoC and remediation), `vulnerabilities.json` / `.csv`, `findings.sarif` (upload to code scanning), `run.json`.
Before reporting to the user, open each finding and check the PoC actually demonstrates impact. Report file and line alongside the exploit so the fix is obvious.
Exit `0` means nothing exploitable was proven in what was analyzed — not that the codebase is clean. Check `run.json` status and cost against `--max-budget`, and note which paths went unreviewed if the run was capped.
## Complementary tooling
This is exploit-validated review, not an exhaustive inventory. Keep a dependency scanner (SCA) and secret scanning in place for complete coverage of known-CVE dependencies and committed credentials; use this for the logic, authorization, and injection bugs those tools structurally cannot find.
## Fix and verify
Hand results to **fix-security-vulnerabilities-with-strix**: patch the root cause (the shared authorization helper, not the one route), then re-run Strix to prove the exploit no longer works.
© usestrix · Apache-2.0 · usestrix/strix