用 AI 扫 AI:一个把"证据链"当底线的 Agent 代码安全扫描器

简介: agent-security-scanner 是一款面向 AI 时代 Agent 应用的安全扫描器,首创“AI 提名 + 确定性终审”双通道架构:大模型负责语义理解与漏洞线索提名,独立引擎基于完整证据链验证攻击路径。专注检测多 Agent 权限拓扑、跨文件数据流、Web 权限一致性等传统工具盲区,每条告警附可复现的入口-链路-修复证据,拒绝幻觉与误报。开源、可信、可审计。(239字)

当越来越多的业务逻辑交给 Agent 执行、越来越多的代码由 AI 生成,一个新问题被推到台前:谁来审计 Agent 本身?

我在业余时间开发并开源了 agent-security-scanner —— 一个 结合llm的代码设计的安全扫描器。它不追求"报得越多越好",而是回答一个更朴素的问题:**扫描器报出的每一条漏洞,能不能拿出完整证据?
产品纯个人思考独立制作,大佬轻喷,如有讨论下方有联系方式。

3e50d8111e68a4f87af23706ab92ed92.png


一、为什么做:Agent 代码正处在安全真空地带

传统工具看不见 Agent 的攻击面。

Agent 应用 = 大模型 + 工具调用 + 权限体系 + 多智能体协作。传统静态扫描擅长的判断是"这一行调了危险 API",但 Agent 时代真正的风险藏在链路和关系里:外部输入怎么一路流进 eval、低权限 Agent 怎么借高权限 Agent 的手干活、一句藏在网页里的指令怎么劫持 Agent 的目标。这些是数据流问题和拓扑问题,逐行扫描天然看不见。

AI 生成的代码,漏洞密度更高。

多家机构的开发者调查显示,全球 40% 以上的新代码已有 AI 参与;未经安全约束的 AI 生成代码,初始漏洞密度显著更高。AI 代码的问题恰恰是"单点看着都对,链路上处处漏风"——对这类漏洞,规则引擎只能给出高误报加深层漏检。

纯 LLM 审查不可信。

那把代码直接丢给大模型问"有没有漏洞"呢?会幻觉、不可复现、说不出依据。安全报告的第一属性是可信:同一段代码这轮报 3 条、下轮报 7 条,每条都"可能是真的"——这样的报告没法用,更进不了审计。

二、核心架构:双通道协同——AI 提名,证据拍板

整个引擎被拆成两个职责清晰的部分,外加一个不丢数据的闭环:

语义提名通道(管召回)。 像一位资深安全工程师那样通读整个仓库:理解业务语义、追踪跨文件数据流、识别 Agent 之间的协作关系,把"疑似漏洞 + 链路线索"提名出来。它不负责下结论——大模型的不确定性被有意隔离在这一环,且全部调用可回放复现。

确定性终审引擎(管精确)。 一个不依赖大模型的独立复核引擎,对每一条提名验证证据链:入口是否真实可达、数据是否真得流到危险点、权限是否真被绕过。验证通过的才标记为确认,并附上人可逐步复查的证据,以及按入口分组的攻击链——直接回答"攻击者从哪进来、经过哪几步、碰到什么"。

漏报池(管不丢)。 被否决与存疑的候选不做丢弃,全量归档供人工复评;人的每一次裁决又会沉淀回流,成为下一轮检测的养分。误报治理与漏报打捞共用这一个闭环。

一句话:AI 负责"找得到",证据负责"说得对"——两头都强,报告才可信。

三、大概流程:五步得到一份可信报告

2798db7bbd638adcdc1f204225343f57.png

  1. 接入:指向任意代码仓库发起扫描,一条命令跑通,无需改造工程结构;
  2. 多通道并行检测:语义提名、静态规则、开源依赖风险、多 Agent 权限拓扑、Web 权限一致性,五路并进;
  3. 独立终审:全部候选汇入确定性验证引擎,逐条验证证据链,产出"确认 / 否决 / 存疑"三态结论;
  4. 攻击链报告:只有确认项进入报告(Markdown / JSON / SARIF),按入口分组、标注参数与链路每一跳,另附修复建议;
  5. 人工复评闭环:存疑项进漏报池,在可视化裁决工作台上人工判定,判定结果沉淀回流反哺检测。

