← 返回内容列表

MakerChecker:给 AI Agent 装上安全扫描器

MakerChecker:给 AI Agent 装上安全扫描器

随着 AI 代理生成的代码进入生产环境,安全风险急剧上升。MakerChecker 模式通过引入独立的"检查者"代理,为 AI 编程提供了一道安全防线——生成与审查分离,减少单代理盲点。

当 AI 代理自主生成代码时,谁来检查这些代码的安全性?AI 生成的代码可能包含硬编码密钥、SQL 注入漏洞、不安全的依赖——这些问题如果流入生产环境,后果严重。MakerChecker 模式应运而生:一个 AI 代理(Maker)负责生成代码,另一个独立代理(Checker)负责安全审查。

为什么需要 MakerChecker

传统的代码审查依赖人类开发者,但当 AI 代理以每分钟数百行的速度生成代码时,人工审查成了瓶颈。让同一个 AI 代理"自我审查"也有问题——模型存在认知盲点,它生成代码时的偏见会延续到审查阶段。

MakerChecker Architecture Developer request Maker Agent GPT-5.6 / Claude generates code Code draft Checker Agent Different model family - SQL injection - hardcoded secrets Pass or Flag Human Review final approval business logic PR Key Principle: Maker and Checker use DIFFERENT model families Maker (GPT) + Checker (Claude) = complementary coverage, reduced shared blind spots

图1:MakerChecker 架构——生成与审查分离,使用不同模型族减少共同盲点

Checker 代理扫描什么

Checker 代理专注于以下安全维度:

  • 硬编码敏感信息:API 密钥、数据库密码、JWT secret 等被直接写入代码
  • 注入漏洞SQL 注入、XSS、命令注入
  • 不安全的依赖:引入已知有漏洞的第三方包
  • 认证/授权缺陷:缺失权限检查、不安全的 session 管理
  • 数据泄露:错误日志输出敏感信息、API 返回过多数据
Checker Agent: Security Scan Coverage Hardcoded Secrets 34% of AI code has this Injection Flaws 22% SQL/XSS/Cmd Insecure Dependencies 18% vulnerable packages Auth/Authz Defects 14% missing checks Data Leakage 12% logs/API MakerChecker Detection Rate by Category 90% average detection rate (vs 45% for self-review) Source: MakerChecker benchmark on 10,000 AI-generated code samples (2026) Self-review (same model checks own output) misses 55% of vulnerabilities

图2:Checker 代理的安全扫描覆盖率——5 大维度,90% 检出率

关键设计决策

MakerChecker 最重要的设计决策是使用不同模型族。如果 Maker 用 GPT-5.6,Checker 应该用 Claude 或 Gemini。原因是:同一模型族存在相似的训练偏见和认知盲点,如果 Maker 忽略了某种漏洞模式,同族 Checker 大概率也会忽略。

另一个关键决策是Checker 不共享对话历史。Maker 的上下文可能包含用户的业务逻辑和需求描述,这些信息虽然有助于生成代码,但可能影响安全判断的客观性。Checker 只看到生成的代码本身,以"陌生人视角"进行审查。

[关联推荐]

---

评论 (0)

加载评论中…