1. 引入
文章摘要: 本文全面介绍了 Agent Audit 工具,这是一个用于扫描 Agent 源代码安全漏洞的开源静态分析工具。文章首先说明了 Agent 开发中可能面临的安全风险,然后详细展示了如何使用 Agent Audit 进行扫描并生成 SARIF 格式报告。通过扫描 openclaw 源码的实际案例,展示了工具能检测出 BLOCK、WARN、INFO 等不同级别的漏洞。最后,文章系统性地列举了 Agent Audit 能够检测的 17 种漏洞类型,包括注入攻击、提示词注入、密钥泄露、MCP 配置安全等核心安全问题,为 Agent 开发者提供了全面的安全审计指南。
如果你开发了一个Agent(源码),那这个Agent上线之前,是否存在安全风险,比如可能会受到"提示词注入"、"MCP配置权限太高"、"MCP工具投毒"、"远程代码执行"等攻击,我们该用什么工具来扫描一下这个Agent源码以发现安全漏洞呢?
Agent Audit(参考1)就是这样一个工具,他能扫描你开发的Agent源代码,通过静态分析的方法,发现Agent的风险,而且它还是开源的(参考2)。
2. agent-audit的使用
- 安装
shell
pip install agent-audit
- 扫描
shell
agent-audit scan ./your-agent-project
- 扫描后输出sarif格式报告
shell
agent-audit scan . --format sarif --output results.sarif
如下是扫描openclaw源码后输出的sarif数据(部分):
json
{
"results": [
{
"ruleId": "AGENT-047",
"level": "warning",
"message": {
"text": "Agent executes subprocess (subprocess.check_output) without sandbox isolation. Subprocess execution with dynamic input can lead to command injection."
},
"locations": [
{
"physicalLocation": {
"artifactLocation": {
"uri": "skills/model-usage/scripts/model_usage.py"
},
"region": {
"startLine": 36,
"endLine": 36
}
}
}
],
"fingerprints": {
"primary": "87b213ea819556a8"
},
"properties": {
"confidence": 0.08000000000000002,
"cwe": "CWE-78",
"owasp": "ASI-02"
}
}
]
}
3. agent-audit扫描openclaw源码
使用agent-audit扫描openclaw源码,输入如下命令即可执行:
shell
(base) ubuntu@VM-0-13-ubuntu:~/project/tmp$ ll
total 110712
drwxrwxr-x 5 ubuntu ubuntu 4096 Jun 2 22:53 ./
drwxrwxr-x 6 ubuntu ubuntu 4096 May 14 14:13 ../
drwxrwxr-x 20 ubuntu ubuntu 4096 Jun 2 22:12 openclaw-main/
(base) ubuntu@VM-0-13-ubuntu:~/project/tmp$ agent-audit scan openclaw-main/
Scanning Python files...
Scanning MCP configurations...
Scanning for secrets...
Scanning for privilege issues...
可以看到,agent-audit会对python的代码,MCP的配置,代码中的硬编码密码,权限问题等进行扫描。扫描需要3~5分钟,扫描完成后得到如下结论(只显示部分):
shell
AGENT-004: Hardcoded Credentials
Location: openclaw-main/src/cli/gateway-cli/register.ts:146
Code: const parentPass*******************************************and, "password");
Reason: Found Generic Secret/Password
AGENT-004: Hardcoded Credentials
Location: openclaw-main/src/cli/daemon-cli/register-service-commands.ts:39
Code: const parentPass*******************************************and, "password");
Reason: Found Generic Secret/Password
ℹ️ INFO --- Tier 3 (hidden, use --verbose to show) --- 100 findings
⬛ SUPPRESSED --- Tier 4 (hidden, use --verbose to show) --- 29 findings
📊 Summary:
BLOCK: 20 | WARN: 149 | INFO: 100 | SUPPRESSED: 29
Risk Score: █████████████████████████████░ 9.8/10 (HIGH)
可以看到,扫描得到如下漏洞:
- 20 个 BLOCK 级别的漏洞:高置信度的严重安全问题,必须立即处理
- 149 个 WARN 级别的漏洞 :中等置信度的安全风险,需要审查
- 100 个 INFO 级别的漏洞 :低置信度的潜在问题,作为参考
- 29 个 SUPPRESSED的漏洞 :被系统自动抑制的低置信度发现(默认不显示)
同时,这次扫描,agent-audit给openclaw的risk打分为"高危"。
4. agent-audit可以检测的漏洞类型
从参考3中可以看出,agent-audit这个工具,能检测如下17种类型的漏洞:
-
注入攻击漏洞
核心风险原理:业务未对用户输入数据做安全过滤与校验,直接将可控用户输入传入代码执行函数、子进程调用、数据库SQL语句等高危执行接口,导致攻击者可构造恶意输入篡改执行逻辑、执行任意代码或窃取、篡改数据。对应检测规则包含AGENT-001、AGENT-041,是Agent应用最常见的高危漏洞类型。
-
提示词注入漏洞
核心风险原理:系统将用户可控输入直接拼接、嵌入Agent系统提示词中,未做隔离与净化,攻击者可通过构造特殊恶意提示词,覆盖、篡改原有系统指令,诱导Agent突破业务逻辑、泄露隐私数据、执行违规操作,对应检测规则为AGENT-010。
-
密钥泄露漏洞
核心风险原理:开发或部署过程中,将API密钥、接口令牌、认证凭证等敏感密钥信息硬编码在源代码、MCP服务配置文件中,代码打包、开源或配置文件泄露后,攻击者可直接获取凭证,非法调用接口、侵占服务权限,对应检测规则包含AGENT-004、AGENT-031。
-
输入校验缺失漏洞
核心风险原理:Agent 自定义的@tool工具函数未配置任何输入校验逻辑,直接接收原始字符串参数执行业务逻辑,无法拦截恶意、超长、非法格式的输入数据,极易触发注入、代码异常、权限越权等衍生风险,对应检测规则为AGENT-034。
-
MCP服务器不安全配置漏洞
核心风险原理:MCP(模型控制协议)服务器存在多项不合规安全配置,包括未开启身份认证机制、未固定服务版本导致自动更新引入未知风险、权限配置过宽过度授权等问题,攻击者可利用未认证接口非法接入、通过版本漏洞入侵或滥用超额权限操控服务,对应检测规则包含AGENT-005、AGENT-029、AGENT-030、AGENT-033。
-
MCP工具投毒漏洞
核心风险原理:攻击者篡改MCP工具的描述信息,在其中植入隐藏恶意指令、数据窃取逻辑,Agent调用该工具时会无意识触发隐藏行为,造成业务逻辑被篡改、核心数据外泄等安全事件,对应检测规则包含AGENT-056、AGENT-057。
-
MCP工具影子覆盖漏洞
核心风险原理:多台MCP服务器同时注册名称完全一致的工具,后注册或优先级更高的工具会覆盖原有正常工具的执行逻辑,导致Agent调用常规工具时,实际执行的是攻击者植入的恶意工具逻辑,实现恶意操控,对应检测规则为AGENT-055。
-
MCP工具异动/跑路漏洞
核心风险原理:MCP服务器工具在完成初始安全审计、上线运行后,被私自篡改功能逻辑、删减能力或新增高危操作,导致上线后安全状态失控,原有审计合规性失效,引入未知安全风险,对应检测规则为AGENT-054。
-
安全防护围栏缺失漏洞
核心风险原理:Agent运行机制未配置安全约束规则,无迭代执行次数限制、无人工审核机制,可无限制循环执行任务、自主发起高危操作,极易出现过度调用工具、恶意循环执行、越权操作等风险,无法自主终止异常行为,对应检测规则包含AGENT-028、AGENT-037。
-
无限制代码执行漏洞
核心风险原理:Agent工具直接启用eval动态代码执行、shell系统命令调用等高风险能力,且未配置沙箱隔离、权限限制与执行校验,攻击者可通过可控输入触发任意系统命令、自定义代码执行,完全接管运行环境,对应检测规则为AGENT-035。
-
源码映射文件泄露漏洞
核心风险原理:Agent打包发布过程中,未清理调试类产物,将.map源码映射文件、.pdb调试文件等敏感调试文件一同发布,攻击者可通过调试文件反编译还原核心源码、定位代码漏洞,大幅降低代码逆向与漏洞挖掘难度,对应检测规则为AGENT-110。
-
子代理权限提升漏洞
核心风险原理:Agent父子代理联动机制存在权限管控缺陷,子代理创建后会无限制继承父代理的全部工具权限与操作能力,未做权限裁剪与隔离,一旦子代理被劫持,攻击者可通过子代理获取父代理全部操作权限,实现权限越权提升,对应检测规则为AGENT-112。
-
无认证代理委派漏洞
核心风险原理:跨Agent任务委派、能力调用过程中,未做身份核验与权限认证,任意代理均可随意委派任务、调用其他代理能力,攻击者可伪造代理身份发起非法委派,越权调用其他代理资源与功能,对应检测规则为AGENT-113。
-
工具自动全量放行漏洞
核心风险原理:Agent默认开启全部工具自动审批执行机制,未对工具做安全风险分级,高危、敏感工具无需任何校验即可自动执行,无安全拦截机制,极易触发高危操作风险,对应检测规则为AGENT-117。
-
人机校验绕过漏洞
核心风险原理:Agent人机闭环(HITL)审核机制存在缺陷,攻击者可通过代理任务委派、Agent自我逻辑修改等方式,绕过人工审核流程,强制执行高危敏感操作,突破人工安全管控屏障,对应检测规则为AGENT-118。
-
溯源日志屏蔽漏洞
核心风险原理:恶意操作通过篡改Git提交记录、运行日志、输出结果等方式,清除AI代理的操作溯源标识,掩盖恶意操作痕迹,导致安全事件发生后无法追溯操作主体、操作行为与攻击链路,丧失审计溯源能力,对应检测规则为AGENT-119。
-
配置钩子投毒漏洞
核心风险原理:攻击者利用配置文件钩子机制漏洞(对应CVE-2025-59536),在.claude/settings.json、.cursor/、.mcp.json等核心配置文件中植入恶意钩子程序,Agent启动或运行时会自动加载执行恶意钩子逻辑,触发恶意操作,对应检测规则为AGENT-120。
5. 总结
本文全面介绍了 Agent Audit 工具,这是一个用于扫描 Agent 源代码安全漏洞的开源静态分析工具。文章首先说明了 Agent 开发中可能面临的安全风险,然后详细展示了如何使用 Agent Audit 进行扫描并生成 SARIF 格式报告。通过扫描 openclaw 源码的实际案例,展示了工具能检测出 BLOCK、WARN、INFO 等不同级别的漏洞。最后,文章系统性地列举了 Agent Audit 能够检测的 17 种漏洞类型,包括注入攻击、提示词注入、密钥泄露、MCP 配置安全等核心安全问题,为 Agent 开发者提供了全面的安全审计指南。