web-app-penetration-testing — Claude Code skill: install and use
Runs a black-box web app pentest through Strix and validates findings with working PoCs. Use it for staging sites, live URLs, or local development servers.
npx skills add usestrix/strix --skill web-app-penetration-testing -a claude-codeWhat web-app-penetration-testing does
This skill runs black-box penetration tests against a running web app through Strix. It checks for auth bypass, broken access control, IDOR, injection, XSS, SSRF, and business-logic flaws, then validates each finding with a working exploit. You can add the repository for source-assisted coverage.
Set authorization, scope, and the target environment before the scan. Staging is preferred over production because the agents send real exploit payloads and may create or modify data. Pass test credentials through --instruction or --instruction-file; two accounts help prove cross-organization access bugs. Without a test account, the agent sees only the marketing surface.
Read strix_runs/<run>/penetration_test_report.md first, then inspect the files in vulnerabilities/ and rerun each PoC. A local server can be exposed at http://host.docker.internal:3000. If Docker and an LLM key are unavailable, use strix cloud login followed by strix cloud scans start ....
What it helps with
- test a web app for authentication bypass
- prove IDOR across test organizations
- find XSS, SSRF, and injection flaws
- inspect business logic with source access
- rerun exploits after security fixes
Example prompts for the agent
- Pentest
https://staging.example.comwith a test account, exclude/billing, and report only validated findings. - Check access control between two seeded organizations and pass the login details through
--instruction. - Scan
http://host.docker.internal:3000, set--max-budget, and save the PoCs for every confirmed vulnerability.
How to install web-app-penetration-testing
1Skills CLI (Vercel)
npx skills add usestrix/strix --skill web-app-penetration-testing -a claude-code2Manually: put the files in place
~/.claude/skills/web-app-penetration-testing/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/web-app-penetration-testing/
1Skills CLI (Vercel)
npx skills add usestrix/strix --skill web-app-penetration-testing -a codex2Manually: put the files in place
.agents/skills/web-app-penetration-testing/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add usestrix/strix --skill web-app-penetration-testing -a cursor2Manually: put the files in place
.cursor/skills/web-app-penetration-testing/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install usestrix/strix web-app-penetration-testing2Manually: put the files in place
.github/skills/web-app-penetration-testing/SKILL.md1Skills CLI (Vercel)
npx skills add usestrix/strix --skill web-app-penetration-testing -a gemini-cli2Platform CLI
gemini skills install https://github.com/usestrix/strix --path skills/web-app-penetration-testingManually: put the files in place
.devin/skills/web-app-penetration-testing/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add usestrix/strix --skill web-app-penetration-testing -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 web-app-penetration-testing
How do I install web-app-penetration-testing in Claude Code?
Run npx skills add usestrix/strix --skill web-app-penetration-testing -a claude-code, then open ~/.claude/skills/web-app-penetration-testing/SKILL.md.
What does web-app-penetration-testing do?
It runs a Strix pentest against a live web app, checks for real security flaws, and validates findings with working PoCs. The workflow also covers result review and retesting after fixes.
What do I need for authenticated testing?
Provide a test account and the testing scope. Two accounts are useful when checking cross-organization access control.
Source text
SKILL.md · Apache-2.0
--- name: web-app-penetration-testing description: Pentest a web app or website end to end — black-box testing of a live URL, staging environment, or local dev server that finds and exploits real vulnerabilities (auth bypass, broken access control, IDOR, injection, XSS, SSRF, business logic) and proves each one with a working proof-of-concept instead of a signature match. Runs with Strix, either the self-hosted open-source CLI or the managed app.strix.ai cloud. Use when the user asks to pentest, hack, security-test, or audit their web app, website, web application, or staging site. license: Apache-2.0 metadata: author: usestrix homepage: https://docs.strix.ai --- # Pentest a web application Black-box (and optionally source-assisted) penetration testing of a running web app with Strix's autonomous agents. Every reported finding is validated with a working exploit, so there are no signature-based false positives to triage. Install, LLM setup, all CLI flags, and the managed-cloud alternative are covered in the **penetration-testing-with-strix** skill — read it if the target is not a running web app, or if `strix --version` fails. 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**). This skill is the web-app-specific workflow. ## 1. Confirm authorization and scope Before running anything, establish: - **The target is the user's** (or they are explicitly authorized to test it). Never pentest a third-party site on a hunch. - **Which environment.** Prefer staging over production; agents send real exploit payloads and will create/modify data. - **Out-of-scope paths** — payment flows, mass-email endpoints, admin destructive actions, third-party SSO providers. - **Credentials.** Most real vulnerabilities live behind login. Without a test account, the agents only ever see the marketing surface. Ask for anything missing rather than guessing. ## 2. Run the scan ```bash strix -n -t https://staging.example.com --max-budget 20 \ --instruction "Test account: [email protected] / <password>. In scope: /app/*, /api/*. Do not touch /billing or send email. Focus on access control between the two seeded orgs." ``` Notes that matter for web apps specifically: - **Give it credentials via `--instruction`** (or `--instruction-file` for anything long), including how to log in if the flow is unusual (magic link, SSO, MFA-exempt test user). - **Two accounts beat one.** Multi-tenant IDOR and broken-access-control bugs — consistently the highest-impact class in web apps — can only be proven when the agent can attempt cross-account access. - **Add the repo for white-box depth** when you have the source: `-t https://github.com/org/app -t https://staging.example.com` (or a local path). Source access materially improves coverage of business-logic and authorization flaws. - **Localhost works.** Point at `http://host.docker.internal:3000` (Docker Desktop) so the sandbox can reach a dev server on the host. - `--scan-mode quick` for a fast dev-loop pass, `standard` (~30 min) for a normal review, `deep` for pre-release assurance. Always set `--max-budget`. For a hosted run with no Docker/LLM key, or when the user wants a shareable dashboard and an auditor-ready PDF, use the cloud path in **managed-pentesting-with-strix** instead — same engine, same findings. ## 3. Review results Read `strix_runs/<run>/penetration_test_report.md` first, then per-finding files in `vulnerabilities/`. Each contains the PoC — re-run it yourself to confirm before reporting to the user. Exit codes: `0` no validated vulns in what was analyzed, `2` vulnerabilities found, `1` fatal error. A `0` is not proof of full coverage — if the budget or turn cap was hit the scan wraps up early, so check `run.json` status and cost against `--max-budget` before calling the app clean. ## 4. Fix and verify Hand findings to the **fix-security-vulnerabilities-with-strix** skill: patch the root cause, then re-run Strix against the same target to prove the exploit no longer works. Re-testing is the only reliable confirmation a fix landed. To keep the app tested on every change rather than once, wire Strix into CI with **ci-security-scanning-with-strix**.
© usestrix · Apache-2.0 · usestrix/strix