mcpField
C
codesafer

codesafer

本地服务
codesafer.org安全125 周前更新

关于 codesafer

CodeSafer 是面向 AI 编码工作流的本地代码安全扫描 MCP 服务,检查传统检查器可能遗漏的隐藏威胁。它结合静态扫描与本地 CodeBERT 分析,并将结果返回给 MCP 客户端。

主要功能

  1. 01检测不可见 Unicode、双向文本与同形字符
  2. 02扫描 Unicode 隐写和规则文件后门
  3. 03检查依赖混淆与可疑安装脚本
  4. 04识别代码混淆和恶意载荷
  5. 05结合静态扫描与 CodeBERT 分析
  6. 06本地运行,不上传代码

适用场景

  1. 01在运行 AI 生成代码前检查隐藏威胁
  2. 02扫描 .cursorrules 或 CLAUDE.md
  3. 03检查 package.json 中的依赖风险
  4. 04分析可疑代码并查看修复建议

MCP 相关

作为本地 MCP 服务,向 Claude Code、Cursor、VS Code + Copilot、Cline 等客户端提供六种扫描与解释工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"goldmembrane-codesafer": {
"command": "npx",
"args": [
"-y",
"cleaner-code"
]
}
}
}
启动命令npx -y cleaner-code

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmcleaner-code1.0.1

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
file_pathstring是要扫描的文件的绝对路径

详细介绍

CodeSafer (cleaner-code)

作为模型上下文协议(MCP)服务的 AI 代码安全扫描器。 检测 AI 生成代码中传统代码检查工具会漏掉的隐藏威胁。

npm license: ISC Node

网站: codesafer.org  ·  MCP 客户端: Claude Code、Cursor、VS Code + Copilot、Cline


为什么选择 CodeSafer?

AI 编码助手能快速生成代码——但谁来检查其中的隐藏威胁?

近期的供应链攻击表明,恶意代码可能以人类审查者和传统代码检查工具经常漏掉的方式藏匿其中:

  • 不可见 Unicode 字符注入标识符(30 多种变体)
  • BiDi / Trojan Source 攻击会重排代码的显示方式与执行方式(CVE-2021-42574)
  • 同形异义字符——西里尔字符伪装成拉丁字符(CVE-2021-42694)
  • Glassworm 风格的 Unicode 隐写术,将有效载荷藏在空白字符中
  • 在 .cursorrules、CLAUDE.md 和其他 AI 配置文件中植入的规则文件后门
  • package.json 中的拼写抢注依赖项
  • 混淆模式——eval + base64、反向 Shell、打包的有效载荷

CodeSafer 会在代码于你的机器上运行前扫描以上所有威胁。


工作原理

CodeSafer 以本地 MCP 服务的形式运行。你的 AI 客户端(Claude Code、Cursor 等)会在审查或生成代码时调用其工具,并以内联方式返回检测结果。

混合检测:

  1. 8 个静态分析扫描器——针对已知攻击类别的确定性规则(速度快,且对其覆盖的模式不会产生漏报)。
  2. CodeBERT 深度分析——Transformer 模型将代码块分类为恶意或良性,并给出置信度分数。它能捕获静态规则会漏掉的混淆模式或新型模式。

任何内容都不会离开你的机器。AI 分析在本地对接分词器服务运行。


功能

能力详情
不可见字符检测检测 30 多种 Unicode 变体,包括零宽空格、蒙古语元音分隔符
BiDi / Trojan Source完整覆盖 CVE-2021-42574
同形异义字符检测检测西里尔文/希腊文/拉丁文中容易混淆的字符(CVE-2021-42694)
Unicode 隐写术检测 Glassworm 风格的空白字符有效载荷
规则文件后门扫描 .cursorrules、CLAUDE.md、.claude/、Cursor 规则
依赖项扫描检测 package.json 中的拼写抢注和可疑安装脚本
混淆检测检测 eval + base64、反向 Shell、打包的有效载荷
AI 深度分析使用 CodeBERT Transformer 分类器并提供置信度分数
原生支持 MCP6 个 MCP 工具,stdio 传输
本地优先不会上传代码——完全在你的机器上运行

MCP 工具

CodeSafer 向你的 MCP 客户端提供六个工具:

