contract-security-scanner について
contract-security-scannerは、NEARのセキュリティ観点を備えたスマートコントラクト向けのヒューリスティック検査MCPサーバーです。Solidity、Rust、TypeScriptに対応し、重大度・種類・行番号を含む検出結果を返します。
主な機能
- 01Solidity、Rust、TypeScriptのスキャン
- 025種類のヒューリスティックなリスク検出
- 03重大度・種類・行番号の報告
- 04セキュリティとNEAR相当のスコア
- 05NEAR固有の注記と推奨事項
活用シーン
- 01コントラクトの一般的なリスクを確認
- 02言語別のセキュリティモデルを比較
- 03言語別の監査チェックリストを利用
MCP 対応
MCPクライアントに`scan_contract`、`compare_security_models`、`audit_checklist`のツールを提供します。スキャン結果には脆弱性の検出内容とNEARに関するセキュリティ情報が含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| code | string | はい | |
| language | enum | はい | rust | solidity | typescript |
詳細
mcp-contract-security
スマートコントラクトのセキュリティスキャン用 MCP サーバーです。
以下の必須ツールを実装しています。
scan_contractcompare_security_modelsaudit_checklist
以下の言語に対応しています。
solidityrusttypescript
チェック項目
scan_contract は現在、ヒューリスティックなパターンを検出します。
- 再入可能性
- 整数のオーバーフロー/アンダーフローのリスク
- アクセス制御の問題
- フロントランニングのリスク
- オラクル操作のリスク
出力には以下が含まれます。
- 重大度/種類/行番号を含む脆弱性の一覧
security_scorenear_equivalent_score- NEAR 固有のセキュリティに関する注意事項と推奨事項
インストール
npm install -g mcp-contract-security
公開済みパッケージ:
- npm: https://www.npmjs.com/package/mcp-contract-security
- MCP Registry: https://registry.modelcontextprotocol.io/v0/servers/io.github.mastrophot%2Fcontract-security-scanner/versions/0.1.1
MCP の設定(Claude Desktop)
{
"mcpServers": {
"contract-security": {
"command": "mcp-contract-security"
}
}
}
ツールの使用方法
scan_contract
入力:
{
"code": "contract source code here",
"language": "solidity"
}
compare_security_models
入力(省略可能):
{
"language": "solidity"
}
audit_checklist
入力(省略可能):
{
"language": "rust"
}
ローカル開発
npm install
npm run check
提供アセット
追加の公開用アセットが deliverables/ に用意されています。
deliverables/mcp-registry-submission.mddeliverables/security-subreddit-posts.mddeliverables/blog-why-near-contracts-safer.mdserver.json(MCP Registry のメタデータ、スキーマ検証済み)
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。