用途
CodeSafer(仓库名 cleaner-code)是一款 AI 代码安全扫描器,以 Model Context Protocol(MCP)服务器形式提供。它针对 AI 编程助手快速生成的代码,检测传统 linter 和人工审查容易漏掉的隐藏威胁,在代码于本机运行之前完成扫描。
主要能力
CodeSafer 采用混合检测方式:
- 8 个静态分析扫描器:针对已知攻击类别使用确定性规则,速度快,在其覆盖的模式上不产生漏报。
- CodeBERT 深度分析:使用 transformer 模型将代码块分类为恶意/良性,并给出置信度分数,用于捕捉静态规则漏掉的混淆或新型模式。
检测范围横跨 9 个类别:
- 不可见 Unicode 字符——包括零宽空格、零宽连接符等 30 多种变体
- BiDi / Trojan Source 攻击——CVE-2021-42574
- 同形字(Homoglyphs)——用西里尔/希腊字符伪装成拉丁字符,CVE-2021-42694
- Unicode 隐写术——空白字符中的 Glassworm 模式
- 规则文件后门——.cursorrules、CLAUDE.md 等 AI 配置文件中的恶意指令
- 依赖风险——typosquatting 与可疑安装脚本
- 混淆模式——eval + base64、打包载荷、反向 shell
- 静态分析发现项——来自 8 个确定性扫描器
- AI 深度分析——CodeBERT transformer 检测新型与混淆威胁
使用方式
CodeSafer 作为本地 MCP 服务器运行。AI 客户端(Claude Code、Cursor 等)在审查或生成代码时调用其工具,发现结果以内联方式返回。AI 分析在本机针对 tokenizer 服务器运行,数据不离开用户机器。
CodeSafer 向 MCP 客户端暴露六个工具,资料中未逐一列出工具名称以外的说明。
环境要求
- Node.js 18 或更高版本
- 兼容 MCP 的客户端(Claude Code、Cursor、VS Code + Copilot、Cline)
配置 MCP 客户端
Claude Code(~/.claude.json 或项目 .mcp.json)与 Cursor(.cursor/mcp.json)的配置方式,资料中给出了配置位置,但未提供具体配置代码内容。
重启客户端后,CodeSafer 工具会出现在工具选择器中。
可向 AI 客户端发出的指令示例
- “Scan this file for hidden security issues.”
- “Check the dependencies in package.json for typosquatting.”
- “Scan .cursorrules for a rules-file backdoor.”
- “Run a deep AI analysis of src/auth.ts.”
- “Explain what a Trojan Source attack is and how to fix the finding above.”
客户端会调用相应的 MCP 工具,并返回带严重级别、行号和修复建议的发现结果。
适用场景
- AI 编程助手生成代码后的安全审查
- 检查 .cursorrules、CLAUDE.md 等规则文件中是否被植入后门
- 检查 package.json 依赖是否存在 typosquatting 风险
- 对可疑或混淆代码进行深度 AI 分析
- 在代码于本机运行前完成本地化安全扫描
收费与限制
CodeSafer 可免费使用。静态分析(scan_file、scan_directory、scan_rules_file、check_dependencies、explain_finding)无限制。AI 深度分析(ai_analyze)每次会话包含 10 次免费运行;更高 AI 配额可通过 codesafer.org 获取付费方案。
其他信息
- 官网:codesafer.org
- 支持的 MCP 客户端:Claude Code、Cursor、VS Code + Copilot、Cline
- 技术组合:静态分析 + CodeBERT 深度学习,本地运行
- 许可证:ISC,详见仓库 LICENSE 文件
- 模型上下文协议:modelcontextprotocol.io
- 问题反馈:GitHub Issues
- 仓库地址:https://github.com/goldmembrane/cleaner-code
项目结构与具体 MCP 配置代码片段在资料中未完整展开,暂未提供。