AIコード解析
AI Code Analysis は、Aikido Pentest が基盤とするエージェンティックエンジンを使って、ソースコードについて推論します。Pentest が検証する脆弱性クラスに加え、稼働中のアプリに対して Pentest が安全または確実にアクセスできない問題もカバーします。トレードオフとして、純粋にランタイムに関わる懸念事項には依然として稼働中のターゲットが必要です。各検出結果にはコードベースの Evidence が付属します — 読み方については 進捗と検出結果の追跡 を参照してください。
カバレッジの概要
Section titled “カバレッジの概要”AI Code Analysis は、Aikido Pentest が検証する問題クラスについて推論します。これには以下が含まれます。
- アクセス制御 — テナントやロール間の IDOR / BOLA、アクセス制御の不備、権限昇格。
- インジェクションの欠陥 — SQL、NoSQL、LDAP、XPath、コマンドインジェクション、RCE、サーバーサイドテンプレートインジェクション(SSTI)。
- クロスサイト攻撃およびクライアントサイド攻撃 — 格納型・反射型 XSS、CSRF、オープンリダイレクト、安全でないクライアントサイドデータ処理。
- 認証・セッションロジック — 脆弱なフロー、チェックの欠落、セッション処理のエラー、認証コード内のハードコードされた認証情報。
- SSRF、デシリアライゼーション、ファイル処理 — 安全でない URL フェッチ、危険なデシリアライゼーション、パストラバーサル、無制限なアップロードパターン。
- 暗号化の欠陥 — 破られたアルゴリズム、脆弱な署名(例:JWT)、コードパス内での機密データの露出。
- ビジネスロジックの欠陥 — ワークフローのバイパス、決済やチェックアウトの近道、多段階のエクスプロイトチェーン。
- エージェンティックアプリケーションのリスク — プロンプトインジェクション、過剰なエージェンシー、安全でないツールの使用、その他 OWASP Top 10 for Agentic Applications に含まれる項目。
脆弱性の全カタログについては、Aikido Pentest が発見できる問題とは? を参照してください — 以下の「ライブターゲットが依然として必要な項目」に該当しない限り、そこに記載されているすべてのクラスは AI Code Analysis の対象範囲です。
ライブペンテストが届かない範囲を超えて
Section titled “ライブペンテストが届かない範囲を超えて”一部の問題は、ソースからの方が見つけやすい — あるいはソースからしか見つけられません。AI Code Analysis は、ライブペンテストが安全または現実的にアクセスできなかった場合でも、それらについて直接推論します。
- Pentest が持っていない認証情報でゲートされたコードパス。 Pentest に管理者アカウントやマネージャーアカウントを提供しない場合、管理パネルはテストされません。AI Code Analysis はそのコードを読み取り、管理者専用ルートの SQL インジェクションなどの問題を報告します。
- サービス拒否(DoS)およびリソース枯渇のパターン。 ライブペンテストではアプリに対して安全にこれらを実行できません。AI Code Analysis は、ReDoS のようなアルゴリズム的複雑性攻撃、ハッシュ衝突 DoS、指数関数的パーサーなどをコードからフラグします。
- まだ外部からアクセス可能ではないコードパス。 デプロイされていない新規マージ済みルート、フィーチャーフラグ付きのコード、休眠ブランチは、ランタイムで何も露出していなくても、ソースレベルの推論からは可視です。
ライブターゲットが依然として必要な項目
Section titled “ライブターゲットが依然として必要な項目”一部のチェックは、稼働中のアプリケーションに対してのみ意味を持ちます。AI Code Analysis はソース内のリスクのある設定にフラグを立てることができますが、実際にお使いの環境が通信上で何を行っているかを確認することはできません。以下の項目については、Aikido Pentest を使用してください。
- TLS とトランスポートの体制 — 実際に提供される暗号スイート、プロトコルバージョン、証明書チェーン、HSTS。
- 配信される HTTP セキュリティヘッダー — AI Code Analysis はコード内でヘッダーが設定されているかどうかは確認できますが、CDN、WAF、エッジレイヤーが実際にクライアントに送信する内容はわかりません。
- 実際のレート制限と悪用防止 — コードから制限が存在することは示せますが、それが実際に機能するかはライブ実行でしか証明できません。
- エッジでの CORS 動作 — 同様に、設定は可視ですが実際のレスポンスは見えません。
- Web キャッシュポイズニング — ライブキャッシュとのやり取りが必要です。
- クレデンシャルスタッフィング、ブルートフォース、CAPTCHA バイパス — 定義上ライブでのみ可能です。
- 実際にレンダリングされる DOM ベースの XSS — AI Code Analysis はソースについて推論しますが、ランタイムレンダリングにはブラウザが必要です。
アプリケーションの種類と言語
Section titled “アプリケーションの種類と言語”AI Code Analysis は、ライブテストのセットアップが困難または非現実的なコードベース において特に価値を発揮します。ステージング環境、シミュレーター、デプロイ済みインスタンスの構築がボトルネックとなっている場合、ソースレベルの推論により、それらのオーバーヘッドなしにペンテスト級の検出結果を得られます。
- モバイルアプリ — テストにデバイス、シミュレーター、インストルメンテーションが必要となる iOS および Android コードベース。
- スマートコントラクト — Solidity やその他のオンチェーンコードで、現実的なエクスプロイト環境の構築が容易ではないもの。
- デスクトップアプリ — ペンテストの対象となる公開 URL を持たないインストール済みバイナリ。
- 組み込みソフトウェア、ライブラリ、SDK — 他者のランタイムに組み込まれて出荷されるコードで、自社のライブターゲットが存在しないもの。
- 社内ツールおよびバックオフィスシステム — VPN、SSO、または管理者専用アクセスの背後にあり、通常ライブペンテストが到達できないコードパス。
エージェントは、開発者と同様の方法で、主流のアプリケーション言語、設定、Infrastructure as Code 全般にわたって動作します。この解析は、複数のサービスやパッケージを含むモノレポも含め、リポジトリ全体を対象範囲として扱い、ファイルやモジュールをまたぐ参照をたどることで、多段階の問題を明らかにします。
対象範囲がカバーされているか不明な場合
Section titled “対象範囲がカバーされているか不明な場合”右下隅の Intercom チャット を開いてください。クレジットを消費する前に、特定のフレームワーク、アプリケーションの種類、検出結果クラスに関するカバレッジを、当社チームが確認いたします。