四、核心能力

报"链路",不报"孤行"。 注入类漏洞执行"真实入口 + 完整链路"双要件:常量拼接的 eval 不算、外部不可达的危险点不算。安全工程师拿到的不是 200 条孤立告警,而是 3 条讲得清来龙去脉的攻击链。硬编码密钥、证件号、高熵凭证这类确定性风险则直接报告,不掺水分。

多 Agent 权限拓扑检测。 多智能体系统的权限问题是拓扑问题:每个 Agent 单独看都合规,连起来看却是越权链路——委托层层加码、身份原样透传、声明只读却挂满写工具、运行时自改策略。本项目把"谁有什么权限、把什么给了谁、谁能触达谁"建成权限图,以 23 类规则在图上检测,已适配 LangGraph、LangChain、CrewAI、MetaGPT、LlamaIndex、AgentScope、Pydantic-AI 七大主流框架。这一层能力,传统 SAST 和纯 LLM 审查都给不了。

4d62ee4b577c0ef328e3a088f0723043.png

Web 权限一致性检测。 把声明侧的权限矩阵、配置、路由实际行为三份事实放在一起对表:"声明了鉴权但路由裸奔"的绝对落差直接定性;资源属主校验缺失的越权风险自动提名送审。

真实漏洞考出来的可信度。 内置 120+ 道考题的题库体系:20 个真实 CVE 逐一复刻成靶场(Gradio SSRF、Langflow 未授权执行、Superset 默认密钥等公开事件)、77 道基础题型(其中 12 道专门考察"看起来修了、其实没修干净"的半吊子修复变体)、外加 7 大框架实测题。引擎是考生,真值是考卷,判卷独立双侧对账,及格线只升不降——指标掉一点,验收直接亮红。

人在环上的裁决工作台。 Web 界面上对每条告警逐条裁决命中/误报,跨轮次聚合、可撤销、全程留痕;人工判例经程序化归纳变成规则草案,评审通过才准进运行时——经验可以沉淀,但不允许"脑补上线"。

多语言覆盖。 以 Python 为主战场,已扩展 TypeScript 与 Rust 代码的验证能力,报告统一输出。

五、差异化:不是又一个扫描工具

cf32a2e512f1046f1257ac51ac52c56b.png

  • 与传统 SAST 比:看得见跨文件链路、看得懂业务语义、看得见多 Agent 权限关系;
  • 与纯 LLM 审查比:可复现、可审计、每条告警带证据链,误报有治理闭环;
  • 与"LLM 套壳扫描器"比:判定权不在模型手里。大模型只负责提名,最终结论由确定性引擎基于证据拍板——这是架构级的差别,不是 prompt 调教能弥补的。

六、不自己给自己判卷:一套独立的评测体系

检测工具最容易自欺的地方,是"自己报的漏洞自己说报对了"。所以这个项目一半的功夫花在了引擎之外——给扫描器修了一套独立的考卷、判卷、及格线体系。检测能力不是"感觉变好了",是数字变好了,且每个数字可对账。

真实漏洞做考卷。

题库共 150+ 道,全部带人工冻结的标准答案:
image.png

20 个真实 CVE 复刻靶场——Gradio SSRF、Langflow 未授权执行、Superset 默认密钥等公开安全事件,逐一还原成可扫描的工程,杜绝"自出题自答";
77 道基础题型——覆盖命令注入、SSRF、路径穿越、反序列化、硬编码密钥、信息泄露、越权等 13 个漏洞家族,其中 12 道专门考察"看起来修了、其实没修干净"的半吊子修复变体;
7 大主流框架实测题 + 多 Agent 权限场景——每道权限题还配一道"安全孪生"对照题:同一场景改成安全写法,扫描器必须闭嘴——一个考召回,一个考精确。
image.png

独立判卷,双侧对账。

