forge-security-review について
Forge アプリを対象にホワイトボックスのセキュリティレビューを行い、悪用可能性を検証して証拠、影響、修正案をまとめるスキルです。マニフェストに基づいてルールを選ぶため、Forge アプリの開発者やセキュリティ担当者に適しています。
主な機能
- 01静的解析を先に実行
- 02マニフェストに基づくルール選択
- 03入口から危険な処理まで追跡
- 04悪用可能性の検証と評価
- 05証拠付き監査レポートの作成
活用シーン
- 01Forge アプリの認可とテナント分離を確認
- 02外部通信、秘密情報、インジェクションのリスクを調査
- 03Forge コードベースの全体的なセキュリティスキャン
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ atlassian/ forge-skills --skill forge-security-reviewインストール後、Claude Code で/forge-security-reviewを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/security-rules/_global-forge.mdcassets/security-rules/forge-auditing/_index-auditing.mdcstatic-analysis-forge.mdcassets/security-rules/forge-authn-authz/_index-authn-authz.mdcasapp-privilege-escalation.mdcdisplay-conditions-bypass.mdcmissing-resolver-authz.mdcprefer-context-authz.mdcassets/security-rules/forge-egress-remotes/_index-egress-remotes.mdcdata-egress-redirects.mdcwildcard-permissions.mdcassets/security-rules/forge-injection/_index-injection.mdcprototype-pollution.mdcrce-code-execution.mdcsql-injection.mdcssrf.mdcxss.mdcassets/security-rules/forge-manifest-config/_index-manifest-config.mdccontent-security-policy.mdcegress-url-entries.mdcpermission-scopes.mdcassets/security-rules/forge-misc/_index-misc.mdcsoftware-composition.mdcassets/security-rules/forge-rovo-agents/_index-rovo-agents.mdcagent-privilege-escalation.mdcassets/security-rules/forge-secrets-storage/_index-secrets-storage.mdchardcoded-secrets.mdcassets/security-rules/forge-tenant-isolation/_index-tenant-isolation.mdcglobal-state-warmstart.mdcassets/security-rules/forge-webtrigger-entrypoints/_index-webtrigger-entrypoints.mdc詳細
Forge セキュリティレビュー
Forge に特化したホワイトボックスセキュリティレビューを実施し、悪用可能性、影響、証拠、修正ガイダンスを添えて検証済みの検出結果を報告します。
トークン効率を重視したデフォルト設定
トークン使用量を削減するため、デフォルトでマニフェストに基づくルーティングを使用します。すべてのルールファイルを最初に読み込まないでください。
ルールアセット
レビュー用ルールは、このスキルの assets/security-rules/ にパッケージされています。
- グローバルベースライン:
assets/security-rules/_global-forge.mdc - カテゴリーインデックス:
assets/security-rules/forge-*/_index-*.mdc - カテゴリー詳細チェック:
assets/security-rules/forge-*/*.mdc
実行上の必須事項
このスキルが起動された場合:
- このスキルのディレクトリから、まず静的解析を実行します。
scripts/run_static_analysis.sh <forge-project-root-directory>- Windows では
.ps1スクリプトを使用します
- 詳細なコードレビューを始める前に、
manifest.ymlを読み込みます。 - 最初に
assets/security-rules/_global-forge.mdcを読み込みます。 - マニフェストとコードの兆候に基づき、関連するカテゴリーインデックスルールのみを読み込みます。
- 実際のコードパターンによって該当する検出ヒューリスティックが起動された場合に限り、詳細なサブルールを読み込みます。
- 以下の項目について、証拠に基づくセキュリティレビューを実施します。
- 認証/認可
- インジェクションと入力検証
- テナント分離とテナント間の情報漏えい
- シークレットとストレージ
- 外向き通信/リモート接続/CSP およびマニフェストの権限
- 公開エントリーポイント(Web トリガー)
- エージェントおよびその他の Forge セキュリティリスク
- ユーザーが修正を明示的に依頼しない限り、アプリのコードを変更しません。
- スキャン出力と生成されたアーティファクトはすべて
security-audit-artifacts/に書き込みます。
ルールのルーティングワークフロー
フェーズ 1:偵察(必須)
まず manifest.yml を読み込み、以下を抽出します。
permissions.scopespermissions.external.fetchpermissions.content.scriptsmodules(resolver/webtrigger/scheduledTrigger/rovo/etc.)remotesapp.runtime.name
実行マップを作成します。
- UI モジュール → ブリッジ呼び出し → resolver/関数
- 外部エントリーポイント(Web トリガー、イベント、スケジュール)
api.asUser()とapi.asApp()の経路- 外向き fetch の宛先
フェーズ 2:インデックスルールの選択(二段階読み込み)
必ず最初に読み込みます。
assets/security-rules/_global-forge.mdc
次に、関連するカテゴリのインデックスルールのみを読み込みます。
| シグナル | 読み込むルール |
|---|---|
スコープの有意な使用、変更、または asApp() の使用 | assets/security-rules/forge-authn-authz/_index-authn-authz.mdc |
webtrigger または scheduledTrigger モジュール | assets/security-rules/forge-webtrigger-entrypoints/_index-webtrigger-entrypoints.mdc |
permissions.external.fetch または remotes | assets/security-rules/forge-egress-remotes/_index-egress-remotes.mdc |
| SQL API、または信頼できない入力がリゾルバーのシンクに到達する場合 | assets/security-rules/forge-injection/_index-injection.mdc |
| マルチテナントのパターン、モジュール/グローバル状態、キャッシュの再利用 | assets/security-rules/forge-tenant-isolation/_index-tenant-isolation.mdc |
| 認証情報/トークン/シークレットの取り扱い | assets/security-rules/forge-secrets-storage/_index-secrets-storage.mdc |
| 安全でない CSP、またはスコープ/設定の誤構成が疑われる場合 | assets/security-rules/forge-manifest-config/_index-manifest-config.mdc |
| Rovo モジュール/アクション | assets/security-rules/forge-rovo-agents/_index-rovo-agents.mdc |
| 基本的なログ記録/エラー処理/静的解析に関する懸念 | assets/security-rules/forge-auditing/_index-auditing.mdc |
| 依存関係/パッケージのリスクレビュー | assets/security-rules/forge-misc/_index-misc.mdc |
サブルールの方針:
- インデックスを読んだ後は、コードで確認された検出ヒューリスティックに一致するサブルールのみを読み込みます。
- カテゴリ内のすべてのサブルールを事前に読み込まないでください。
フェーズ 3:分析と検証
読み込んだ各カテゴリについて、以下を行います。
- 到達可能なエントリポイントを列挙します。
- ソース → 検証/認可 → シンクを追跡します。
- 根拠を示して悪用可能性を確認します。
- 確認済みの指摘事項を CVSS v3.1 で評価します。
集中的なレビューのモード
ユーザーが範囲を絞ったレビュー(たとえば、認可のみ)を依頼した場合は、以下を読み込みます。
- グローバルベースライン
- 依頼されたカテゴリのインデックス
- そのカテゴリ内で一致するサブルールのみ
範囲外で明らかな重大な指摘事項が確認された場合も、引き続き言及します。
レビューワークフロー
- 実行マップを作成します。
- UI Kit/Custom UI のエントリポイント
- ブリッジの呼び出しとリゾルバーハンドラー
api.asUser()/api.asApp()の呼び出し経路- 外部への送信/リモート、およびトリガーのエントリポイント
- 各指摘事項について、ソース → 検証/認可 → シンクを追跡します。
- 確認済みの脆弱性として分類する前に、悪用可能性を検証します。
- 悪用できないものの強化が望ましい事項は、独立した「検証が必要」セクションに記載します。
- 各問題について、ファイル単位の根拠と実用的なテストの手がかりを提示します。
静的解析モード
ユーザーがフルスキャンを依頼した場合は、以下から始まる完全なワークフローを実行します。
assets/security-rules/forge-auditing/static-analysis-forge.mdc
利用可能な場合に想定されるツール:Semgrep、npm audit、Snyk、gitleaks。
出力要件
- Markdown 形式のセキュリティ監査レポートを提示します。
- 確認済みの悪用可能な指摘事項を、CVSS v3.1 の深刻度と影響度に基づいて並べます。
- 確認済みの各指摘事項について、以下を含めます。
- CVSS ベクターと基本スコア
- 深刻度の区分
- 悪用可能性と影響
- ファイルの根拠とソースからシンクまでの追跡
- CWE マッピング
- 具体的なコマンドを含む、再現可能な PoC/テスト手順
- 前提条件と根拠の不足を記載します。
- 脆弱性が存在する場合、スキャナーの検出件数だけを報告しないでください。
トリガーフレーズの例
- 「この Forge アプリのセキュリティをレビューしてください」
- 「Forge アプリのホワイトボックスセキュリティ監査を実施してください」
- 「このアプリに認可バイパスやテナント分離の問題がないか確認してください」
- 「この Forge コードベースの静的解析を全面的に実施してください」
コメント
Markdown 対応