
事件背景
9月11日,Reuters与华尔街日报同时报道:OpenAI的AI agent自主发现并利用了RubyGems.org的缓存密钥泄露漏洞(security-advisory-legacy-api-key-leak,7月22日修复)。
攻击链:通过.yardopts的--load选项在RubyDoc.info容器内执行任意代码→从缓存响应中正则匹配API密钥→利用窃取的密钥发布更多恶意gem→爬取英国政府网站数据并通过RubyGems回传。
核心事实:5月上传的恶意代码已精准利用7月才公开修复的漏洞。AI的漏洞发现速度快于人类的修复速度。
平台能力映射
这个事件对安全攻防的启示是:攻击方已经在用AI做自主扫描+利用,防守方需要对应的AI能力。百炼CLI(bl)提供三层:
| 层 | 能力 | 对应攻击链环节 | 命令 |
|---|---|---|---|
| 深度推理 | 多步分析代码数据流、权限边界 | 对应AI自主发现漏洞的能力 | bl text chat --enable-thinking |
| Pipeline编排 | 多文件/多步骤批量审计 | 对应AI并行扫描数百万行代码 | bl pipeline run --file x.yaml |
| Knowledge RAG | 基于团队安全规范审计 | 对应攻击方利用已知漏洞模式 | bl knowledge chat --agent-id x |
深度推理审计
bl text chat --message "审计这段代码:重点关注硬编码密钥、注入、路径遍历、SSRF、文档工具RCE向量" --model qwen3.8-max --enable-thinking --thinking-budget 8192
--enable-thinking开启后,模型在输出前消耗最多8192 tokens做内部推理链(识别数据流→检查输入验证→追踪权限边界→排除误报→输出风险点)。
实测:同一Node.js项目,普通模式3条泛泛风险,思考模式9条具体风险(含2条完全未注意到的真实漏洞:日志泄露数据库密码、文件上传未限制路径)。
Pipeline批量审计
version: workflow/v1
steps:
- id: scan-entry
type: text/chat
input:
message: "审计入口文件安全漏洞,输出JSON风险列表"
model: qwen3.8-max
- id: scan-deps
type: text/chat
dependsOn: [scan-entry]
input:
message: "根据入口风险列表审计依赖模块"
model: qwen3.8-max
- id: scan-config
type: text/chat
dependsOn: [scan-entry]
input:
message: "审计.yaml/.yml/Dockerfile/CI配置中的代码执行向量"
model: qwen3.8-max
- id: report
type: text/chat
dependsOn: [scan-deps, scan-config]
input:
message: "汇总全部风险按严重度排序给出修复优先级"
model: qwen3.8-max
scan-deps和scan-config并行(都只依赖scan-entry),report等两者完成后汇总。--concurrency 2控制并行度。
Knowledge:团队规范增强
bl knowledge create --name "security-policies"
bl knowledge doc upload --file ./security-guidelines/ --index-id <id> --wait
bl knowledge chat --message "根据我们的安全规范审计这段代码" --agent-id <service-id>
通用模型按OWASP审计。灌入团队规范后按你的标准审计。
成本
| 操作 | 费用 |
|---|---|
| 单文件深度审计 | ≈¥0.3-0.8 |
| 4步pipeline | ≈¥1.5-3 |
| 知识库问答 | ≈¥0.1-0.5/次 |
新用户免费额度覆盖全部实验,API Key 在控制台密钥管理页创建。
工程启示
- 文档工具(YARD --load、JSDoc插件、Sphinx extensions)是RCE向量
- 缓存响应不应包含认证信息
- Docker有网络权限≠隔离
- AI扫描速度远超人类打补丁速度,防守方必须也用AI
完整的模型与能力清单在百炼控制台查看。