高级 AI 模型的发布引发了人们对代码漏洞的广泛担忧。随着攻击者获得生成漏洞利用程序的新功能,安全团队面临着巨大的时间压力,需要在漏洞被利用之前主动发现并修复漏洞。
CodeMender 是一款 AI 代码安全智能体,可以查找、验证和修复代码库中的深层漏洞。CodeMender 将微调的 harness 封装在 LLM 周围,使用 Google DeepMind 设计的提示、技能和编排逻辑将模型转变为专门从事代码安全的智能体系统。
工作原理
CodeMender 旨在处理现代企业环境的规模和多样性,在这些环境中,代码涵盖多种语言和系统类型:
- 查找漏洞 :使用由智能体引导的 LLM 扫描代码库,利用专用工具和提示工程将模型专注于安全缺陷。或者,您可以从外部安全扫描工具导入漏洞列表。
- 验证漏洞 :构建代码并尝试利用发现的漏洞,以验证这些漏洞是否可被利用。这有助于确定已确认漏洞的优先级,并降低假正例率。
- 修复漏洞 :生成并测试与代码库语言兼容的补丁。
在所有三个阶段,您都可以向 CodeMender 提供上下文,以确保它考虑到应用和威胁模型的细微差别。与单独使用 LLM 查找和修复漏洞相比,LLM 与 CodeMender 微调的 harness 相结合可提供更高质量的结果。
系统架构
从用户的角度来看,CodeMender 系统由两个组件组成:
- 智能体:一个托管的多智能体系统,用于运行核心业务逻辑和推理。
- 客户端:在您的机器上运行的客户端,既充当 CLI(用于发出命令和查看输出),又充当守护程序(用于代表智能体执行命令,例如浏览代码库以及验证漏洞和补丁)。
支持的语言和框架
CodeMender 支持所有主要编程语言(C/C++、Go、Java、Python、TypeScript / JavaScript、Rust 和 Ruby)中的顶级漏洞类型。此外,它还广泛支持这些语言中的标准库,以及常见的企业框架(例如 HTML/CSS、Django、Flask、React、Spring Boot 和 Express)。
支持的漏洞类型涵盖了应用逻辑、数据处理、内存管理和身份验证控制流中的各种软件安全缺陷。
支持的模型
CodeMender 支持以下模型:
点击即可展开支持的模型
如需在运行 CodeMender CLI 命令时指定模型,请参阅 指定模型。
安全性和数据隐私权
以下部分概述了 CodeMender 的安全模型、数据保留政策和访问权限控制:
哪些数据会发送到云端?
使用 CodeMender 时,本地 CLI 工具会协调对代码的访问,确保您的完整源代码库绝不会上传到 Google 的服务器,也不会由托管智能体独立克隆。
相反,发送到 Google 托管智能体的数据严格本地化,包括:
- 目标文件内容或代码段、漏洞信息、建议的补丁和命令执行结果。
- 元数据、诊断信息、错误和使用情况遥测数据(例如使用的令牌和命令持续时间)。
您的客户源代码绝不会用于训练底层模型权重。
保留政策是什么?
CodeMender 采用严格的短期数据保留政策:
- 最长保留 7 天 :会话数据(包括代码段和跟踪状态)在 Gemini Enterprise Agent Platform 存储空间中最多保留 7 天,以便用户无缝恢复中断的扫描。7 天后,这些数据会自动删除(请参阅零数据保留)。
- 显式删除 :客户无需等待 7 天,只需调用
DeleteInteraction即可立即清理所有会话数据。 - 临时发现 :漏洞发现和补丁不会存储在长期数据库中,而是在流水线期间在内存中累积。
谁可以访问这些数据?
CodeMender 在人工可见性方面采用“零数据访问”方法:
- 无人为访问 :没有人为群体或 Google 工程师有权在生产环境中读取客户数据。
- 无运营人员可见性 :即使是生产调试和错误跟踪,Google 运营人员也受到限制,无法查看客户源代码上下文或临时会话状态。
- 严格隔离 :所有数据都通过组织和客户结算项目进行逻辑隔离和访问权限控制,以保护共享基础架构中的租户隐私。
- VPC Service Controls (VPC-SC) :为了进一步保护您的环境,CodeMender 的架构完全支持 VPC Service Controls (VPC-SC)。这样,您就可以在 Google Cloud 资源周围定义安全边界,从而在本地数据发送到云推理引擎时帮助降低任何数据渗漏风险。
开始使用 CLI
设置 CLI 工具并初始化工作区以开始扫描。
前提条件
在初始化 CodeMender CLI 之前,请确保您的环境已正确准备就绪:
- 下载 CodeMender CLI: 下载并安装适用于您的操作系统的 CodeMender CLI 二进制文件。
- **配置 Google Cloud 凭据**:配置 Google Cloud 应用默认凭证 (ADC) 以对 CLI 进行身份验证。
- 预配源代码 :将要扫描的项目的源代码克隆或复制到您的工作区。
指定模型
默认情况下,CodeMender 使用 Gemini 3.5 Flash。如需替换默认模型,请传递带有相应模型标识符的 --model 标志:
- Gemini 3.5 Flash(默认):
--model gemini-3.5-flash - Gemini 3.1 Pro 预览版:
--model gemini-3.1-pro-preview - Gemini 3 Flash 预览版:
--model gemini-3-flash-preview
以下命令支持 --model 标志:
cm findcm verifycm fix
如需在运行其中任何命令时指定模型,请使用以下语法:
cm COMMAND TARGET --model MODEL_NAME
后续步骤
如需了解详细说明,请参阅以下指南: