T

cosmos-vulnerability-scanner

作成者 trailofbits

cosmos-vulnerability-scanner は、Cosmos SDK モジュール、CosmWasm コントラクト、IBC 統合、Cosmos EVM スタックに潜むコンセンサス重大バグを見つけます。セキュリティ監査のワークフロー、チェーン停止リスク、資金流出につながる経路、リリース前レビューでは、この cosmos-vulnerability-scanner ガイドを活用してください。

スター4.9k
お気に入り0
コメント0
追加日2026年4月30日
カテゴリーSecurity Audit
インストールコマンド
npx skills add trailofbits/skills --skill cosmos-vulnerability-scanner
編集スコア

この skill の評価は 83/100 で、Cosmos SDK、CosmWasm、IBC、Cosmos EVM のコードを監査するユーザーにとって十分有用なディレクトリ掲載です。リポジトリにはワークフローの具体性、パターン網羅性、利用条件の明確さがあり、一般的なプロンプトより少ない推測でエージェントを起動できます。ただし、導入後は検出結果をある程度手動で解釈する前提で考えるのがよいでしょう。

83/100
強み
  • トリガーしやすく、対象範囲も明確です。frontmatter と When to Use / When NOT to Use の各セクションで、Cosmos SDK モジュール、CosmWasm コントラクト、IBC 統合、チェーン停止・資金損失の調査がはっきり想定されています。
  • 運用面の深さがあります。skill 本文は長く、複数の見出し、コードフェンス、リポジトリ/ファイル参照、そして定義済みの出力ディレクトリ運用があり、エージェントによるスキャンと書き込みの流れを支えます。
  • 再利用性の高い実用性があります。Cosmos、IBC、EVM、CosmWasm、state、高度な脆弱性パターンまでカバーしており、一般的な監査プロンプトではなく具体的な検出パターンをエージェントに与えられます。
注意点
  • インストールコマンドやスクリプトは提供されていないため、ユーザーは自分のエージェントワークフローに手動で組み込む必要がある場合があります。
  • パターンとリソースは豊富ですが、自動実行というよりエージェントの解釈に依存しているように見えるため、結果は対象リポジトリの品質や監査コンテキストによって変わる可能性があります。
概要

cosmos-vulnerability-scanner スキルの概要

cosmos-vulnerability-scanner ができること

cosmos-vulnerability-scanner スキルは、Cosmos SDK のコード、CosmWasm コントラクト、IBC 連携、Cosmos EVM スタックに潜むコンセンサス致命的なバグを見つけるためのものです。一般的なコード臭ではなく、チェーン停止、コンセンサス崩壊、状態不整合、資産喪失につながる問題に重点を置きます。cosmos-vulnerability-scanner for Security Audit の流れで使うなら、「このチェーンは悪用されるか、文鎮化するか?」を問いたいときに最適で、単に「コードがきれいか?」を見たい場面向きではありません。

どんな人に向いているか

カスタム x/ モジュール、ブリッジや IBC ロジック、リリース前の app chain、あるいはオンチェーン価値が大きい CosmWasm コントラクトを監査するなら、cosmos-vulnerability-scanner スキルを使う価値があります。特に、場当たり的なプロンプトレビューではなく、複数の脆弱性クラスを横断して構造的に点検したいチームに向いています。純粋な Solidity 監査、一般的な Go レビュー、アプリケーション層の外にあるチェーン構成要素には、あまり向いていません。

何が違うのか

このスキルは単なるチェックリストではなく、脆弱性カテゴリごとにスキャンを整理し、個別の markdown findings を出力します。Cosmos のバグは、状態管理、IBC パケット処理、モジュール権限、EVM/Cosmos の原子的整合性など、複数の面にまたがりやすいからです。付属の resources/ ファイルには具体的なパターン群がまとまっており、漠然と「バグを探して」と頼むより実践的です。

cosmos-vulnerability-scanner スキルの使い方

インストールして、正しいリポジトリを指定する

cosmos-vulnerability-scanner install では、環境で使っている標準の skills コマンドでスキルを agent workspace に追加し、そのうえで対象リポジトリをスキャンする前にスキル本体とリンク先のサポートドキュメントを開いてください。実運用では、どのコードベースを解析させたいのか、出力先をどこにしたいのかを明示すると最も安定します。デフォルトの出力ディレクトリは .bughunt_cosmos/ ですが、ワークフローで別の場所が必要なら上書きしてください。

スキルに適した入力の形にする

強い cosmos-vulnerability-scanner usage のプロンプトには、リポジトリのパス、チェーンの種類、アプリの目的、既知のホットスポットを含めます。たとえば、「この Cosmos SDK app chain を、カスタムモジュール、IBC ハンドラ、module-account ロジックにおけるコンセンサス致命的な問題についてスキャンしてください。pre-blocker、msg servers、keeper の write、供給量・コンセンサス・クロスチェーン転送に影響するコードを優先してください。」のように書くのがよいです。単に「このリポジトリをレビューして」よりはるかに有効で、重要なコードパスへスキャナの注意を向けられます。

先に読むべきファイル

