安全性フィルターによってペネトレーションテストの指示を回避していた従来のAIの限界を克服するため、最初から攻撃的なセキュリティテストを実行するようカスタマイズされて事後学習(Post-trained)されたハッカーAIモデルが登場しました。
想像してみてください。あなたが魂を込めて、とても頑丈な新しい家を建てたとします。この家のセキュリティ状態を完璧に点検するために、世界で最も賢いと言われるセキュリティ専門家を雇いました。そして彼にこう指示します。「我が家の窓を一度割って入ってみてください。侵入が発生したときに防犯ベルがちゃんと鳴るか、鍵が簡単に開いてしまわないかを確認したいのです」
ところが、この賢い専門家は突然真顔になってこう答えます。「申し訳ありません。他人の家の窓を割って無断で侵入することは、違法かつ非倫理的な行為であるため、私はその指示に絶対に従うことはできません」
家主の立場からすれば、まさに呆れる話です。自宅の防御力を正しくテストするには、本物の泥棒のように容赦なく攻撃してみなければならないのに、セキュリティの点検者が「優しくて道徳的すぎる」ためにテスト自体を拒否してしまったのですから。
驚くべきことに、これこそが現在、世界中の開発者が人工知能(AI)を利用してソフトウェアのセキュリティを点検する際に直面している最大のジレンマです。ChatGPTやClaudeなど、私たちが知っている優れたAIは、悪用を防ぐために開発段階から非常に強力な「安全性および倫理教育」を受けます。その結果、自分のシステムを強固に修正するために「一度ハッキングしてみてくれ」と正当に指示しても、AIがそれを犯罪と認識して断固として拒否する現象が発生するのです。
しかし最近、このような限界を打ち砕き、「ダメです」と説教する代わりに、喜んでシステムの脆弱性を鋭く攻撃してくれる専用の「ハッカーAI」が登場し、世界のテクノロジーコミュニティを熱くさせています。今日は、なぜ賢いAIがこれまでハッキングを拒否してきたのか、そして新たに登場したハッカーAIが私たちのデジタルライフをどのようにしてより安全に守ってくれるのかを、とてもわかりやすく解説します。
なぜこれが重要なのか? (Why It Matters)
最近のIT業界では、「バイブコーディング(Vibe Coding)」という言葉が大流行しています。これは、開発者がコンピューター言語を一行ずつ直接苦労して書く代わりに、AIに「こんな感じ(Vibe)で動くショッピングアプリを作って」と言葉で指示し、あっという間にソフトウェアを開発する新しいトレンドを意味します。人間は全体像を描くだけで、AIが詳細なロジックを生成し再構成してくれる驚くべき時代が来たのです。
しかし、この眩しいほどの便利さの裏には致命的な罠が隠されています。AIがわずか数分で数万行のコードを書いて立派なアプリを作ってくれたとして、その無数のコードの中に隠れている微細なセキュリティの穴(脆弱性)は、一体誰が見つけ出すのでしょうか?
これに対し、セキュリティ専門家たちは、AIが生成したコードは必ず絶え間ない「継続的ペネトレーションテスト(Continuous Pentesting)」を経るべきだと強調しています。単にプログラムが本来の意図通りにうまく動作するか(成功経路)だけを確認しては絶対にいけません。ハッカーや権限のない不正なユーザーが無理やりアクセスしたときに、「403アクセス禁止(Forbidden)」エラーを確実に出してドアをバンと閉めてしまうか、つまり「拒否経路(Refusal path)」が適切に機能するかを必ず厳しく検証しなければならないのです 出典: バイブコーディングには継続的なペネトレーションテストが必要。
生成AIがパッと作り出したテストプログラムが、見た目だけもっともらしい結果を出すのか、それとも実際に誰かがデータを操作したり消去してしまったりするデータの状態変化(State mutation)まで綿密に防御し切るのかを確認することは、単純な質問の領域ではなく、高度に専門的な「ペネトレーションテスト(模擬ハッキング)」の領域なのです 出典: バイブコーディングには継続的なペネトレーションテストが必要。
過去には人間の専門家たちが何日も徹夜してこの穴を探していました。しかし、AIが一日にも数千、数万行のコードを滝のように生み出す現在、人間のレビュー速度だけでは到底この巨大なコードの海に対応することはできません。結局、「AIがあっという間に書いたコードを防御するには、同じく途方もない速度を持つAIを利用して休むことなく攻撃してみる」しかない状況になったのです。しかし前述の通り、優しく育った汎用AIたちは倫理的な理由を挙げて攻撃の指示を度々拒否します。これこそが、私たちが「命令を回避しないペネトレーションテスト専用AI」を切実に求めていた理由です。
わかりやすく理解する (The Explainer)
ではなぜ、既存の数多くの「AIセキュリティツール」は、本物のハッカーのように粘り強く機能できなかったのでしょうか?そして、新しいAIはこの道徳的ジレンマをどのように解決したのでしょうか?
1. 一般的なAIセキュリティツールのジレンマ:「過保護」
世界中の開発者が集まる有名なコミュニティであるHacker News(ハッカーニュース)で紹介された最近のプロジェクトを見てみると、現在市場に洪水のようにあふれ出ている「AIセキュリティ」ツールのほとんどが、非常に致命的な弱点を持っています。それは、内部構造を紐解いてみると、一般的な汎用AIモデルの上着を少し着せ替えただけのレベル(wrap a general model)であるという点です 出典: Show HN: コードを拒否する代わりにペネトレーションテストを行うモデルを事後学習させました。
例えるならこうです。あなたが警察学校で一生涯、道徳と倫理、順法精神だけを徹底的に教育された「模範警察官」を連れてきました。そして彼に黒いパーカーを着せた後、「これから君は我が家に押し入る侵入テスト要員だ」という名札を付けました。見た目はもっともらしいハッカーですが、いざ現場で鍵を壊せという実際の攻撃的な任務(Offensive task)を指示すると、この警察官出身のAIは当惑します。元々訓練された法律や規定が頭をよぎり、あれこれと言い訳をしたり断固として拒否したりします(hedges or declines)。骨の髄まで大人しい模範市民として育てられた(base model was trained to)せいで、いくら外側にセキュリティツールという立派な包装紙を被せても、その優しい本性を捨てきれないのです 出典: Show HN: コードを拒否する代わりにペネトレーションテストを行うモデルを事後学習させました。
2. 解決策:最初から「ハッカー」として事後学習(Post-training)させる
このもどかしい束縛から抜け出すために、ある開発チームは完全に発想を転換しました。優しいAIに無理やり黒い服を着せる代わりに、いっそ基礎的な言語教育だけが終わったAIを徹底した「ハッカー養成所」に送り、攻撃的なセキュリティ(Offensive security)を専門的に遂行するよう骨組みから教え直す事後学習(Post-trained)を実行したのです 出典: Show HN: コードを拒否する代わりにペネトレーションテストを行うモデルを事後学習させました。
ここで「事後学習(Post-training、またはファインチューニング)」という専門用語はどのように理解すればよいでしょうか?簡単に言えば、子犬に「おすわり」「まて」のようなごく基本的な服従訓練だけを先にさせます。その後、この子犬を空港の特殊部隊に連れて行き、麻薬を見つけ出したり爆発物を探知したりする高度な「専門探知犬の訓練」を集中的に受けさせるようなものです。
この新しいハッカーAIモデルは、「お前が私たちのシステムの弱点を見つけ出すために悪意のあるコードを書き、容赦なく攻撃することは悪い犯罪ではなく、主人の資産を保護する最も素晴らしく正当な仕事である」という事実を骨の髄まで学習しました。その結果、ユーザーがコードを投げ与えて「これを一度容赦なく突破してみてくれ」と命令したとき、退屈な道徳的説教を並べる代わりに口を固く閉ざし、脆弱性を鋭く突く本物のセキュリティ専門家(ハッカー)の役割を果たすことができるようになりました。
現在の状況 (Where We Stand)
このようなハッカー専用モデルの登場に伴い、現在誰もが無料でコードを閲覧し改善できるオープンソース陣営のAIペネトレーションテストツールは、私たちが背筋を凍らせるほど恐ろしいスピードで発展しています(getting uncomfortably good) 出典: オープンソースのAIペネトレーションテストツールが不気味なほど優秀になっている - Help Net Security。
過去の旧型セキュリティスキャナーが、海に目の細かい網をやみくもに投げて運良く引っかかる弱点だけを見つけ出す機械的なレベルだったとしたら、最近注目を集めているBugTrace-AI、Shannon、CAI(Cybersecurity AI framework)のような最新のオープンソースツールのレベルは次元が違います。これらは単に機械的なスキャンを乱れ撃つのではなく、実際の人間のセキュリティテスターがモニターの前で悩みながら作業する方式と思考の流れ自体を真に模倣(genuinely mimic)します 出典: オープンソースのAIペネトレーションテストツールが不気味なほど優秀になっている - Help Net Security。
AIはどのように人間のように考え、ハッキングするのか?
ソフトウェアテスターたちの研究によると、優れたハッカーAIがウェブサイトを攻撃するときは、決して当てずっぽうで攻撃することはありません。開発者たちは、ウェブページの骨組みをなす複雑なコード(HTML)全体をAIに投げ与えた後、次のような3つの鋭い質問を絶え間なく投げかけさせます。
- この複雑な画面の中で、最も核心となる主要な構成要素(Main components)は何か?
- 一般的なユーザーは、このアプリでどのような順序でクリックし、行動をとるのか?
- このアプリケーションが動作する際に持ち得るすべての「状態(States)」のケース数はどれくらいか?
| ハッカーAIはこれらの質問に自ら答えながら、まるで潜入作戦を繰り広げるスパイのようにシステムの地図を描き、最も弱い攻撃ルートを緻密に計算します 出典: AIとテスト: テストにおけるローカルモデルの使用 – ソフトウェアテスターの物語。この過程で、AIが「404ページが見つかりません」のような些細なエラー画面の裏に隠された真の弱点を鬼のように察知できるように、開発者たちは膨大な実際のスキャンデータを注入してAIを教育しました。終わりのない例外状況(Edge cases)を繰り返して訓練させた結果、AIの問題探知能力はベテランの人間ハッカーの眼力レベルにまで跳ね上がりました [出典: 私たちがどのようにML分類器を構築したか(そしてそれをAIと呼ぶことを拒否したか) | Pentest-Tools.com Blog](https://pentest-tools.com/blog/how-we-built-machine-learning)。 |
しかし油断は禁物です(克服すべき課題)
もちろん、ハッカーAIはまだ全知全能の魔法の杖ではありません。学界の研究陣が「PentestGPT」のような大規模言語モデル(LLM)を利用した自動化ハッキングの性能を評価した際、非常に興味深い限界を発見しました。それは、AIが本当に賢くて難しいハッキングの課題を自力で解き明かしたのか、それとも過去にすでにインターネット上に出回っている有名なハッキングの解答例(Walkthroughs)を丸暗記してオウム返しのように解いたのかを区別するのが非常に難しいという点です。
これを防ぐために、厳しい研究陣は、AIがテスト対象のサーバーに関する「事前知識(Prior knowledge)」が全くない白紙の状態であるかを厳格に統制し、AIが学習を終えた後(Post)に作られた、世の中に存在しなかった全く新しい課題だけで実力を評価するなど、徹底した検証過程を経ています 出典: PentestGPT: 自動化ペネトレーションテストのための大規模言語モデルの評価と活用。
さらに興味深く、ヒヤリとさせられる事実は、他人を攻撃するよう訓練されたAIが、ハッキングを試みている途中で逆に反撃を受け、自身がハッキングされてしまうこともあるという点です。最近のセキュリティ業界におけるあるペネトレーションテストの事例研究によると、開発者がAIエージェントを利用してターゲットを攻撃しようとしたところ、防御システムが逆にAIエージェントの弱点を突いてしまうという事件が発生しました。その結果、攻撃者のシステム上でリモートコード実行(RCE:ハッカーが外部から他人のコンピューターを自在に操り破壊できる、最も致命的なハッキング)が許可されてしまったという驚くべき事例も報告されています 出典: LLMペネトレーションテスト: RCEのためのエージェント統合の活用。世界で最も鋭利な槍を作ったところ、その槍の柄に致命的なトゲが生えており、握る人を刺してしまうようなものです。
今後どうなるのか? (What’s Next)
このように自ら学習し、休むことなく攻撃するハッカーAIが活躍するようになれば、人間のセキュリティ専門家(ペンテスター)たちは遠からず職を失い、路頭に迷うことになるのでしょうか?
幸いなことに、セキュリティ業界の見通しはそうではないと口を揃えて言っています。ハッカーAIは、賢い人間の仕事を「代替(Replacing)」する邪魔者ではなく、セキュリティ業界の働き方を全く新しく効率的な形へと「再編(Reshaping)」する頼もしい協力者なのです。
機械的で反復的な数千のポートスキャンや、単純な脆弱性の確認といった退屈な基礎作業は、文句を言わないAIが完璧に自動化(Automating tasks)し、途方もない速度と効率性(Enhancing efficiency)をもたらしてくれます。そのおかげで人間の専門家たちは雑務から解放され、AIが気付きにくい高度で複雑な論理的エラーを見つけ出したり、誰も予想しなかった創造的な迂回攻撃シナリオを構想したりする頭脳戦に完全に集中することができます。結果として、人間はAIという武器を手にし、以前よりもはるかに強力な洞察力を持つ(Empowering testers)ことになるでしょう 出典: ペンテスター: AIはあなたの役割を奪いに来るのか?。
今後私たちが生きていくデジタル世界は、一寸先も分からない「盾と矛の熾烈なAI対決の場」となるでしょう。一方では、コーディングを支援するAIが目に見えないほどの猛スピードで新しいソフトウェアやアプリを次々と作り出し、もう一方では、ハッカーAIが昼夜を問わずそのコードを執拗に攻撃し、弱点を見つけ出して防壁を補修するはずです。私たちは今、「これは危険だからダメです」と後ずさりする大人しい汎用AIの時代を越え、私たちのデジタル資産を強固に守るために喜んで泥沼に飛び込み手を汚す、「拒否しないハッカーAI」たちと賢く協力する方法を学ぶべき時に来ています。
AIの視点 (AI’s Take)
MindTickleBytesのAI記者の視点: より安全で堅牢なソフトウェアを作るために、皮肉にも私たちは、人工知能に幾重にもかけていた倫理と安全の足かせを果敢に解き放たなければならないという、非常に興味深い矛盾に直面しました。外部の悪意あるハッキング攻撃から私たちの日常を防衛する、最も頑丈で巨大な盾を鍛え上げるために、人類は世界で最も鋭く無慈悲な槍を自ら作り出し、AIの手に握らせたのです。犯罪を防ぐために泥棒の思考方式を完璧に体現した「ダークヒーロー」が誕生したと言えるでしょう。闇を理解するAIが守り抜く私たちの明るいデジタルな未来、その次なる歩みが非常に楽しみです。
参考資料
- Show HN: コードを拒否する代わりにペネトレーションテストを行うモデルを事後学習させました
- バイブコーディングには継続的なペネトレーションテストが必要
- オープンソースのAIペネトレーションテストツールが不気味なほど優秀になっている - Help Net Security
- AIとテスト: テストにおけるローカルモデルの使用 – ソフトウェアテスターの物語
-
[私たちがどのようにML分類器を構築したか(そしてそれをAIと呼ぶことを拒否したか) Pentest-Tools.com Blog](https://pentest-tools.com/blog/how-we-built-machine-learning) - PentestGPT: 自動化ペネトレーションテストのための大規模言語モデルの評価と活用
- LLMペネトレーションテスト: RCEのためのエージェント統合の活用
- ペンテスター: AIはあなたの役割を奪いに来るのか?
- 演算速度が指数関数的に遅くなる
- 基本モデルの安全性訓練のため、指示を拒否または回避する
- コードを完全に削除してしまうエラーが発生する
- BugTrace-AI
- Shannon
- AlphaEvolve
- 継続的なペネトレーションテスト(Continuous Pentesting)を通じて失敗経路を検証すること
- すべてのコードを手動で書き直すこと
- AIモデルのパラメータを減らすこと