mcpField
N
near-contract-audit

near-contract-audit

github.com/nearセキュリティ1670 回インストール4 週間前に更新
リポジトリ

near-contract-audit について

Rust製NEARスマートコントラクト向けのセキュリティ監査スキルです。監査担当者やコーディングエージェントが自動解析と手動レビューを行い、重要度別に指摘事項をまとめられます。

主な機能

  1. 01一般的な脆弱性パターンのスキャン
  2. 02ビジネスロジックとアクセス制御のレビュー
  3. 03指摘事項の悪用可能性の評価
  4. 04重要度別の監査レポート作成
  5. 05脆弱性検出器のリファレンス

活用シーン

  1. 01NEAR Rustコントラクトのセキュリティ監査
  2. 02スキャン結果が実際の脆弱性か検証
  3. 03指摘事項の修正案を作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/near/agent-skills --skill near-contract-audit

インストール後、Claude Code で/near-contract-auditを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
high-severity.md
low-severity.md
medium-severity.md

詳細

NEAR コントラクトの監査

Rust 製の NEAR スマートコントラクト向けセキュリティ監査スキルです。

監査ワークフロー

フェーズ 1:自動分析

お好みの Rust 静的解析ツールと NEAR に特化したセキュリティツールをコントラクトに対して実行し、次の項目を確認します。

  • よくある脆弱性パターン(再入可能性、安全でない算術演算、未処理のプロミス、アクセス制御の問題など)をスキャンします
  • さらに詳しい手動レビューが必要となる可能性のある危険なパターンを特定します
フェーズ 2:手動レビュー

自動分析の後、次の項目を手動でレビューします。

  • ビジネスロジックの脆弱性
  • アクセス制御のパターン
  • 経済的な攻撃ベクトル
  • コントラクト間の安全な連携
フェーズ 3:コード固有の分析

各検出事項について、次の項目を確認します。

  1. 誤検知ではないか?
  2. 悪用可能性はどの程度か?
  3. 推奨される修正方法は何か?
フェーズ 4:レポートの作成

検出事項を、深刻度、該当箇所、説明、修正方法とともに記録します。

脆弱性クイックリファレンス

深刻度検出器 ID説明
高non-private-callbackコールバックに #[private] マクロがありません
高reentrancyコントラクト間呼び出し後に状態が変更されています
高incorrect-argument-or-return-typesJSON インターフェースでネイティブ整数型を使用しています
高unsaved-changesコレクションの変更が永続化されていません
高owner-check呼び出し元/所有者の検証がありません
高yocto-attach機密性の高い関数で assert_one_yocto がありません
高storage-collision異なるコレクションで同じストレージプレフィックスを使用しています
高required-initialization-macro初期化メソッドに #[init] がありません
中gas-griefing上限のないループによって DoS が発生する可能性があります
中insecure-randomブロックデータから予測可能な乱数を生成しています
中prepaid-gasコールバック用に予約されるガスが不十分です
低cover-storage-costストレージ預託金の検証がありません
低unsafe-mathオーバーフローチェックのない算術演算
低float-math金融計算に浮動小数点型を使用しています

参考ファイル

コード例を含む脆弱性の詳細なドキュメントについては、次を参照してください。

コメント