要約:Aikido コード監査は、静的コードベースを分析することで、SAST ペネトレーションテストの間のギャップを埋め、製品リリース前に、複数のステップを要し、意図に依存する脆弱性を洗い出します。
先週、Anthropic社は、ゼロデイ攻撃を発見・連鎖させることが可能な「Mythos」クラスのモデルの一般公開版「Claude Fable 5」をリリースしました。Fable 5には、サイバーセキュリティ関連のクエリをブロックし、より制限の厳しいモデルに切り替えるガードレールが組み込まれているため、一般公開版ではそのような攻撃を実行することはできません。
少なくとも、当初の構想はそうでした。
しかし、1つ以上の組織がFable 5の脱獄に成功した模様であり、その結果、Anthropicは米国政府からの圧力を受けてこのモデルを撤回することになりました。問題は、一度瓶から出した精霊を再び瓶に戻すことはできないということです。脱獄であれオープンソースであれ、攻撃者はますます高性能なモデルへのアクセス権を手に入れることになるでしょう。
方向性は定まった。アプリケーション全体にわたって欠陥を見つけ出し、それらを連鎖的に特定するために必要だった技術と時間は、人間が数時間や数日かけて行う作業から、エージェントが自動的に行う作業へと劇的に短縮されつつある。これは、既存の静的コード解析エンジンでは検出できない論理ベースの欠陥に特に当てはまる。この種の欠陥は予測可能なパターンに従わないため、静的解析では照合すべき基準が存在しないのだ。
しかし、防御側は、同じエージェント型モデルを活用し、コードベースのセキュリティ上の欠陥が本番環境に反映される前に分析・発見することで、常に一歩先を行くことができます。だからこそ、私たちは「Aikido Audit」を開発したのです。
コード監査の実際の役割
コード監査は、開発中にルールベースのセキュリティ脆弱性を検出するのにSAST 代わりになるものではありません。また、ペネトレーションテストの代わりになるものでもありません。コード監査は、この2つの間に位置し、静的コードに対して、ペンテスト推論を行って分析を行います。
重要なリリースの前や、主要な機能が実装された後は、「Code Audit」を活用しましょう。このツールは、ファイルやモジュールにわたる参照関係を追跡します。単一の行脆弱性となっているわけではない、複数のステップにまたがる問題を特定します。各検出結果には、根本原因、コードに基づく証拠、そして問題を解決するためのプルリクエスト(PR)を即座に生成できる「AutoFix」機能が含まれています。
実際には、次のような形になります:
3つのファイルにまたがる多段階のIDORチェーン。個々の行だけではルールがトリガーされないため、パターンベースのスキャナーでは決して関連付けられないものです。Code Auditは参照を追跡し、文脈の中で欠落している権限チェックを特定し、エクスプロイト 全エクスプロイト を明らかにします。
この考え方は、実際に悪用された事例はないもののソースコードから特定されたReDoSパターンや、有効な認証情報を持つ者がペンテスト 実際のペンテスト で一度も利用されたことのない管理者専用ルートなど、その他のロジックに基づく脆弱性にも当てはまります。他にも例が思い浮かぶことでしょう。
.jpg)
Code Auditはソースコードを直接対象とするため、稼働中のステージング環境や認証情報の作成は必要ありません。コードベースを接続するだけで、監査を開始できます。ソースコードに存在すれば、そのすべてが監査対象となります。複数のリポジトリ、フィーチャーフラグが設定されたパス、デプロイされていない変更、およびライブテストでは安全に処理できない管理用ルートなども含まれます。
これはあなたのWebアプリだけに限った話ではありません
コード監査は、実稼働環境を調査するのではなく、静的なソースコードに基づいて行われるため、SAST カバレッジや、コードが実行されるプラットフォームに制約されることはありません。
つまり、次のようなテストを行うことができます:
- モバイルアプリの場合、アクセスするためのURLが存在せず、実稼働中のビルドに対してコードパスを簡単に検証する方法もありません。
- スマートコントラクトの場合、実際の価値がロックされているデプロイ済みのコントラクトに対して、意図的にエクスプロイト ことは避けたいものです。
- SAST 不十分な言語で書かれたレガシーコードベース。
ベンチマーキング
社内テストおよび初期ユーザーの実績によると、Code Auditは、本格的なペンテスト 発見される問題の約70~80%をカバーしており、そのコストは約10分の1です。初期ユーザーによると、コードベース1つあたり約25件のセキュリティ問題(中央値)が発見されており、問題なしと判定されたケースは1件もありませんでした。

しかし、発見された問題の数は、そのタイミングに比べれば二次的な問題です。脆弱性 発見すれば、開発者がまだ状況把握ができている段階で、コードの変更だけで済みます。一方、本番環境に展開された後に発見された場合、修正サイクルが必要となり、別のプロジェクトから開発者を呼び寄せて修正させなければならない可能性が高くなります。コード監査を行うことで、発見のタイミングをコードのリリース直前へと前倒しできます。その時点では、そのコードを担当した開発者がまだ状況を完全に把握しており、修正も容易に行えます。
はじめ方
差出人: Aikido アカウントで、メニューから「コード監査」を選択し、「監査を作成」をクリックします。そこで1つ以上のリポジトリを選択し、 Aikido がクレジットでの費用を見積もります。アカウントにクレジットを追加して、監査を開始してください。設定には数分しかかかりません。監査にかかる時間は、コードベースの規模や複雑さにもよりますが、最短で5分程度です。
初めてのコード監査を実行しましょう。

