Contract Security Scanner について
Contract Security Scannerは、Base L2のスマートコントラクトリスクを評価するMCPサーバーです。コードや稼働状況の確認、複数コントラクトの比較を行い、リスクスコアと判断ラベルを返します。
主な機能
- 01ソース検証状況と稼働状況の確認
- 02危険なセレクターやプロキシの検出
- 030~100のリスクスコア
- 04最大5件のコントラクト比較
- 05判断に役立つリスクラベル
活用シーン
- 01操作前のBaseコントラクト確認
- 02複数のトークンコントラクトの比較
- 03ミント・ブラックリスト・バックドア関数の確認
MCP 対応
MCPクライアントに、コントラクトのスキャン、一括比較、リスク解釈のツールを提供します。Base L2のコントラクトを読み取り専用RPCとBaseScanデータで調べます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @fino314-oss/contract-scanner-mcpBASESCAN_API_KEYシークレットBaseScan API key for source code analysis (optional — basic bytecode scan works without it)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
コントラクトセキュリティスキャナー — MCP サーバー
AI アシスタントから直接、Base L2 のスマートコントラクトのセキュリティリスクをスキャンできます。
公開されているツール:3 個
scan_contract— 完全なセキュリティスキャン(ソースコードの検証、リスクの高いセレクター、経過期間、アクティビティ)batch_scan— 最大 5 件のコントラクトを並べて比較interpret_risk— 実行可能な推奨事項を取得(SAFE / CAUTION / HIGH_RISK / DO_NOT_USE)
リスクスコア:0~100。 分析対象:mint/ブラックリスト/バックドア関数、プロキシパターン、ソースコードの検証、コントラクトの経過期間、トランザクションアクティビティ。
インストール
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json に追加します。
{
"mcpServers": {
"contract-scanner": {
"command": "node",
"args": ["/Users/sam/Desktop/samDev/p8/mcp/server.js"]
}
}
}
Claude Desktop を再起動します。ツールが自動的に表示されます。
Cursor
.cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json(グローバル)に追加します。
{
"mcpServers": {
"contract-scanner": {
"command": "node",
"args": ["/Users/sam/Desktop/samDev/p8/mcp/server.js"]
}
}
}
Cline(VS Code 拡張機能)
- Cline の設定を開きます → MCP Servers → Add server
- タイプを設定します:
stdio - コマンド:
node /Users/sam/Desktop/samDev/p8/mcp/server.js
任意の MCP クライアント(汎用)
このサーバーは stdio トランスポートを使用します。JSON-RPC メッセージをパイプするだけです。
node /Users/sam/Desktop/samDev/p8/mcp/server.js
使用例
接続したら、AI アシスタントに自然な言葉で尋ねるだけです。
"Scan this contract before I approve: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
"Compare the risk of these 3 Aave clones: 0x... 0x... 0x..."
"Is this token safe to buy? 0x4ed4e862860bed51a9570b96d89af5e1b0efefed"
分析対象
| チェック項目 | 情報源 |
|---|---|
| ソースコードは検証済みか? | BaseScan API |
| mint/burn 関数 | バイトコードのセレクタースキャン |
| 一時停止/凍結 | バイトコードのセレクタースキャン |
| ブラックリスト/ホワイトリスト | バイトコードのセレクタースキャン |
| バックドア(rescueTokens、withdrawAll) | バイトコードのセレクタースキャン |
| アップグレード可能なプロキシ | BaseScan + delegatecall の検出 |
| コントラクトの経過期間 | BaseScan のトランザクション履歴 |
| アクティビティレベル | BaseScan の最近のトランザクション |
リスクスコア
| スコア | ラベル | 意味 |
|---|---|---|
| 0-9 | SAFE | 懸念事項はありません |
| 10-29 | LOW | 軽微な懸念があります |
| 30-49 | MEDIUM | リスクが高まっています。利用前に確認してください |
| 50-69 | HIGH | 重大なリスクがあります。少額でのみ利用してください |
| 70+ | CRITICAL | 避けてください。ラグまたはバックドアの可能性があります |
技術情報
- チェーン:Base L2 のみ(
https://mainnet.base.org) - API:BaseScan 無料プラン(基本チェックにキーは不要です。ソースコードの完全な分析には
BASESCAN_API_KEY環境変数を設定してください) - ウォレット不要:読み取り専用の RPC 呼び出しのみ
- レイテンシ:コントラクトごとに約 2~5 秒(ネットワーク状況によります)
Base 上で構築。エージェントウォレット:0x804dd2cE4aA3296831c880139040e4326df13c6e
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。