Codex+Skillsでシステムの脆弱性診断をさせてみた

Date2026/02/17

背景

脆弱性診断を外部に依頼すると結構なコストになるという話を聞き、今の時代なら自家製である程度対策できるのでは、と考えてみた。
というのも、最近Shannonというペンテスト用のAIツールがブームと聞いたゆえ。

しかし、ShannonはAPIキーが必要で料金がかかってしまうらしい。(モデルによるが1診断=$50ほど)
ChatGPTに課金していてCodexは使えているが、APIキー運用ではないので、残念ながら適用できない。

ということで、Shannonのエッセンスを借りつつ、自前でSkillsを作って診断をさせてみた。

準備

GPT-5.2 ThinkingにShannonのリンクを流して、攻撃手法について一覧化してもらう。
今回対象となるのはLaravelのシステムなので、Laravel用にカスタマイズした.mdを作成してもらった。

# Laravelアプリ向け「簡素化Shannon」Skill設計(擬似コード付き)

## 1. 目的と前提

### 目的
- Laravelアプリに対して、**コード解析(静的)+HTTP検証(動的)**で、アプリ層の典型的な脆弱性(特に論理/実装ミス)を検出し、**再現手順+修正案**を含むレポートを生成する。

### 対象にする脆弱性(優先度順)
1. **IDOR(認可不備)**
2. **状態遷移不整合(ビジネスロジック)**
3. **XSS(反射/保存)**
4. **CSRF対策漏れ**
5. **トークン再利用/期限不備(パスワードリセット等)**

~~~

そして、この.mdをCodexに渡してSkill CreatorでSkill化を依頼。
Agent Skillsを呼び出して、GPT-Codex-5.3-Codex highに診断レポートを作成してもらった。

結果

結論として、いくつかの脆弱性が見つかった模様。

  • ログインフォームのブルートフォース攻撃対策が不十分
  • 一部ログイン情報が平文で保存されている
  • TLS証明書なしでの通信試行が可能になっている

などなど。

調べてみたところ、該当する脆弱性は存在するものだとわかり、バッチリ修正することができた。
レポートもmd良きように出力してくれて、攻撃手法と該当箇所を記載して修正案まで提案してくれている。(じゃあそのように直して、と言えば直してくれる時代)

診断は5~10分で終わったので、プロジェクト単位にもよるが1~2時間かかるというShannonに及ばないあたり簡素な診断ではあると思う。
しかし、実質無料で手軽にセキュリティ診断ができると考えると、リリース前の軽い検証で毎度行うにはとても良さそうである。
個人的には実験してみてよかったなと思った。

診断の限界

Shannonというツールは実のところ、業者に依頼するタイプの診断とは少し異なっているということを知った。
どちらかというと、Shannonならびに今回作った簡素ツールはシステム的な診断ができる一方で、動作環境はローカルだったりLLMの用意した仮想環境なので、インフラが全く異なる。
ということで、例えばAWSの構成とか、ネットワークセキュリティに問題があったとしてもほとんど察知してくれない。

そのため、やっぱりセキュリティに詳しい専門業者に依頼して診断してもらうことは最後は避けられないようだ。
さまざまな攻撃ツールを駆使して、逆にソースコードの中身を見ない形でペンテストをしてくれる。
私には全然わからない世界……。

まあでも、内面から予防していくのは大事だよねということで、良い気付きであった。