判卷不是"扫描器报了就算对":每条标准答案去扫描结果里找"类别 + 位置"对得上的认领,对不上记漏报;反过来,扫描器报了但没有任何答案认领的,记误报。两边各记各的账,谁也糊弄不了谁。判卷规则自身也有纪律——语义类答案与技术类告警的等价关系必须逐条登记出生依据,没登记的一律不放宽,评分员也要持证上岗。

及格线只升不降。

各题库的及格线冻结在一键验收工具里,每次提交前全量回归:指标掉了,唯一正确的动作是回去修引擎,改考纲这条路被制度性堵死。AI 参与的部分全程可回放复现——回归时指标的任何变化只可能来自代码改动,不可能来自"模型今天状态好"。
image.png

人在环上的裁决台。

存疑与误报不会石沉大海:漏报池全量归档,在可视化裁决工作台上逐条人工判定,跨轮次聚合、可撤销、全程留痕。每一次人工裁决都会沉淀进可检索的案例库;积累的判例经程序化归纳(四道审查闸 + 留出验证)才能变成规则草案,评审通过才准进运行时——经验可以沉淀,但不允许脑补上线。

image.png

考出来的成绩,和如实标注的边界。

在这套体系下:多 Agent 权限题库召回率、精确率双 100%(37 个真值点全部命中、零误报);框架实测题库精确率 100%;全仓 1549 条自动化测试全绿.

AI 在加速写代码,也在加速写 Agent;安全能力不该滞后一个身位。这个项目想验证的是:把大模型的不确定性关进"提名"的笼子,把判定的权力交给证据——AI 时代的代码安全可以既聪明、又可信。

目前正在找工作中,欢迎大佬指导。

相关文章
|
23天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
9365 30
|
9天前
|
存储 人工智能 并行计算
大模型本地部署终端选型方法论:以 Qwen3.8-27B 为例的四档分层完整流程
本文提出一套大模型本地部署终端选型方法论:定约束、定档位、定框架、定参数四步决策法,配合入门、主力、质量、无损四档分层模型。以 Qwen3.8-27B 实测数据为例,逐环节解读显存、带宽、存储、散热、系统、预算等要素,给出面向不同预算的优选方案、决策自查清单与市场观察框架。文末前瞻 AI 笔记本的 CPU+GPU 与统一内存两条路线,论证四步决策法在新品类上的延续性。
|
8天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型深度拆解:原理解读、实战测评与保姆级落地教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为**System One Model(系统一模型)**,对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
638 1
|
21天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
2478 4
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
4天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型全解析:核心原理拆解,性能实战测评与落地部署教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为System One Model(系统一模型),对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
413 0
|
3天前
|
存储 缓存 测试技术
QWT 3D 模块重构记:旧渲染管线改进介绍及实时瀑布图示例
QWT 3D模块完成重大重构:解耦窗口与图形(Plot+Item),摒弃OpenGL 1.x固定管线,迁至Core Profile着色器渲染;支持多图元同场景叠加,并以实时3D瀑布图验证——滑动窗口、固定色域、64帧×256点达61fps。兼容Qt 5.12+/6,LGPL协议。
157 120
|
15天前
|
Windows
【保姆级】.NET Framework 3.5离线安装教程(2026最新实测)
.NET Framework 3.5是微软经典运行库,专为兼容老软件、老游戏设计。Win7自带,Win10/11需手动启用(在线或离线安装)。它与4.x系列并存不冲突,缺它会导致“找不到组件”报错。本文详解两种安装方式及常见问题解决,小白也能轻松上手。(239字)
1874 0
|
10天前
|
人工智能 Linux Windows
千问办公(QwenWork)官网入口:其实有2个,一个是网页端千问办公,一个是介绍指南页面
千问办公(QwenWork)是阿里云推出的AI智能办公平台,支持网页端直接使用及Windows/Mac/Linux客户端下载。提供PPT生成、财报分析、网页搭建等AI功能,个人版免费,企业版198元/席/月。详情见官网qwenwork.cn或阿里云产品页。
1194 0
千问办公(QwenWork)官网入口:其实有2个,一个是网页端千问办公,一个是介绍指南页面

热门文章

最新文章