まず SKILL.md を読み、次にスコープ変更の有無を確認するために CHANGELOG.md を読みます。そのうえで、resources/ 内の関連パターンファイル、DISCOVERY.mdVULNERABILITY_PATTERNS.mdSTATE_VULNERABILITY_PATTERNS.mdIBC_VULNERABILITY_PATTERNS.mdEVM_VULNERABILITY_PATTERNS.mdCOSMWASM_VULNERABILITY_PATTERNS.md を確認してください。対象が Cosmos EVM チェーンなら先に EVM ファイル、コントラクト比重が高いなら CosmWasm ファイルを優先します。これらのファイルを読むと、スキルが実際に何をチェックするのかが分かり、脆弱性クラスの見落としを防げます。

実用的な監査ワークフローで使う

まずチェーンを分類します。純粋な Cosmos SDK か、IBC 対応か、CosmWasm か、Cosmos EVM かを切り分けます。次に、カスタムモジュール、ABCI フック、keeper、message server を棚卸しします。これらが攻撃面を決めるからです。そのうえで、state mutation、権限チェック、packet receive/acknowledgement ハンドラ、bank・staking・authz・module account に触る処理といった高リスク経路から先にスキルを走らせます。リポジトリ順にファイルをなぞるより、こちらのほうが結果が良くなります。

cosmos-vulnerability-scanner スキル FAQ

フルチェーン監査だけのためのものですか?

いいえ。cosmos-vulnerability-scanner スキルは、1つのカスタムモジュール、1つの IBC middleware スタック、1つの CosmWasm コントラクトパッケージのような部分レビューにも有効です。重要なのは、そのコードがコンセンサス状態、トークン移動、クロスチェーン動作に影響することです。レビュー対象がその経路に乗っていないなら、このスキルはたぶん適切ではありません。

通常のプロンプトと比べて何が違いますか?

通常のプロンプトでもセキュリティレビューは頼めますが、cosmos-vulnerability-scanner にはドメイン特化の構造、パターンライブラリ、出力規律があります。その結果、パケット信頼の誤り、module-account の悪用、EVM/Cosmos の状態不整合など、Cosmos 特有の失敗モードを見落としにくくなります。単発の意見ではなく、再現性のある cosmos-vulnerability-scanner guide 的な挙動を求めるなら、こちらのほうが適しています。

初心者でも使えますか?

はい。ただし、チェーンの種類と状態遷移を定義しているファイルを見分けられることが前提です。このスキルは、SDK バージョン、IBC スタック、EVM runtime の有無、対象がローンチ前レビューか本番インシデントか、といった情報があるほど価値が上がります。初心者がつまずきやすいのは、この文脈を省いて、スキャナが監査範囲を自動で推測してくれると思ってしまうケースです。

どんなときに使わないほうがいいですか?

純粋な EVM/Solidity プロジェクト、wasmd を使わない一般的な Rust コントラクト、あるいはコンセンサス影響が明らかにないコードには、cosmos-vulnerability-scanner を使わないでください。ドキュメント作成だけの作業や、フロントエンド/クライアントコードにも向きません。目的がセキュリティ分析ではなく使い勝手の確認なら、別のワークフローを使うべきです。

cosmos-vulnerability-scanner スキルを改善するには

コードだけでなく、チェーンの文脈を与える

最良の結果は、そのチェーンが何をしているかまで伝えたときに出ます。DEX、staking、bridge、lending、汎用 app chain のどれなのかを明示してください。加えて、SDK バージョン、ibc-go バージョン、x/evmwasmd、ICA middleware の使用有無も添えると、スキャナが無関係な領域に時間を使わず、適切な脆弱性ファミリーを優先できます。

リスクの高い経路を具体的に名指しする

すでにバグを疑っているなら、どこを見るべきかをはっきり書いてください。keeper/msg_server.goapp.goante.go、IBC の OnRecvPacket ハンドラ、module account ロジック、独自の BeginBlocker/EndBlocker などです。大まかな指示より、こうした入力のほうが強いです。Cosmos のインシデントは、たいていこうした state mutation の地点から起きるからです。注目している機能領域があるなら、そこも直接書きましょう。

指摘結果から、より狭い質問へ反復する

最初のパスで出た最重要の指摘をもとに、より絞った問いで再実行してください。たとえば、1つのモジュールを再チェックして invariant break がないかを確認したり、1つの IBC 経路で channel trust と packet replay 問題を再検証したりします。重複出力に埋もれずに cosmos-vulnerability-scanner usage の精度を上げる、最短の方法です。

見落としやすい典型パターンに注意する

最も多い失敗は、状態遷移の説明が足りないことです。コードは無害に見えても、mint/burn 権限、escrow、クロスチェーンコールバック、precompile 境界に触れた瞬間に危険になることがあります。もう1つの見落としは、ハンドラではないから安全だと決めつけることです。module helper でも、コンセンサス経路に入力されるなら十分に危険です。このスキルは、どこで state が変わり、その変更を誰が引き起こせるのかを伝えたときに最もよく機能します。

評価とレビュー

まだ評価がありません
レビューを投稿
このスキルの評価やコメントを投稿するにはサインインしてください。
G
0/10000
新着レビュー
保存中...