Strix,融合源码理解与运行态验证的AI渗透测试框架

admin 2026-06-08 05:08:50 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: Strix是一个融合源码理解与运行态验证的AI渗透测试框架,通过AI代理协同工作模拟人类安全专家思维,在Docker沙箱中自动执行白盒渗透测试。其核心创新在于结合SAST和DAST优势,利用LLM认知层进行策略规划,通过ReAct循环实现漏洞发现、验证和PoC生成,显著降低误报率。框架支持多目标测试并提供详细漏洞报告与修复建议,可集成到CI/CD流程中。 综合评分: 92 文章分类: 渗透测试,AI安全,安全工具,漏洞分析,红队


cover_image

Strix,融合源码理解与运行态验证的 AI 渗透测试框架

原创

孙志敏 孙志敏

AI与安全

2026年1月11日 14:19 北京

在小说阅读器读本章

去阅读

在传统的供应链安全中,有两个重要工具:静态扫描工具(SAST),直接扫描代码,找代码的未知漏洞,动态扫描工具(DAST),如OWASP ZAP,Nessus等,一般用于发现系统中存在的已知漏洞。两者结合,解决软件的漏洞问题。但这两个工具都有些问题无法解决,包括:

1.SAST一般为各种规则为主,误报率高,无法在实际环境中确认漏洞是否真正起效。

2.DAST 主要依赖预定义攻击模式,对业务逻辑、权限关系和代码层缺陷的理解能力有限,因此难以系统性验证 SAST 发现的问题。

解决这个问题的办法就是渗透测试,渗透测试又分为黑盒和白盒,黑盒是指不看源代码,直接寻找漏洞,效率非常低,白盒是指在分析源代码的基础上,通过实际运行发现漏洞,这个效率更高。研发内部的渗透测试一般使用白盒,效率比较高。但即使如此,人工的渗透测试仍然是成本非常高的活动,很多时候被迫忽略。

看了很多的AI代码安全工具及渗透测试工具,大部分仍然集中在黑盒或白盒的层面,而Strix,则是把黑盒和白盒结合在一起的AI工具(第一个?),这是个非常好的创新。

01

Strix介绍

strix的安装和使用非常方便。

安装

#Install Strixcurl -sSL https://strix.ai/install | bash#Or via pipxpipx install strix-agent

扫描代码或应用

# Scan a local codebasestrix --target ./app-directory# Security review of a GitHub repositorystrix --target https://github.com/org/repo# Black-box web application assessmentstrix --target https://your-app.com

最重要的是,你可以同时把代码和应用送给它,这就是标准的白盒渗透模式

# Multi-target testing (source  code + deployed app)strix -t https://github.com/org/app -t https://your-app.com

启动时,Strix 会在 Docker 容器内创建一个沙箱。所有程序都在隔离环境中运行,因此不会有任何危险程序泄漏。

在沙箱环境中,多个AI代理开始协同工作。它们扫描你的路由,发送HTTP请求,注入有效载荷,并解读响应。

如果漏洞看起来真实存在,Strix 会更进一步。它会创建一个可用的漏洞利用程序,安全地运行它,并确认攻击是否真的有效。

输出结果将保存在本地文件夹中,其中包含详细日志、概念验证和建议的修复方案。

这个思路非常好,它只报真漏洞,最大化的降低误报的处理成本。

让我们来看几个例子,了解一下 Strix 的实际应用。

1)不安全的直接对象引用 (IDOR)

想象一下,有一个 API 可以根据用户 ID 返回用户发票。

GET&nbsp;/invoices/123Authorization: Bearer&nbsp;<token>

该端点通过数字 ID 查找发票并返回记录,而不验证请求者是否拥有该记录。

运行 Strix 时,侦察代理会映射路由,认证代理会检查令牌行为。这些代理会自动尝试访问相邻的 ID,并重用其他测试帐户的令牌。

Strix 会发送一个请求,例如GET /invoices/124使用用户 A 的令牌,并观察响应。如果 API 返回的发票属于用户 B,则 Strix 确认 IDOR。

该报告包括成功的确切请求、受影响的资源 ID 以及建议的修复方案,例如强制执行服务器端所有权检查并将 ID 映射到用户范围,而不是接受原始数字标识符。

2)通过不安全反序列化实现远程代码执行 (RCE)

考虑一个接受序列化作业负载以进行后台处理的微服务。

@app.post("/jobs")def&nbsp;create_job(payload:&nbsp;bytes):&nbsp; &nbsp; job = pickle.loads(payload)&nbsp; &nbsp; job.run()&nbsp; &nbsp;&nbsp;return&nbsp;{"status":&nbsp;"queued"}

如果服务盲目地反序列化并执行来自不受信任输入的对象,攻击者可以发送精心构造的对象,在服务器上运行代码。

Strix 在安全的 Docker 沙箱中运行该服务,代理程序会构建一个无害的测试载荷。反序列化后,它会触发沙箱内的操作。

如果服务执行了该对象,Strix 会记录结果,并保存序列化的概念验证及其生成的输出。报告会显示有效负载和输出,以便您自行查看问题所在。

02

strix的架构及原理

strix架构图

架构设计理念

Strix是一个AI驱动的渗透测试编排框架,其核心设计理念是通过AI智能代理模拟人类安全专家的思维模式,实现自主化的安全测试。与传统的工具集成平台不同,Strix本质上是一个认知型编排系统,它不是简单地调用预设工具,而是像真正的黑客一样思考、规划和行动。

三层架构体系

  1. LLM认知层 系统顶层集成了多种大语言模型(OpenAI GPT、Anthropic Claude、本地LLM等),为AI代理提供推理和决策的认知能力。这一层是整个系统的”大脑”,赋予代理理解上下文、分析问题和制定策略的能力。
  2. AI智能编排层(核心) 这是Strix的核心引擎,包含四个关键组件:
  • 主控管理代理:负责高层战略规划,将复杂的渗透测试任务分解为可执行的子任务
  • ReAct认知循环:实现”推理→行动→观察→思考”的迭代过程,使系统能够根据实时反馈动态调整策略
  • 专门工作代理组:包括侦察、扫描、利用、验证和报告等专门代理,每个代理负责特定领域的任务
  • 多代理协作机制:确保各代理之间的信息共享和策略协同,构建完整的攻击链
  1. Docker沙箱执行层

 所有实际的测试操作都在隔离的Docker容器中执行,确保安全性。该层提供六大内置核心能力:HTTP代理引擎用于流量操控、浏览器自动化进行客户端测试、系统Shell访问执行命令级操作、Python运行时开发自定义利用、攻击知识库提供模式参考、智能报告器生成结构化输出。

运行流程

测试启动后,用户通过CLI、CI/CD等提交目标(代码库、Web应用或API)。主控管理代理接收任务,利用LLM的认知能力分析目标特征并制定初始策略。随后,通过ReAct循环,系统开始迭代式探索:先进行侦察收集信息,发现潜在攻击面后分配专门代理深入测试,发现漏洞后立即在沙箱中尝试利用并验证。

整个过程中,AI代理会根据实时反馈不断调整策略,就像经验丰富的渗透测试专家一样灵活应对。最终,系统输出包含漏洞详情、PoC验证代码、CVSS评分和修复建议的完整报告,并可自动生成代码补丁或阻止CI/CD流程。

这种架构设计使Strix能够在保持高度自动化的同时,提供接近人工渗透测试的智能性和准确性,将传统需要数周的测试工作压缩到几小时内完成。

03

Strix 的思考方式

在幕后,Strix 使用了一种叫做协调图的技术。它是一个由人工智能代理组成的网络,这些代理可以共享数据和任务。

一个代理可能负责映射端点,另一个代理可能负责生成有效载荷,而第三个代理则负责记录成功的攻击。

这种协作方式使 Strix 更高效、更灵活。代理可以将大型任务分配到应用程序的不同区域,共享结果并不断提高准确性。

它感觉不像是一个单一的工具,而更像是一个了解你应用程序结构的专业黑客小团队。

Strix 的设计旨在自然融入开发人员的工作流程。它通过一个简单的命令行界面运行。

报告以纯文本文件形式存储,您可以使用任何编辑器打开。无需学习复杂的仪表盘,也无需安装任何大型代理程序。

您可以扫描本地项目目录、GitHub 代码库或在线 Web 应用。您甚至可以向 Strix 发出特定指令。例如,您可以说“重点关注身份验证和权限提升”,人工智能就会优先处理这些方面。

结果会保存在指定文件夹中agent_runs。每份报告都包含清晰的描述、已确认的漏洞利用方法以及分步修复建议。您可以将这些结果直接推送到您的问题跟踪系统或持续集成 (CI) 流水线中。

04

小结

从目前的情况看,Strix能够分析源码,并结合应用进行渗透测试。它不是做一个“全自动漏洞扫描器”,而是做一个“会思考、会验证、会放弃错误假设的 AI 渗透测试员”,它追求 “发现一个 → 验证一个 → 只报真漏洞”。

Strix 本质上不是 SAST + DAST 的拼接,而是用 SAST 线索,驱动 DAST 行为,由 LLM 判断“值不值得继续验证”。

这个动作,就是现在研发白盒渗透测试的方法和思路,补齐了代码测试最大的一块短板,价值巨大。

附:Strix开源地址

https://github.com/usestrix/strix

END

推荐阅读

要测试AI的代码分析能力,可以用的Benchmark

HexStrike代理:让大模型继承专家经验,显著提升渗透测试效率


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:AI与安全 孙志敏 孙志敏《Strix,融合源码理解与运行态验证的 AI 渗透测试框架》

评论:0   参与:  0