00:00:00こちらはShannon。オープンソースの自律型AIペンテスターです。コードを分析し、
00:00:05ブラウザの自動操作によって、サーバーサイド・リクエスト・フォージェリから
00:00:11クロスサイトスクリプティング、SQLインジェクションなど、あらゆる脆弱性を実地で検証します。
00:00:17偽陽性ゼロの非常に詳細なレポートを作成してくれます。しかし、Claudeの
00:00:22コードセキュリティ機能の発表や、Shannon自体がClaude SDKベースであり、
00:00:27通常のサブスクが使えない点などを考えると、学ぶ価値はあるのでしょうか?
00:00:31チャンネル登録をして、さっそく中身を見ていきましょう。
00:00:32以前の職場では、メジャーリリースの前に外部のペンテスターに
00:00:38多額の費用を払っていました。しかしバグが見つかり、修正後に再テストが必要になり、
00:00:43膨大な時間とコストがかかっていました。Shannonはまさにこの問題を解決します。
00:00:48Shannonは何回でも実行でき、CI/CDパイプラインに組み込んで
00:00:53自動化することも可能です。オープンソースなので無料です。後述する有料版もありますが。
00:00:58セキュリティの専門家でない私にとっては、Kali Linuxを起動するよりも
00:01:03Shannonでプロジェクトをスキャンする方が手軽です。では、実際に動かしてみましょう。
00:01:08ShannonはAnthropic Agent SDKで作られているため、ClaudeのAPIキーが必要です。
00:01:13残念ながらサブスクリプションは使えませんが、VPS上に非ルートユーザーでインストールし、
00:01:20テスト用に多くの脆弱性を含ませてある「OWASP Juice Shop」に対して実行してみます。
00:01:25すでにShannonのリポジトリはクローン済みです。実行にはこれが必要です。
00:01:30また、テストしたいリポジトリをShannonの「repos」ディレクトリ内に
00:01:34入れる必要があります。Juice Shopはここに入れました。アプリを起動した状態で、
00:01:39このコマンドを実行します。ブラウザテスト用にローカルアプリに接続しつつ、
00:01:44ディレクトリ内のコードをスキャンします。Shannonの初回実行時は、
00:01:50Docker Composeを使用しているため、Docker Hubから多くのイメージを
00:01:54プルする必要があります。今回は完了しているので、すぐに開始されます。
00:01:58Temporalワークフローへのリンクが表示され、Web UIでこのように
00:02:03各ステップを確認できます。または、コマンドを実行してログを
00:02:07リアルタイムで見ることもできます。UIより情報が多いので私はこちらが好みです。
00:02:12ところで「Temporal」とは何でしょう?Shannonの話をしていたはずですよね。
00:02:16Shannonのペンテストは、プロジェクト規模により数時間かかることもあります。
00:02:21Temporalは、どんな状況でも実行の耐久性を保証します。PCが途中で
00:02:26クラッシュしたり、クレジットが切れて補充が必要になっても、進捗は失われません。
00:02:32Temporalは中断場所を正確に記憶し、チェックポイントから再開します。
00:02:36Temporalの専用動画が見たい方はコメントを。これはShannonの各フェーズと
00:02:42アクティビティのオーケストレーションも行います。5つのフェーズで多くのことが行われます。
00:02:47お見せしましょう。まずはAPI認証情報やDockerコンテナ、
00:02:53リポジトリの存在を確認する「プリフライト」フェーズです。次に「プレ偵察」ステージで
00:03:00コードを分析して、アーキテクチャ、エントリポイント、セキュリティパターンを把握します。
00:03:05次は実際の「偵察(レコン)」ステージです。プレ偵察とは異なり、
00:03:12ここではPlaywrightを使ってアプリを操作します。ボタンのクリックやフォーム入力を行い、
00:03:18ネットワークリクエストの監視、スクショ撮影、Cookieの確認などを通して機能をマッピングします。
00:03:24そしてフェーズ4では、5つのパイプラインを並行して実行します。1つ目は
00:03:31インジェクション関連の脆弱性とエクスプロイト。次にクロスサイトスクリプティング、
00:03:38そして認証、サーバーサイド・リクエスト・フォージェリ(SSRF)、
00:03:45最後は権限昇格などの認可チェックです。これらすべてが、脆弱性調査用に5つ、
00:03:52エクスプロイト用にさらに5つのエージェントによって並行処理されます。
00:03:59最後にフェーズ5で、これまでの5つのチェック結果を統合し、包括的なレポートを作成します。
00:04:07レポートといえば、テストの進捗を見てみましょう。約2時間半後、
00:04:12全プロセスが完了しました。プリフライト・バリデーションから始まり、
00:04:17プレ偵察、偵察エージェントへと進んだことがわかります。そしてここで、
00:04:25インジェクション、XSS、認可、SSRFなどの脆弱性チェックが走っています。
00:04:31一部の緑色の線が実線でないのは、途中でクレジットが切れて
00:04:36リトライが発生したためです。ここに「2」とありますね。他はリトライなしです。
00:04:40これらがなければ2時間半よりは早かったでしょうが、2時間は切らなかったはずです。
00:04:46脆弱性チェックが終わると、次は5つのエクスプロイト(実証)チェックに移ります。
00:04:51SSRF、認証、インジェクションなどのエクスプロイトが実行されています。
00:04:56認証のエクスプロイトが最も時間がかかっているのがわかります。その後、
00:05:02レポート・エージェントがすべてをまとめます。もちろん、各ステージを
00:05:07展開して詳細を見ることもできますが、私はTemporalの専門家ではありませんし、
00:05:13ドキュメントを読めばもっと使い方がわかるでしょう。では、Shannonが
00:05:17生成した最終レポートを見てみましょう。
00:05:22プロジェクトの「deliverables」ディレクトリに、生成された全レポートがあります。
00:05:28予想以上に多いですね。まずは「認証(auth)分析」レポートを見てみます。
00:05:33上部に要約があり、ここに11件の深刻な脆弱性が
00:05:37特定されたと記されています。内容を確認しましょう。
00:05:436つの認証エンドポイント中、HTTPSが適用されているのはゼロでした。ローカル実行なので
00:05:47当然ですが。また、適切なCORS制御も欠如していました。
00:05:52認証エンドポイントに適切なレート制限もありません。非常に詳細です。
00:05:56スクロールすると、具体的に何が問題で、どこに原因があり、
00:06:01どのアンドポイントに起因するかが示されています。すべては紹介しませんが、
00:06:05「総合セキュリティ評価レポート」というサマリーを見てみましょう。
00:06:10使用モデルやプロジェクトの範囲が記載されています。さらに下へ行くと、
00:06:154つの深刻な認証脆弱性が完全に悪用(エクスプロイト)可能であったことが示されています。
00:06:21実に徹底しています。さらに見てください。レポートの最後には、
00:06:26要約も付いています。これが最初のIDOR(認可制御不備)の項目で、
00:06:31さらに進むと、攻撃者がこれをどう悪用できるかが具体的にわかります。
00:06:38実行すべきcurlコマンドの詳細や、抽出可能な情報の種類まで書かれています。
00:06:43すべての脆弱性に対してこのレベルの詳細情報があり、いかに深く
00:06:48評価が行われたかがわかります。レポート一式へのリンクは概要欄に貼っておきます。
00:06:54しかし、Claude Sonnetがリポジトリをスキャンするのに2時間半は長すぎます。
00:06:59Shannon Proなら解決できるでしょうか?速度に関してはProでも変わらないようですが、
00:07:04無料版にはないCVSSスコアリングの提供などの機能があります。
00:07:09CI/CDパイプライン対応やAPIアクセスも備えています。さらに重要なのは、
00:07:16エンタープライズユーザー向けにOWASP準拠レポートや、
00:07:22SOC 2、PCI DSSなどの対応も含まれている点です。2時間半という時間は長いですが、
00:07:27調べたところ、初回の実行が最も長く、2回目以降は大幅に速くなるそうです。
00:07:32さて、皆さんが気になっていること。Claude Sonnet 3.5を2時間半回して、
00:07:371回のテストにいくらかかったか。……かなりの額です。
00:07:4366ドル分チャージして、残ったのはこれだけです。つまり約60ドル分の
00:07:50クレジットを消費しました。人間を雇うよりは安いですが、決して安価ではありません。
00:07:55Claude ProやMaxのサブスクが使えればもっと安く済んだはずですが、
00:08:00それは今後リリースされる「Claude Code Security」に期待したいところです。
00:08:05あるいは、KeygraphチームがOpenAI Agent SDKやVercel AI SDKで
00:08:10Shannonを書き直し、他モデルを使えるようにしてくれるかですね。総じて、
00:08:16人間のペンテスターに大金を払いたくないスタートアップには、Shannonは良い選択肢です。
00:08:21予算の限られた個人開発者なら、まずはリリースして需要を確かめるのが先かもしれません。
00:08:26AIとセキュリティの話題ついでに、VPSにOpenWebUI(旧OpenClaude)を
00:08:30安全にインストールする方法を知りたい方は、
00:08:34ステップバイステップで解説している次の動画をぜひチェックしてください。