find-security-vulnerabilities-in-code
usestrix/strix
White-box security review with proof-of-concept exploits, not static-analysis noise.
What is find-security-vulnerabilities-in-code?
Strix reads your source code, models data flow and authorization, then attempts real exploitation in a sandbox. Every reported vulnerability includes a working proof-of-concept. Use this when you need to security-scan, audit, or review a codebase or pull request for vulnerabilities.
- Analyzes routes, sinks, and authorization checks to build a data-flow model
- Attempts live exploitation in a sandbox to validate findings
- Detects injection, XSS, SSRF, broken access control, IDOR, insecure deserialization, secrets, unsafe dependencies, and business-logic flaws
- Produces a short list of proven issues with proof-of-concept instead of hundreds of potential alerts
- Supports scoping to specific subtrees or diff-based review of branches and pull requests
- Outputs findings in multiple formats: Markdown report, JSON, CSV, and SARIF for GitHub code scanning
How to install find-security-vulnerabilities-in-code
npx skills add https://github.com/usestrix/strix --skill find-security-vulnerabilities-in-code- Docker (for local sandbox execution) or managed-cloud account via `strix cloud login`
- For local runs: a clean checkout of the codebase
- Optional but recommended: a running instance of the application to validate exploitability against live behavior
How to use find-security-vulnerabilities-in-code
- 1.Run `strix -n -t <path-or-url> --max-budget <N>` against a local path, GitHub repo URL, or specific service subdirectory
- 2.Add `--instruction` with context on authorization model, trust boundaries, and attacker-controlled inputs for better results
- 3.Optionally add `-t http://host.docker.internal:PORT` to point at a running instance for live exploitation validation
- 4.Review the generated `penetration_test_report.md` and individual vulnerability files in `strix_runs/<run>/vulnerabilities/`
- 5.Check the proof-of-concept in each finding to confirm impact, then report file, line, and exploit details to developers
- 6.Use exit code 0 to confirm nothing exploitable was proven; check `run.json` to see which paths were reviewed and budget consumed
Use cases
- Security audit of a new service or microservice before production deployment
- Proof-of-concept validation of suspected authorization or injection vulnerabilities in a pull request
- Diff-scoped review of changes to a sensitive subsystem (e.g., checkout, auth, admin routes)
- Multi-tenant application review with explicit tenant-boundary and trust-model guidance
- Verification that a security patch actually blocks the original exploit
- Security engineers and penetration testers
- Backend and full-stack developers responsible for secure code
- DevSecOps teams integrating security scanning into CI/CD
- Engineering leads reviewing high-risk pull requests before merge
find-security-vulnerabilities-in-code FAQ
Strix builds a model of your actual data flow and authorization logic, then attempts real exploitation in a sandbox. Every reported issue has a working proof-of-concept, so you get a short list of proven vulnerabilities instead of hundreds of potential false positives from pattern matching.
Yes, but point Strix at the specific service or subtree that matters (e.g., `./services/checkout`) rather than the whole repo. Use `--scope-mode diff --diff-base origin/main` to review only what a branch changed, which is faster and more focused.
Strix will still find issues via static analysis, but mark them as unconfirmed. Adding a running instance (via `-t http://host.docker.internal:PORT`) lets the agents validate exploitability against live behavior, which significantly improves result quality.
Use the **ci-security-scanning-with-strix** skill, which handles diff scoping, PR comments, and SARIF upload to GitHub code scanning. The managed platform can also review PRs directly via API.
Use **fix-security-vulnerabilities-with-strix** to patch the root cause (e.g., the shared authorization helper, not just one route), then re-run Strix to prove the exploit no longer works.
Full instructions (SKILL.md)
Source of truth, from usestrix/strix.
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
# 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:
- Add a running instance of the app.
-t ./ -t http://host.docker.internal:3000lets 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. - Scope the review. Point at the risky subtree and say what matters:
Tenancy model, trust boundaries, and which inputs are attacker-controlled are things the agents cannot infer reliably — tell them.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."
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.
Related skills
More from usestrix/strix and the wider catalog.

fix-security-vulnerabilities-with-strix
Fix security vulnerabilities from Strix pentests by triaging, patching root causes, and re-scanning to verify.

managed-pentesting-with-strix
Run managed pentests on Strix's infrastructure via CLI or REST API—no local Docker or LLM key needed.

owasp-top-10-testing
Test applications against OWASP Top 10:2025 and API Security Top 10 with autonomous exploitation agents.

penetration-testing-with-strix
Autonomous AI penetration testing that exploits and proves vulnerabilities with proof-of-concept exploits.

web-app-penetration-testing
Black-box penetration testing of web apps with autonomous agents that validate every finding with a working exploit.

valyu-best-practices
Complete Valyu API toolkit for real-time search, content extraction, and AI-powered research across web, academic, and financial sources.