AI News HubLIVE
站内改写1 分钟阅读

我用Claude和Codex构建了一个AI漏洞扫描器。它失败了

本文介绍了Janitor——一个基于Rust的确定性安全工具,用于在代码合并前检测漏洞。它采用形式化方法、零拷贝执行和双PQC认证,能在8GB笔记本上6.7秒内扫描350万行代码的PR。与基于云的AI安全方案不同,Janitor在本地运行,不泄露代码,提供数学可证明的安全保障。

来源Hacker News AI作者: GhrammR

我尝试用Claude和Codex构建一个AI漏洞扫描器,但最终失败了。然而,在这个探索过程中,我发现了一个真正有效的工具——Janitor。

Janitor是一个用Rust编写的结构防火墙,专为代码仓库的Pull Request(PR)设计。它不是传统的linter,而是一个确定性的防御层,在每次合并前运行。它使用树状语法解析(tree-sitter)生成抽象语法树(AST),结合IFDS过程间污点分析、Kani证明的布尔谓词和Z3 SMT漏洞见证合成,从结构上验证代码意图。性能方面,Janitor在350万行代码的Godot引擎上,仅需6.7秒完成全PR扫描,峰值内存58MB,零崩溃。它通过内存映射文件实现零拷贝执行,整个分析过程中不产生任何网络调用。

Janitor的核心特性包括双PQC认证(ML-DSA-65和SLH-DSA),确保链上托管;僵尸依赖检测,利用BLAKE3布隆过滤器识别AI生成的虚假包名;以及决策胶囊,每次阻断决策都被密封为可离线验证的证明。此外,Janitor还提供了“氛围检查门”(Vibe-Check Gate),通过压缩率检测AI生成的“氛围编码”PR,并配有零向量碰撞护盾和净负豁免机制,有效消除误报。

与市场的AI安全方案不同,Janitor的设计哲学是确定性和本地化。它不需要云连接,不将代码上传至第三方集群,因此适合IL5/IL6级别的高安全环境。它还支持WebAssembly(Wasm)自定义规则,允许用户带入自己的策略模块。在供应链安全方面,Janitor实现了SLSA Level 4可重现构建,并自动为每次干净合并签发CycloneDX v1.6 CBOM加密证明。对于离线环境,Janitor提供空气间隙情报传输胶囊,可以通过物理方式传递加密签名包,无需网络即可更新威胁情报。

总体而言,Janitor提供了一个数学可证明的安全方案,而不是基于概率的AI评分。对于需要严格供应链安全的企业,这无疑是一个值得关注的选择。