Strix 是一个开源 AI 渗透测试工具。它的定位不是传统静态扫描器,而是一组可以动态运行代码、探索攻击面、尝试利用并验证漏洞的 AI pentesting agents。项目 README 对它的描述很直接:用类似真实黑客的方式发现并修复应用漏洞。
这类工具最适合开发团队、安全团队和 DevSecOps 流程使用:在本地代码库、GitHub 仓库、Web 应用或 CI/CD 中运行测试,尽早发现高风险问题,并把漏洞复现、修复建议甚至补丁生成串起来。
需要先强调边界:Strix 只能用于你拥有或明确获得授权的应用、仓库和域名。不要把它用于未授权目标。渗透测试工具的价值在于帮助防御和修复,而不是绕过授权。
Strix 解决什么问题
传统安全检测常见两类痛点:静态扫描误报多,人工渗透测试周期长。Strix 想做的是把 AI Agent、动态执行环境和渗透测试工具链结合起来,让安全检查更接近真实攻击路径。
它的核心能力包括:
- 内置渗透测试工具链:侦察、利用、验证等步骤开箱可用。
- 多 Agent 编排:多个 AI 渗透测试 Agent 可以分工协作。
- 真实漏洞验证:强调可运行的 PoC,而不是只给静态告警。
- 面向开发者的 CLI:输出可执行的发现、复现步骤和修复建议。
- 自动修复和报告:生成补丁以及适合合规场景的渗透测试报告。
换句话说,Strix 不只是告诉你“这里可能有问题”,而是尽量回答三个更关键的问题:问题能不能被利用、怎么复现、应该怎么修。
适用场景
Strix 的 README 给出的典型场景包括:
- Application Security Testing:检测并验证应用中的关键漏洞。
- Rapid Penetration Testing:把渗透测试周期从几周压缩到更短时间,并生成报告。
- Bug Bounty Automation:辅助漏洞赏金研究,生成 PoC 和复现材料。
- CI/CD Integration:在 pull request 或部署流水线中运行安全测试,阻止高风险代码进入生产环境。
如果团队已经有 SAST、依赖扫描和容器扫描,Strix 可以作为动态验证层补充进来。它更适合发现“实际能打通”的路径,例如访问控制绕过、业务逻辑缺陷、身份认证问题、XSS、SSRF、SQL 注入、API 滥用等。
安装前准备
运行 Strix 前需要准备两类东西:
- Docker,并确保 Docker 正在运行。
- 一个受支持 LLM Provider 的 API Key,例如 OpenAI、Anthropic、Google 等。
第一次运行时,Strix 会自动拉取 sandbox Docker image。扫描结果会保存到:
|
|
这意味着它不是单纯读取文件后立刻输出结论,而是会在沙箱环境里做动态测试和验证。生产项目使用前,建议先在测试仓库或 staging 环境里跑一遍,确认范围、成本、耗时和输出格式。
安装与首次扫描
README 给出的安装方式是直接执行官方安装脚本:
|
|
安装后配置 AI Provider。示例使用 OpenAI:
|
|
然后对本地应用目录运行第一次安全评估:
|
|
如果你更关注一个远程仓库,也可以把目标换成 GitHub URL:
|
|
如果要做黑盒 Web 应用测试,可以直接指定 URL:
|
|
这三个入口分别对应本地代码库、远程代码仓库和线上应用。实际使用时,不要一次把范围放得过大。先从单个服务、单个仓库或 staging 域名开始,更容易控制测试噪音和成本。
进阶扫描方式
Strix 支持给 Agent 添加额外指令,适合灰盒测试、带账号测试、业务逻辑测试和限定范围测试。
例如带认证信息做灰盒测试:
|
|
同时测试源码和部署后的应用:
|
|
对本地仓库做源码感知扫描:
|
|
聚焦业务逻辑缺陷和 IDOR:
|
|
如果测试范围、规则、排除项比较复杂,可以放到文件里:
|
|
在 PR 场景中,可以强制只看某个 base branch 的 diff 范围:
|
|
这些参数很重要。安全工具越强,越需要明确 scope。建议在 instruction.md 中写清楚允许测试的域名、路径、账号、禁止行为、速率限制、测试窗口和联系人。
Headless 模式
服务器、CI/CD 和自动化任务通常不需要交互式 UI。Strix 可以用 -n/--non-interactive 启动 headless 模式:
|
|
在这个模式下,CLI 会实时打印漏洞发现,并在退出前输出最终报告。如果发现漏洞,会以非零退出码结束。这对 CI/CD 很有用,因为流水线可以据此阻止合并或发布。
GitHub Actions 集成
Strix 可以放进 GitHub Actions,在 pull request 上运行轻量安全测试。README 示例大致如下:
|
|
这里有两个细节:
fetch-depth: 0很重要,PR diff 范围分析需要完整历史。- API Key 应放在 GitHub Secrets 中,不要写进仓库。
README 还提醒,在 CI 的 pull request 运行中,Strix 会自动把 quick review 范围限制到变更文件。如果 diff scope 无法解析,要么确保 checkout 使用完整历史,要么显式传入 --diff-base。
配置项
常用环境变量如下:
|
|
Strix 会把配置保存到:
|
|
这样后续运行时不需要每次重新输入。README 推荐的模型包括:
openai/gpt-5.4anthropic/claude-sonnet-4-6vertex_ai/gemini-3-pro-preview
实际选择模型时,可以按任务类型取舍:quick scan 更看重速度和成本;完整渗透测试更看重推理能力、上下文处理和工具调用稳定性。
能检测哪些漏洞
Strix 覆盖 OWASP Top 10 以及更广泛的应用安全问题。README 中列出的类型包括:
- Broken Access Control:IDOR、权限提升、认证绕过。
- Injection Attacks:SQL 注入、NoSQL 注入、OS 命令注入、SSTI。
- Server-Side Vulnerabilities:SSRF、XXE、不安全反序列化、RCE。
- Client-Side Attacks:存储型/反射型/DOM XSS、prototype pollution、CSRF。
- Business Logic Flaws:竞态条件、支付操纵、流程绕过。
- Authentication & Session:JWT 攻击、session fixation、credential stuffing。
- Infrastructure & Cloud:错误配置、暴露服务、云安全问题。
- API Security:认证破坏、mass assignment、限流绕过。
这些类别说明 Strix 的目标不是只做代码风格检查,而是覆盖从源代码到运行时行为、从 API 到业务逻辑的安全测试。
Agentic Pentesting Tools
Strix Agent 配备了一组进攻安全工具,类似专业渗透测试人员会用的工具链:
- HTTP Interception Proxy:通过 Caido 做请求/响应拦截、修改和分析。
- Browser Exploitation:自动化浏览器,用于测试 XSS、CSRF、clickjacking、认证绕过等流程。
- Shell & Command Execution:交互式终端,用于漏洞利用开发和后渗透阶段。
- Custom Exploit Runtime:Python 沙箱,用于编写和验证 PoC。
- Reconnaissance & OSINT:自动化攻击面映射、子域枚举和指纹识别。
- Static & Dynamic Code Analysis:结合 SAST 和 DAST。
- Vulnerability Knowledge Base:结构化漏洞发现,包含 CVSS 和 OWASP 分类。
这也是它和普通扫描器的差异:Agent 不只是匹配规则,还会尝试组合工具、验证假设、生成复现路径。
Strix Platform
除了开源 CLI,Strix 还提供 Strix Platform。README 中提到平台版可以连接仓库和域名,在几分钟内启动 pentest,并提供:
- 带 PoC 的已验证漏洞发现。
- 一键 autofix,把 AI 生成的安全补丁变成可合并 PR。
- Continuous pentesting,跟随部署持续扫描。
- DevSecOps 集成:GitHub、GitLab、Bitbucket、Slack、Jira、Linear、CI/CD。
- 持续学习:基于历史发现适配代码库,逐步减少误报。
如果只是想在本地验证工具,CLI 已经足够;如果团队需要持续扫描、协作、报告和企业集成,平台版更适合。
企业版能力
README 还提到企业级渗透测试能力,包括:
- SSO:SAML/OIDC。
- 合规报告:SOC 2、ISO 27001、PCI DSS 等。
- 专属支持和 SLA。
- 自定义部署:VPC/self-hosted。
- BYOK 模型支持。
- 针对企业环境定制的 AI pentesting agents。
这部分适合有合规、审计、内部安全流程和数据边界要求的团队。
使用建议
第一,把 Strix 放在授权和隔离环境中使用。先跑本地仓库或 staging 环境,不要直接对生产系统做高强度测试。
第二,给测试写清楚 scope。建议维护一个 instruction.md,记录允许测试的路径、账号、排除接口、禁止破坏性操作和测试窗口。
第三,把它接进 CI/CD 时先使用 quick scan。等团队理解输出、误报率和成本后,再逐步扩大测试范围。
第四,不要把 AI 输出当成最终安全结论。即使 Strix 强调真实 PoC,也仍然应该由安全工程师或开发负责人复核,确认风险、影响面和修复方案。
第五,密钥管理要谨慎。LLM_API_KEY、PERPLEXITY_API_KEY、测试账号密码都应该放在安全的 secret 管理系统中,不要写进命令历史、日志或仓库。
Strix 类 AI 渗透测试工具的授权与合规边界
AI Agent 自动化渗透测试合法吗?最短的回答是:合法与否不取决于它是不是 AI,也不取决于工具是不是开源,而取决于你有没有授权、有没有越界、有没有造成损害,以及你如何处理发现的漏洞和数据。
像 Strix 这类 AI 渗透测试工具,把 Agent、动态执行、漏洞验证、报告和修复建议连在一起,确实能提高安全测试效率。但能力越强,边界越要写清楚。传统扫描器越界已经有风险,自动化 Agent 如果能持续探索、调用工具、生成 PoC、访问页面和整理结果,风险会更高。
这篇不是法律意见,只做安全合规层面的通用梳理。正式渗透测试、漏洞赏金、跨境测试、客户系统测试和可能影响生产环境的测试,都应该以合同、平台规则、当地法律和法务意见为准。
先说结论
AI Agent 自动化渗透测试通常可以分成三类:
| 场景 | 风险判断 |
|---|---|
| 测自己的本地代码、测试环境、授权仓库 | 通常风险较低,但仍要控制数据和影响 |
| 按合同测试客户系统、公司内网、指定域名 | 需要明确授权、范围、时间窗口和交付方式 |
| 扫描陌生网站、云资产、第三方 API、公共目标 | 高风险,不能因为“只是测试”就默认合法 |
判断是否合法,先问六个问题:
- 目标系统是谁的?
- 授权文件有没有写清楚?
- 测试范围是否包括这个域名、接口、账号和环境?
- Agent 会不会访问、下载、修改或破坏数据?
- 发现漏洞后如何报告和保密?
- 是否保留了日志、审批和复核记录?
如果这些问题答不清楚,就不要让 AI Agent 自动跑。
为什么 AI Agent 让合规问题更敏感
普通安全扫描器通常按规则发请求,输出结果比较可预测。AI Agent 则更像一个会连续决策的测试助手。它可能会:
- 根据页面和接口继续探索;
- 尝试组合多个弱点;
- 生成验证思路;
- 调用浏览器、代理、终端或脚本;
- 保存过程日志和报告;
- 在 CI/CD 中自动阻断发布。
这些能力用于自有系统和授权测试时很有价值;用于未授权目标时,风险也会被放大。因为你很难用“我只是点了一下工具”来解释 Agent 后续做过的所有动作。
合规上真正关心的不是“是不是 AI”,而是访问是否被允许、动作是否超范围、影响是否可控、数据是否被妥善处理。
授权是第一条线
渗透测试的基本前提是授权。授权不能只停留在口头上,最好有可保存、可审计的书面材料。
一份可用的授权至少应该写清楚:
- 被测试的主体;
- 允许测试的域名、IP、仓库、应用、API;
- 不允许测试的系统和接口;
- 测试时间窗口;
- 测试账号和权限;
- 是否允许自动化扫描;
- 是否允许验证漏洞;
- 是否允许访问真实数据;
- 联系人和紧急停止方式;
- 报告格式和保密要求。
如果你用 Strix 这类 Agent 工具,还应该额外写清:
- 是否允许 Agent 动态探索;
- 是否允许生成 PoC;
- 是否允许在 CI/CD 自动运行;
- 是否允许把日志、代码片段或请求内容发送给外部模型;
- 模型服务商、数据保留和密钥管理要求。
没有这些边界,工具越自动化,越容易变成“授权范围不明的攻击流量”。
不是所有“公开目标”都能测
很多误区来自一句话:这个网站是公开的,所以我可以测。
公开访问不等于授权测试。你可以浏览一个网站,不代表可以用自动化工具持续探测它的接口、认证流程、业务逻辑和漏洞路径。
尤其是下面几类目标,更不能默认测试:
- 政府、医院、学校、金融机构;
- 关键基础设施;
- 第三方云服务和 SaaS;
- 竞争对手网站;
- 用户数据密集型平台;
- 没有漏洞披露政策的公司系统;
- 平台规则明确禁止自动化测试的站点。
漏洞赏金和 VDP 也不是无限授权。它们通常会写明 scope、禁止行为、报告方式、测试强度和数据处理要求。只要越过这些规则,就可能从“善意研究”变成“未授权访问”。
善意安全研究也有边界
美国司法部的 CFAA charging policy 提到,检方应在证据显示行为属于善意安全研究时避免起诉;其中“善意安全研究”强调为了测试、调查或修正安全缺陷,并以避免伤害个人或公众的方式进行,所得信息主要用于促进相关设备、系统或在线服务的安全。
这段政策对理解边界有帮助,但不能简单理解成“只要说自己是研究就安全”。几个点很关键:
- 目的要是安全测试、调查或修正;
- 行为方式要避免造成伤害;
- 信息使用要服务于安全改进;
- 不能以勒索、胁迫、出售漏洞或扩大损害为目的;
- 具体案件仍取决于事实、证据、司法辖区和执法判断。
对中国、欧盟、英国、新加坡、日本等不同司法辖区,规则和执法口径也会不同。跨境测试、云资源测试、客户系统测试,不能只按一个国家的政策理解。
哪些行为最容易越界
即使一开始是安全测试,下面这些行为也容易把风险拉高。
1. 没有授权就扫描
对陌生目标运行自动化 Agent,是最典型的高风险动作。不要因为工具能跑、目标能访问、接口没有登录,就默认自己可以测试。
2. 超出 scope
授权只写了 staging.example.com,Agent 却继续探索到生产域名、第三方支付、供应商后台或员工系统,这就可能越界。
AI Agent 很容易“顺着线索走”。因此 scope 不能只写给人看,也要转成工具的限制条件。
3. 访问真实用户数据
渗透测试不应该为了证明漏洞存在而读取、下载、截屏或保存大量真实用户数据。能用最小证据证明影响,就不要扩大访问。
4. 做破坏性验证
会导致数据删除、服务中断、费用异常、账号锁定、批量邮件发送、支付扣款、库存变化的测试,都需要单独授权和隔离环境。
5. 公开披露过早
发现漏洞后,直接发社交媒体、博客、短视频或论坛,很容易造成二次伤害。合理做法是按漏洞披露政策或合同渠道报告,给对方修复窗口。
6. 用漏洞索要报酬
如果不在漏洞赏金平台或约定机制内,拿漏洞结果要求付款、威胁公开、暗示不付费就扩散,可能被理解为勒索或胁迫。
企业内部怎么安全使用 Strix 类工具
企业使用 AI Agent 做自动化渗透测试,建议从低风险场景开始。
优先顺序可以是:
- 本地代码库;
- 专门搭建的测试环境;
- staging 环境;
- PR 级 quick scan;
- 受控时间窗口内的生产只读验证;
- 正式渗透测试项目。
不要第一天就把 Agent 接到生产全站扫描。先让团队理解它会产生什么流量、读取哪些文件、调用哪些模型、生成哪些报告、误报率怎样,再逐步扩大范围。
一份授权清单
在启动 AI Agent 渗透测试前,可以用下面的清单过一遍。
| 检查项 | 要确认什么 |
|---|---|
| 目标范围 | 域名、IP、仓库、API、账号是否写清楚 |
| 禁止范围 | 第三方服务、支付、短信、邮件、生产数据是否排除 |
| 测试强度 | 并发、速率、时间窗口、扫描深度是否限制 |
| 数据边界 | 是否允许读取真实数据,能保存什么证据 |
| 工具边界 | Agent 能否联网、能否执行命令、能否调用外部模型 |
| 密钥管理 | API key、测试账号、Cookie 是否放在安全位置 |
| 日志记录 | 请求、输出、报告、审批是否可追溯 |
| 应急停止 | 谁能叫停,如何联系,如何回滚 |
| 漏洞披露 | 报告给谁,多久响应,是否允许公开 |
| 人工复核 | AI 发现是否由安全或开发负责人确认 |
这张表不复杂,但能挡住很多“以为可以”的越界测试。
给 Agent 的合规提示词怎么写
如果工具支持 instruction 文件,不要只写“帮我找漏洞”。更合适的是把授权边界写进去。
可以写成这样:
|
|
这类提示词不能替代技术限制,但能让 Agent 的行为更接近授权文件。更稳的做法是同时在网络、账号、环境和工具层做限制,而不是只靠提示词。
CI/CD 自动化也要有边界
把 AI Agent 渗透测试接进 CI/CD,很适合做 PR 安全检查。但 CI/CD 场景也有几个注意点:
- 默认只扫当前变更或测试环境;
- 不要在 PR 中暴露密钥;
- 不要把完整请求、用户数据或代码片段发到不受控位置;
- 对高风险结论先人工复核;
- 失败策略要清楚:是阻断合并,还是只生成报告;
- 第三方贡献者提交 PR 时,要限制 secrets 和工具权限。
如果测试报告进入 Jira、Slack、邮件或工单系统,也要控制可见范围。漏洞详情本身就是敏感信息。
个人研究者应该怎么做
个人研究者使用 AI Agent 做安全研究,更要保守。
建议遵循这几条:
- 优先测自己的项目、靶场、CTF、实验环境;
- 参与漏洞赏金前仔细读 scope;
- 只使用平台允许的测试方式;
- 不做破坏性验证;
- 不下载真实用户数据;
- 发现漏洞后按平台或 VDP 报告;
- 保留最小证据,不扩大影响;
- 不要用“AI 自动跑的”作为免责理由。
如果目标没有漏洞披露政策,也没有 bug bounty,通常不应主动进行自动化渗透测试。可以选择联系对方申请授权,或者只做被动公开信息分析。
合法不等于一定应该做
有些测试在合同上可能被允许,但仍然不适合直接做。例如:
- 生产高峰期跑高强度扫描;
- 对客户真实数据做验证;
- 在未通知运维和客服的情况下触发告警;
- 在没有回滚方案时测试破坏性路径;
- 让外部模型处理敏感代码和请求内容。
合规不是只问“会不会违法”,还要问:
- 会不会影响用户?
- 会不会引发事故?
- 会不会泄露数据?
- 会不会违反客户合同?
- 会不会让团队无法解释测试过程?
AI Agent 越自动化,越需要把这些问题提前写进流程。
总结
Strix 的特点是把 AI Agent、渗透测试工具链、PoC 验证和开发者工作流连在一起。它适合用来补足传统扫描器的盲区,尤其是动态验证、业务逻辑和 CI/CD 阶段的快速安全反馈。
它也不是“自动替代安全团队”的工具。更合理的使用方式,是把 Strix 当作一个高效率的 AI 安全测试助手:帮你更快发现可验证的问题,生成复现材料和修复建议,再由团队完成风险判断、代码审查和正式发布。