secure-workflow-guide
Trail of Bitsが定める5段階のセキュア開発ワークフローに沿って作業を進めるスキルです。Slitherによる静的解析スキャンの実行、アップグレード可能性・ERC準拠・トークン統合などの特殊機能チェック、セキュリティ図の自動生成、ファジングや形式検証向けのセキュリティプロパティ文書化の支援、および手動レビューが必要なセキュリティ領域の確認までを一貫してカバーします。
description の原文を見る
Guides through Trail of Bits' 5-step secure development workflow. Runs Slither scans, checks special features (upgradeability/ERC conformance/token integration), generates visual security diagrams, helps document security properties for fuzzing/verification, and reviews manual security areas.
SKILL.md 本文
セキュアワークフローガイド
目的
Trail of Bits のセキュアな開発ワークフローをガイドする — 開発全体を通じてスマートコントラクトのセキュリティを向上させるための5段階のプロセス。
用途: 毎回のチェックイン時、デプロイ前、またはセキュリティレビューが必要なときに使用
5段階ワークフロー
以下を含むセキュリティワークフローをカバーします:
ステップ1: 既知のセキュリティ問題をチェック
70以上の組み込みデテクタを搭載した Slither を実行して一般的な脆弱性を検出:
- 重大度別に検出結果を分類
- ファイル参照付きで各問題を説明
- 修正を推奨
- 誤検知の分類を支援
目標: Slither レポートをクリーンにするか、分類を文書化する
ステップ2: 特別な機能をチェック
適用可能な機能を検出および検証:
- アップグレーダビリティ: slither-check-upgradeability (17個のアップグレードリスク)
- ERC適合性: slither-check-erc (6つの一般的なスペック)
- トークン統合: token-integration-analyzer スキルを推奨
- セキュリティプロパティ: ERC20向け slither-prop
注: コードベースに適用される確認のみを実行
ステップ3: ビジュアルセキュリティ検査
3つのセキュリティダイアグラムを生成:
- 継承グラフ: シャドーイングと C3 線形化の問題を特定
- 関数サマリー: 可視性とアクセス制御を表示
- 変数と認可: 状態変数への書き込み権限をマップ
各ダイアグラムをセキュリティ上の懸念事項についてレビュー
ステップ4: セキュリティプロパティを文書化
重要なセキュリティプロパティを文書化するのを支援:
- ステートマシンの遷移と不変量
- アクセス制御要件
- 算術制約と精度
- 外部との相互作用の安全性
- 標準準拠
その後テストを設定:
- Echidna: 不変量を用いたプロパティベースファジング
- Manticore: シンボリック実行による形式検証
- カスタム Slither チェック: プロジェクト固有のビジネスロジック
注: セキュリティにとって最も重要なアクティビティ
ステップ5: 手動レビュー領域
自動ツールが見落とす領域を分析:
- プライバシー: オンチェーンシークレット、コミット・リビール の必要性
- フロントランニング: スリッページ保護、順序付けリスク、MEV
- 暗号: 弱い乱数生成、署名の問題、ハッシュ衝突
- DeFi相互作用: オラクル操作、フラッシュローン、プロトコルの仮定
コードベースをこれらのパターンで検索しリスクをフラグ
詳細な手順、コマンド、各ステップの説明については、WORKFLOW_STEPS.md を参照してください。
動作方法
呼び出されると、以下を実行します:
- コードベースを探索: 構造を理解
- ステップ1を実行: Slither セキュリティスキャン
- ステップ2を検出して実行: 特別な機能チェック (適用されるもののみ)
- ステップ3を生成: ビジュアルセキュリティダイアグラム
- ステップ4をガイド: セキュリティプロパティ文書化
- ステップ5を分析: 手動レビュー領域
- アクションプランを提供: 優先順位付きの修正と次のステップ
以下に基づいて適応:
- インストール済みのツール
- プロジェクトに適用される内容
- 開発のどの段階にいるか
正当化根拠 (スキップしないこと)
| 正当化根拠 | なぜ間違っているのか | 必要なアクション |
|---|---|---|
| 「Slither が利用できない、手動でチェックする」 | 手動チェックでは70以上のデテクタパターンを見落とす | Slither をインストールして実行するか、ブロック理由を文書化 |
| 「ダイアグラムが生成できない、アーキテクチャを説明する」 | 説明は視覚的ではない — ダイアグラムはテキストが見落とすパターンを明らかにする | slither --print コマンドを実行し、実際のビジュアル出力を生成 |
| 「アップグレードが検出されない、アップグレーダビリティチェックをスキップ」 | プロキシとアップグレードはしばしば暗黙的または計画中 | スキップする前にコードベース検索で確認 |
| 「トークンではない、ERC チェックをスキップ」 | トークンは明らかな ERC 継承なしに統合できる | スキップする前にトークンインタラクション、トランスファー、残高をチェック |
| 「今 Echidna を設定できない、後で提案する」 | プロパティベーステストはステップ4で、オプションではない | プロパティを今すぐ文書化し、ファジング基盤を設定 |
| 「DeFi相互作用なし、オラクル/フラッシュローンチェックをスキップ」 | DeFi パターンは予期しない場所に出現 (価格フィード、外部呼び出し) | ステップ5の手動レビューを完了し、コードベースをパターン検索 |
| 「このステップはプロジェクトに適用されない」 | 検証なしの「適用外」= 見落とされた脆弱性 | N/A を宣言する前に明示的なコードベース検索で確認 |
| 「汎用的なセキュリティアドバイスをワークフロー実行の代わりに提供」 | 汎用アドバイスは実行可能ではない、ワークフローは具体的な問題を発見する | すべての5ステップを実行し、ファイル:行番号参照付きのプロジェクト固有の検出結果を生成 |
出力例
ワークフロー完了時、以下を含む包括的なセキュリティレポートが提供されます:
- ステップ1: 重大度、ファイル参照、修正推奨付き Slither 検出結果
- ステップ2: 特別な機能検証結果 (アップグレーダビリティ、ERC適合性など)
- ステップ3: 継承、関数、状態変数認可を分析するビジュアルダイアグラム
- ステップ4: 文書化されたセキュリティプロパティとテスト設定 (Echidna/Manticore)
- ステップ5: 手動レビュー検出結果 (プライバシー、フロントランニング、暗号、DeFiリスク)
- アクションプラン: 重大度/優先度別タスクと工数見積もり
- ワークフローチェックリスト: すべての5ステップの進捗
完全なワークフローレポート例については、EXAMPLE_REPORT.md を参照してください。
成果物
セキュリティレポート:
- 重大度と修正付き Slither 検出結果
- 特別な機能検証結果
- ビジュアルダイアグラム (PNG/PDF)
- 手動レビュー検出結果
アクションプラン:
- 直ちに修正すべき重大な問題
- 文書化すべきセキュリティプロパティ
- 設定すべきテスト (Echidna/Manticore)
- レビューすべき手動領域
ワークフローチェックリスト:
- Slither レポートがクリーン
- 特別な機能が検証済み
- ビジュアル検査が完了
- プロパティが文書化済み
- 手動レビューが完了
ヘルプを得る
Trail of Bits リソース:
- Office Hours: 毎週火曜日 (スケジュール)
- Empire Hacking Slack: #crytic と #ethereum チャネル
その他のセキュリティ:
- 覚えておく: セキュリティはスマートコントラクト以上の問題
- オフチェーンセキュリティ (所有者キー、インフラ) は同等に重要
開始準備完了
準備ができたら知らせてください、コードベースでワークフローを実行します!
ライセンス: CC-BY-SA-4.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- trailofbits
- リポジトリ
- trailofbits/skills
- ライセンス
- CC-BY-SA-4.0
- 最終更新
- 不明
Source: https://github.com/trailofbits/skills / ライセンス: CC-BY-SA-4.0
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。