ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Strix AI 渗透测试实战拆解:5分钟跑通自主代理找漏洞

Strix AI 渗透测试实战拆解:5分钟跑通自主代理找漏洞 Strix AI 渗透测试实战拆解5分钟跑通自主代理找漏洞【免费下载链接】strixOpen-source AI penetration testing tool to find and fix your app’s vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/strix/strix周五下午你刚提交了一个 PR但没人知道它会不会引入 SQL 注入。静态扫描器甩给你 20 条疑似其中 19 条是误报人工渗透测试呢排期要等三周。Strix 补的就是这个缺口——一款开源的 AI 渗透测试工具它拉起一支自主智能代理团队动态运行你的应用、找出漏洞并用能跑通的 PoC 逐条验证。 5分钟跑通第一次扫描前提只有两个本机 Docker 在运行加一个任意支持的 LLM API Key。pipx install strix-agent export STRIX_LLMopenrouter/z-ai/glm-5.3 export LLM_API_KEYyour-api-key strix --target ./your-app第一次运行会自动拉取沙箱镜像稍等片刻就会进入交互式 TUI实时看到代理在做什么。扫描结束后结果落在strix_runs/run-name目录里配置会自动存到~/.strix/cli-config.json下次不用重复设置。--target接受的东西比你想象的多本地目录、代码仓库 URL、运行中的 Web 应用、裸域名或 IP、OpenAPI/Swagger 规范文件甚至 Postman 集合。一条命令就能换目标。 核心机制拆解它到底在做什么为什么是多代理协作而不是一个大模型硬扛单模型安全知识的典型毛病是广而浅它知道 SQL 注入是什么但不知道 WAF 怎么绕、盲注怎么打。Strix 的做法是把渗透测试拆成一支分工明确的红队一个 root 代理当队长负责侦察全局、派发任务需要测认证时派一个专攻 JWT 的代理需要打 XSS 时再派一个各代理之间可以互相发消息、共享发现、把单个漏洞串成攻击链。协作的底层就几个工具定义在 strix/tools/agents_graph/root队长侦察 派任务 ├── agent-recon [completed] 攻击面测绘 ├── agent-auth [running] JWT / 会话测试 ├── agent-api [waiting] 等待 recon 的端点清单 └── agent-validation [running] 用 PoC 复核前几个发现队长手里是create_agent、send_message_to_agent、wait_for_agents子代理交差时会带上结构化的完成报告——发现了什么、提交了哪几份漏洞报告、还有哪些悬而未决。代理的装配逻辑在 strix/agents/factory.py 里可以看到完整实现。为什么把技能做成独立文件LLM 的通用知识不够用时Strix 的答案是技能系统每份技能就是一个带 YAML frontmatter 的 Markdown 文件写满某类漏洞的实战技法、可用 payload、绕过手段和验证方法。派生代理时按任务上下文挑选最多 5 份相关技能注入系统提示词通用模型当场变成专项专家。技能库在 strix/skills/共 70 多份分六类漏洞类SQL 注入、SSRF、竞态条件等 29 种、框架类FastAPI、Next.js、技术平台类Supabase、Firebase、协议类GraphQL、OAuth、侦察类以及教代理使用 nmap、nuclei、sqlmap 等沙箱内置工具的工具类。格式简单到你自己就能贡献一份新技能。沙箱动态验证的底座所有代理的动作都发生在隔离的 Docker 沙箱容器里默认镜像ghcr.io/usestrix/strix-sandbox:1.3.0。代理在里面有 shell、Python 执行环境、自动浏览器、基于 Caido 的 HTTP 拦截代理。这意味着报告里每条漏洞都附带真实跑通的 PoC 和复现步骤而不是疑似存在风险。 三个高频使用场景场景一PR 流水线里的快速扫描目标每个 PR 自动过一遍安全检查有高危就拦住合并。操作在 CI 里加一个 job关键点是无头模式-n和 quick 模式name: strix-penetration-test on: pull_request: jobs: security-scan: runs-on: ubuntu-latest steps: - uses: actions/checkoutv6 with: { fetch-depth: 0 } # diff 范围分析需要完整历史 - run: pipx install strix-agent - name: Run Strix env: STRIX_LLM: ${{ secrets.STRIX_LLM }} LLM_API_KEY: ${{ secrets.LLM_API_KEY }} run: strix -n -t ./ --scan-mode quick你会看到什么退出码 0 表示没发现问题退出码 2 表示找到了漏洞退出码 1 是执行错误。CI 的 PR 运行中quick 模式会自动把扫描范围收敛到本次改动的文件几分钟出结果。下一步把退出码接进质量门禁非 0 即失败GitLab、Jenkins、CircleCI 的接法在 docs/integrations/ci-cd.mdx 都有现成示例。场景二源码 线上应用的多目标白盒测试光测部署好的应用是黑盒光看代码又会漏掉运行时问题。Strix 支持一次挂多个目标strix -t https://git.example.com/org/repo \ -t https://your-app.example.com \ --instruction Perform authenticated testing using credentials: user:pass你会看到什么代理先用源码做静态分诊——哪些接口可疑、哪条路径值得动态验证——再把火力集中到最可能出问题的地方用真实请求逐条验证。灰盒测试的账号、凭证、关注点都能通过--instruction直接喂给它长指令可以放文件里用--instruction-file。下一步deep 模式下代理还会跑 semgrep、AST 结构搜索、密钥泄露和供应链检查再系统性验证头部候选项。这类全面审计适合放在发布前跑一轮 1 到 4 小时。场景三对着 API 规范精确开火爬站发现端点太慢Strix 支持直接把 OpenAPI 或 Postman 集合当目标strix --target ./openapi.yaml --target https://api.example.com你会看到什么代理按声明的端点逐个测试而不是靠爬虫碰运气每个端点的参数、认证、越权路径都在测试范围内。下一步扫完用strix view起本地仪表盘——发现列表、代理协作的实时地图、历史运行记录都在里面数据不出本机链接带 token别随便转发。⚙️ 什么时候需要调值得上心的配置项日常跑默认配置就够下面四个是真正会被你改到的配置项默认值何时改改了之后会发生什么--scan-modedeepPR 上想分钟级出结果quick分钟级、standard30 分钟到 1 小时、deep1-4 小时深度决定边缘用例和攻击链探索--max-turns500代理在循环打转烧 token单个代理到达上限被强制收尾临近时会收到分级收尾警告--max-budget-usd无限制给 LLM 成本兜底逼近上限时全体代理收到警告到顶后干净收尾报告照常产出STRIX_CONTEXT_AUTO_COMPACTtrue长扫描中代理上下文膨胀接近缓冲区时自动压缩历史保留最近上下文另外两个实用开关--resume run-name可以中断后从断点续跑完整恢复所有代理的会话历史--scope-mode diff --diff-base origin/main手动强制按改动文件圈定范围。三种模式的适用场景对照见 docs/usage/scan-modes.mdx。 踩坑与经验总结别对着没授权的目标跑因为它真的会打。Strix 对目标做的是主动攻击性测试未授权测试在多数司法辖区是违法的先用书面授权把范围圈清楚。如果 CI 里 diff 范围解析失败九成是 checkout 没拿全历史。补上fetch-depth: 0让 merge-base 比较能成立这是最容易被忽略的一行。别用太弱的模型跑 deep 扫描。官方明确给了推荐模型清单GLM、GPT-5.4、Claude 等漏洞发现的深度和误报率直接和模型能力挂钩。如果你有 ChatGPT 订阅试试strix auth login chatgpt。按订阅跑而不是按 token 计费长期扫描的成本结构完全不同。strix view的链接要当钥匙看。它绑定 127.0.0.1 并输出带 token 的访问链接token 本身就是对整次扫描结果的授权转发前想清楚对方该不该看。下次安全评审再被问你怎么保证上线前没有高危漏洞你可以把这条流水线指给对方看——退出码 2 的时候合并按钮是亮不了的。【免费下载链接】strixOpen-source AI penetration testing tool to find and fix your app’s vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/strix/strix创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表