关于 web-app-penetration-testing
这项 Strix 技能用于对运行中的 Web 应用进行黑盒渗透测试,也可结合源代码分析,面向经授权的安全测试。它强调以可执行漏洞利用验证报告的问题,并指导设定范围及检查扫描是否完整。
主要功能
- 01Web 应用黑盒测试
- 02可选的源代码辅助扫描
- 03凭据与测试范围指引
- 04以漏洞利用验证报告问题
- 05扫描完成度与结果审查
适用场景
- 01测试获准检查的预发布应用
- 02使用测试账号检查跨账号访问
- 03重新测试漏洞修复效果
- 04检查本地开发服务器
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ usestrix/ strix --skill web-app-penetration-testing安装后在 Claude Code 中输入/web-app-penetration-testing确认已加载。
详细介绍
对 Web 应用进行渗透测试
使用 Strix 的自主 Agent 对正在运行的 Web 应用进行黑盒(也可选源代码辅助)渗透测试。每项报告的发现都会通过可用的漏洞利用进行验证,因此无需筛查基于特征匹配的误报。
penetration-testing-with-strix 技能涵盖安装、LLM 设置、所有 CLI 标志以及托管云替代方案——如果目标不是正在运行的 Web 应用,或 strix --version 运行失败,请阅读该技能。如果要在没有 Docker 和 LLM 密钥的情况下运行,同一个二进制文件也可以驱动托管平台:先运行 strix cloud login,再运行 strix cloud scans start ...(详情请见 managed-pentesting-with-strix)。本技能介绍的是 Web 应用专属工作流。
1. 确认授权和范围
运行任何操作前,请确认:
- 目标属于用户(或用户已明确获得测试授权)。切勿凭猜测对第三方网站进行渗透测试。
- 测试环境。 优先选择预发布环境,而非生产环境;Agent 会发送真实的漏洞利用载荷,并创建或修改数据。
- 范围外路径——支付流程、批量邮件端点、管理员破坏性操作、第三方 SSO 提供商。
- 凭据。 大多数真实漏洞都存在于登录后区域。没有测试账户,Agent 只能看到营销页面。
缺少任何信息时,请先询问,不要猜测。
2. 运行扫描
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."
Web 应用测试中需要特别注意以下事项:
- 通过
--instruction提供凭据(较长的内容使用--instruction-file),并说明如何登录,尤其是登录流程不常见时(例如魔法链接、SSO、免 MFA 的测试用户)。 - 两个账户胜过一个。 多租户 IDOR 和访问控制失效问题一直是 Web 应用中影响最大的漏洞类型之一;只有 Agent 能尝试跨账户访问时,才能验证此类问题。
- 有源码时,添加代码库以进行白盒深度测试:
-t https://github.com/org/app -t https://staging.example.com(或本地路径)。源码访问可显著提升对业务逻辑和授权缺陷的覆盖率。 - 支持 localhost。 指向
http://host.docker.internal:3000(Docker Desktop),让沙盒能够访问主机上的开发服务器。 - 开发循环中快速检查可使用
--scan-mode quick,常规审查可使用standard(约 30 分钟),发布前保障可使用deep。务必设置--max-budget。
如果要在没有 Docker 或 LLM 密钥的情况下进行托管运行,或者用户需要可分享的仪表板和可供审计的 PDF,请改用 managed-pentesting-with-strix 中的云端流程——引擎和发现结果相同。
3. 审查结果
先阅读 strix_runs/<run>/penetration_test_report.md,再查看 vulnerabilities/ 中逐项发现的文件。每个文件都包含 PoC——向用户报告前,请自行重新运行以确认。
退出代码:0 表示已分析内容中没有经过验证的漏洞,2 表示发现漏洞,1 表示致命错误。0 并不能证明覆盖完整——如果达到预算或轮次上限,扫描会提前结束,因此在确认应用安全前,请检查 run.json 中的状态和成本是否达到 --max-budget。
4. 修复并验证
将发现的问题交由 fix-security-vulnerabilities-with-strix 技能处理:修复根本原因,然后针对同一目标重新运行 Strix,以证明漏洞利用已无法奏效。重新测试是确认修复已生效的唯一可靠方式。
如果希望每次变更时都测试应用,而不是只测一次,可使用 ci-security-scanning-with-strix 将 Strix 集成到 CI 中。