codesafer
CodeSafer (cleaner-code)
Model Context Protocol (MCP) サーバーとして動作するAIコードセキュリティスキャナー。 従来のリンターでは見逃される、AI生成コード内の隠れた脅威を検出します。
ウェブサイト: 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、リバースシェル、パックされたペイロード
CodeSaferは、コードがマシン上で実行される前に、これらすべてをスキャンします。
仕組み
CodeSaferはローカルのMCPサーバーとして動作します。AIクライアント(Claude Code、Cursorなど)がコードのレビューや生成を行う際にツールを呼び出し、結果がインラインで返されます。
ハイブリッド検出:
8つの静的解析スキャナー — 既知の攻撃カテゴリに対する決定論的なルール(高速で、対象パターンに対する偽陰性はゼロ)。
CodeBERTディープ解析 — トランスフォーマーモデルがコードチャンクを悪意のあるものか良性のものか、信頼スコア付きで分類。静的ルールでは見逃される難読化されたパターンや新しいパターンを捕捉します。
データがマシンから外部へ送信されることはありません。AI解析はローカルのトークナイザーサーバーに対して実行されます。
機能
機能 | 詳細 |
不可視文字検出 | ゼロ幅スペース、モンゴル語母音分離記号を含む30以上のUnicodeバリアント |
BiDi / Trojan Source | CVE-2021-42574を完全網羅 |
ホモグラフ検出 | キリル文字/ギリシャ文字/ラテン文字の混同(CVE-2021-42694) |
Unicodeステガノグラフィ | Glassworm形式の空白文字ペイロード |
ルールファイルのバックドア |
|
依存関係スキャン |
|
難読化検出 |
|
AIディープ解析 | 信頼スコア付きのCodeBERTトランスフォーマー分類器 |
MCPネイティブ | 6つのMCPツール、stdioトランスポート |
ローカルファースト | コードのアップロードなし — すべてマシン上で実行 |
MCPツール
CodeSaferはMCPクライアントに対して6つのツールを提供します:
ツール | 目的 |
| 単一ファイルをスキャンして隠れた悪意のあるコードパターンを検出 |
| ディレクトリ内のすべてのソースファイルを再帰的にスキャン |
| AI設定/ルールファイルをスキャンしてプロンプトインジェクションやルールファイルバックドア攻撃を検出 |
|
|
| 学習済みCodeBERTモデルを使用したAIディープ解析(チャンクを悪意/良性に分類し信頼スコアを算出) |
| 特定の脅威カテゴリの詳細な説明、攻撃シナリオ、修正方法を取得 |
インストール
前提条件
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 buildMCPクライアントの設定
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つのカテゴリにわたる脅威を検出します:
不可視のUnicode文字 — ゼロ幅スペース、ゼロ幅結合子など30以上のバリアント
BiDi / Trojan Source攻撃 — CVE-2021-42574
ホモグラフ — ラテン文字になりすましたキリル文字/ギリシャ文字(CVE-2021-42694)
Unicodeステガノグラフィ — 空白文字内のGlasswormパターン
ルールファイルのバックドア —
.cursorrules、CLAUDE.md等に含まれる悪意のある指示依存関係のリスク — タイポスクワッティングおよび不審なインストールスクリプト
難読化パターン —
eval+ base64、パックされたペイロード、リバースシェル静的解析結果 — 8つの決定論的スキャナー
AIディープ解析 — 新規および難読化された脅威に対するCodeBERTトランスフォーマー
プロジェクト構造
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 ファイルを参照してください。
リンク
ウェブサイト: codesafer.org
Model Context Protocol: modelcontextprotocol.io
問題を報告: GitHub Issues
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/goldmembrane/cleaner-code'
If you have feedback or need assistance with the MCP directory API, please join our Discord server