我们将依赖审计转化为新的 ClawMoat 检测
Source: Dev.to
原型污染(__proto__ 注入)
CVE 系列:axios mergeConfig、lodash merge
攻击者可以发送类似 {"__proto__": {"admin": true}} 的 JSON 到易受攻击的库。如果 AI 代理处理或转发该内容,可能会破坏宿主应用的原型链。
ClawMoat 现在检测到:
{"__proto__": {"isAdmin": true}}
{"constructor": {"prototype": {"role": "admin"}}}
通过嵌套 Extglob 的 ReDoS
CVE 系列:minimatch GHSA-952p-6rrq-rcjv、GHSA-f8q6-p94x-37v3
minimatch 库在模式如 *(*(*(a))) 或多个相邻的 ** 段上会出现灾难性的回溯。当代理使用这些模式验证文件路径时,可能会遭受拒绝服务攻击。
ClawMoat 现在标记:
- 嵌套的
*()extglob 模式 - 多个相邻的 GLOBSTAR 段(例如
**abc**def**) - 经典的嵌套量词,如
(.+)+
JWT 算法混淆
CVE 系列:PyJWT GHSA-m695-7mj6-7w6v、jose alg:none
alg: none 攻击指示 JWT 库完全跳过签名验证。kid 注入攻击可以将 SQL 或路径遍历负载藏入密钥 ID 头部。
ClawMoat 现在检测到:
{"alg": "none", "typ": "JWT"}
{"kid": "../../keys/../../etc/passwd"}
{"crit": ["custom-header"]}
解压炸弹
CVE 系列:urllib3 GHSA-g4mx-q9vg-27p4
urllib3 之前对解压链深度没有限制,攻击者可以将 gzip 嵌套在 brotli 中再嵌套在 zstd 中,耗尽内存。如果代理从不可信来源解压内容,这将成为可行的攻击向量。
ClawMoat 现在检测 嵌套压缩指令和可疑的大型 Base64 编码负载。
驱动器相对路径遍历
CVE 系列:tar GHSA-qffp-2rhf-9h96
在 Windows 上,类似 C:target(缺少反斜杠)的路径会解析为 C: 盘当前目录,而不是 C:\target。包含此类条目的归档文件可以写入预期提取目录之外,绕过 ../ 检查。
ClawMoat 的多模态扫描器现在捕获 C:filename 模式,以及绝对路径(C:\、/)和 UNC 路径(\\server\share)。
轮子
真实漏洞 → 真实模式 → 真实防护。
每个已发布的 CVE 都为攻击者提供了一张路线图;我们使用同样的路线图来构建检测。我们摄取的 CVE 越多,ClawMoat 就越强大。
新扫描器
全新扫描器 scanDependencyAttacks() 现已在 ClawMoat 中提供,零依赖,使用纯正则实现。
const { scanDependencyAttacks } = require('clawmoat');
const result = scanDependencyAttacks(userInput);
if (!result.clean) {
console.log('Attack pattern detected:', result.findings);
}