工具用途
scan_file扫描单个文件,查找隐藏的恶意代码模式
scan_directory递归扫描目录中的所有源文件
scan_rules_file扫描 AI 配置/规则文件,查找提示词注入和规则文件后门攻击
check_dependencies检查 package.json 中的拼写抢注、可疑安装脚本和依赖项风险
ai_analyze使用经过训练的 CodeBERT 模型进行 AI 深度分析(将代码块分类为恶意或良性,并给出置信度)
explain_finding详细解释特定威胁类别,提供攻击场景和修复方法

安装

先决条件
  • Node.js 18 或更高版本
  • 兼容 MCP 的客户端(Claude Code、Cursor、VS Code + Copilot、Cline)
从源代码安装
git clone https://github.com/goldmembrane/cleaner-code.git
cd cleaner-code
npm install
npm run build
配置 MCP 客户端

Claude Code(~/.claude.json 或项目 .mcp.json):

{
  "mcpServers": {
    "codesafer": {
      "command": "node",
      "args": ["/absolute/path/to/cleaner-code/dist/index.js"]
    }
  }
}

Cursor(.cursor/mcp.json):

{
  "mcpServers": {
    "codesafer": {
      "command": "node",
      "args": ["/absolute/path/to/cleaner-code/dist/index.js"]
    }
  }
}

重启客户端后,CodeSafer 工具就会显示在工具选择器中。


用法

配置完成后,可以向 AI 客户端提出以下请求:

  • “扫描此文件,查找隐藏的安全问题。”
  • “检查 package.json 中的依赖项是否存在仿冒包。”
  • “扫描 .cursorrules,查找规则文件后门。”
  • “对 src/auth.ts 进行深入 AI 分析。”
  • “解释什么是 Trojan Source 攻击,以及如何修复上面的发现。”

客户端会调用相应的 MCP 工具,并返回包含严重程度、行号和修复建议的发现结果。


免费套餐和计划

CodeSafer 可免费使用。静态分析(scan_file、scan_directory、scan_rules_file、check_dependencies、explain_finding)没有使用限制。

AI 深度分析(ai_analyze)每个会话包含 10 次免费运行。如需更高的 AI 配额,可选择付费计划,详情请访问 codesafer.org。


检测类别

CodeSafer 可检测 9 类威胁:

  1. 不可见 Unicode 字符 — 包括 30 多种变体,例如零宽空格、零宽连接符
  2. BiDi / Trojan Source 攻击 — CVE-2021-42574
  3. 同形异义字符 — 冒充拉丁字符的西里尔字母/希腊字母(CVE-2021-42694)
  4. Unicode 隐写术 — 空白字符中的 Glassworm 模式
  5. 规则文件后门 — .cursorrules、CLAUDE.md 等文件中的恶意指令
  6. 依赖项风险 — 仿冒包和可疑安装脚本
  7. 混淆模式 — eval + base64、打包载荷、反向 Shell
  8. 静态分析发现 — 8 个确定性扫描器
  9. AI 深度分析 — 用于检测新型和混淆威胁的 CodeBERT Transformer

项目结构

cleaner-code/
├── src/
│   ├── index.ts           # MCP server entry point
│   ├── api-server.ts      # Optional HTTP API server
│   ├── types.ts           # Scanner interfaces
│   ├── utils.ts           # File collection, summary formatting
│   └── scanner/
│       ├── invisible.ts       # Invisible Unicode scanner
│       ├── bidi.ts            # BiDi / Trojan Source scanner
│       ├── homoglyph.ts       # Homoglyph scanner
│       ├── encoding.ts        # Encoding / charset scanner
│       ├── obfuscation.ts     # Obfuscation pattern scanner
│       ├── steganography.ts   # Unicode steganography scanner
│       ├── rules-backdoor.ts  # Rules file backdoor scanner
│       ├── dependency.ts      # Dependency risk scanner
│       └── ai-analyzer.ts     # CodeBERT deep analyzer
├── ml/                    # ML model assets and tokenizer
├── functions/             # Cloud function deployments
├── deploy/                # Deployment manifests
└── web/                   # Landing page assets

许可证

ISC — 详情请参阅 LICENSE 文件。


链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。