T

entry-point-analyzer

作成者 trailofbits

entry-point-analyzer は、スマートコントラクトのコードベースにある状態変更系のエントリーポイントを、セキュリティ監査のために整理・把握するのに役立ちます。外部から呼び出せて状態を変更する関数を特定し、アクセス権限ごとに分類し、view、pure、その他の読み取り専用パスを除外します。Solidity、Vyper、Solana、Move、TON、CosmWasm の各プロジェクトで、呼び出し面の対象を絞って把握したいときに使うガイドです。

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

このスキルのスコアは 77/100 で、堅実だが最上位ではない掲載候補です。複数の主要言語にまたがる状態変更系スマートコントラクトのエントリーポイントを、明確な条件付きで抽出できるため、汎用プロンプトよりも判断のブレを抑えやすい構成です。

77/100
強み
  • 監査、エントリーポイント、アクセス制御パターン、特権操作に対する明示的なトリガー条件がある。
  • 読み取り専用関数を除外し、言語ごとの検出ルールと例があり、運用の見通しがよい。
  • Solidity、Vyper、Solana、Move、TON、CosmWasm を対象にした構造化リファレンスで、エージェントにとって扱いやすい。
注意点
  • インストールコマンドや補助スクリプトはないため、導入には SKILL.md と参照資料を直接読む必要がある。
  • 対象範囲は意図的に狭く、エントリーポイントの整理には役立つ一方、より広い脆弱性検出や exploit 生成には向かない。
概要

entry-point-analyzer skill の概要

entry-point-analyzer skill は、スマートコントラクトのコードベースを深くセキュリティレビューする前に、状態を変更しうる攻撃面を把握するための skill です。目的は「バグがあるか」ではなく、「外部から到達できて状態を変えられる関数はどれで、誰が呼べるのか」を先に切り分けることにあります。

entry-point-analyzer skill は何のためのものか

entry-point-analyzer skill は、Solidity、Vyper、Solana、Move、TON、CosmWasm のプロジェクトに対して、実用的な entry-point の棚卸しを行いたいときに使います。特に、entry-point-analyzer for Security Audit のワークフロー、つまりアクセス制御レビュー、特権操作の発見、監査範囲の切り分けに向いています。

entry-point-analyzer skill が除外するもの

この skill は、読み取り専用のコードパス、pure なヘルパー、内部専用関数を意図的に除外します。そのため、セキュリティ観点の call surface だけを見たいときには、一般的なプロンプトよりも意思決定に役立ちます。コード全体のウォークスルーを目的とするものではありません。

どんな人に最も向いているか

最適なのは、セキュリティ監査担当者、プロトコルエンジニア、そして public または privileged な変更経路を素早く特定したい agents です。目的が exploit research、gas profiling、一般的なコード品質レビューなら、この skill は適していません。

entry-point-analyzer skill の使い方

skill をインストールして場所を確認する

trailofbits/skills plugin repository から、entry-point-analyzer install の流れで導入します。

npx skills add trailofbits/skills --skill entry-point-analyzer

その後は、まず skill の entry ファイルを読みます。この repo では、最も参照価値が高いのは plugins/entry-point-analyzer/skills/entry-point-analyzer/SKILL.md です。

良い入力プロンプトを作る

entry-point-analyzer usage のパターンは、repo、言語、レビュー目的を最初に明示したときに最もよく機能します。たとえば、次のようなプロンプトが有効です。

“Analyze this Solidity protocol and list every state-changing external/public entry point, grouped by access control and deployment-time behavior. Exclude view and pure functions. Highlight admin-only, role-gated, fallback, and constructor paths.”

コードベースが複数言語をまたぐなら、その点を明確に伝えてください。特定の module、contract、package だけを見たい場合も、はっきり名前を挙げるのが重要です。

先にサポートファイルを読む

高品質な出力を得るには、SKILL.md だけで止まらないことが大切です。この skill では、補助リファレンスが言語ごとの entry-point ルールを補足していることがよくあります。

  • references/solidity.md
  • references/vyper.md
  • references/solana.md
  • references/move-aptos.md
  • references/move-sui.md
  • references/ton.md
  • references/cosmwasm.md

これらのファイルでは、fallback handler、transaction-only function、message receiver、アクセス制御パターンといった境界条件を確認できます。

実用的な結果を出すワークフロー

まずはコードベース全体の entry-point map を依頼し、その後でリスクの高い entry に絞って再度確認します。たとえば最初の棚卸しのあとに、admin-gated function だけ、upgrade や migration の経路だけ、あるいは ownership と authorization の state に触る関数だけを依頼します。この流れにすると、単発の要約よりも skill を有効に使えます。

entry-point-analyzer skill の FAQ

entry-point-analyzer はスマートコントラクト専用ですか?

はい。これはスマートコントラクトのコードベースと、チェーン固有の entry-point 規約向けに設計されています。標準的な backend、frontend、あるいは一般的なアプリケーションコードを対象にするものではありません。

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

通常のプロンプトでは、特に Solidity、Move、TON、CosmWasm をまたぐ場合に、言語固有の entry-point ルールを見落としがちです。entry-point-analyzer skill は、状態を変更する外部 surface のみに対象を絞り、ノイズを減らす除外ルールも持っています。

entry-point-analyzer は初心者向けですか?

はい。契約の外部 mutation surface を理解したいという目的なら使いやすいです。ただし、skill 自体が脆弱性を自動で見つけるわけではないため、exploit detection を期待すると使いにくく感じます。これは scoping と分類のための skill です。

どんなときに使うべきではありませんか?

読み取り専用の分析、一般的なコードレビュー、exploit 開発が必要な場合には entry-point-analyzer を使わないでください。また、対象がスマートコントラクト系のシステムでない場合や、内部ヘルパーを含むすべての関数を見たい場合にも適しません。

entry-point-analyzer skill を改善するには

アナライザーに正しい境界を与える

最も良い entry-point-analyzer usage は、1つの repo、1つの protocol、または 1つの deployment package を明確に指定するところから始まります。無関係な package まで含めると、結果はノイジーになり、信頼しづらくなります。

知りたいアクセス制御の論点を明示する

多くの場合、知りたいことは次の3つのどれかです。「誰でも呼べるものは何か」「admin-only は何か」「deployment や migration 中に state を変えるものは何か」。これを明示して依頼してください。ファイル単位で列挙させるよりも、callability と privilege でグループ化した出力のほうが、この skill は強く機能します。

必要なときは言語固有の文脈を与える

複数言語の repo では、どの framework 規約を優先すべきかを伝えてください。たとえば Solana なら Anchor、CosmWasm なら entry_point パターン、TON なら receive handlers を明示します。そうすると、framework 固有の entry 経路に対する false negative を減らせます。

棚卸しからレビューへ段階的に進める

最初に、完全な entry-point map を依頼します。その後で、最もリスクの高い上位5件の関数、それらが依拠する authorization check、そして不自然または保護が甘そうな state-changing path を確認します。最初から完全なセキュリティ監査を一度で求めるより、この2段階のほうが結果はよくなります。skill の出力は、きれいな surface map から始めたときに最も検証しやすいからです。

評価とレビュー

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