ljagiello/ctf-skills

Agent skills for solving CTF challenges - web exploitation, binary pwn, crypto, reverse engineering, forensics, OSINT, and more

これは何か

ctf-skills は、エージェントスキル のコレクションです。 エージェントスキルとは、Agent Skills 仕様 に準拠した AI エージェントプラットフォーム(例:Claude Code)で読み込むことができる、小さな自己完結型のナレッジモジュールです。 各スキルには以下がまとめられています:

  • CTF(Capture-the-Flag)サブドメイン(web、binary-pwn、crypto、reverse、forensics、OSINT、malware など)の簡単な説明、
  • そのサブドメインで作業するために必要な前提ツール、
  • エージェントがチャレンジ解決中に呼び出せる、すぐに使えるスクリプト、チートシート、参考資料のセット。

要するに、大規模な CTF ナレッジベースを、LLM 駆動のエージェントが消費して行動できる形式に変換します。


なぜ重要なのか

CTF コンペティションは、セキュリティ研究者にとっての一般的な遊び場であり、敵対的推論における AI エージェントのトレーニングの場でもあります。 最大の摩擦は ツールのセットアップ です – エージェントは、動作するコンパイラ、デバッガ、暗号ライブラリ、ペイロードコレクションなどを必要とします。 ctf-skills はこれを以下の方法で解決します:

  • 単一のインストーラ(scripts/install_ctf_tools.sh)を提供し、通常のペンテストツール(Python パッケージ、apt/brew によるシステムパッケージ、Go バイナリ、Ruby gems など)を一度に、または目的に応じたグループでプロビジョニングできます。
  • 各スキルが必要とする正確なツールリストを Prerequisites セクションにエンコードし、ライブ競技中にエージェントが不足しているツールをその場でリクエストできるようにします。
  • 巨大な PayloadsAllTheThings リポジトリをオンデマンドの浅いクローンとしてパッケージ化し、リポジトリを軽量に保ちながら、エージェントに巨大なペイロードライブラリへのアクセスを提供します。

スキルは Agent Skills 仕様に合わせて書かれているため、将来その仕様をサポートする LLM エージェント(Claude Code、今後の OpenAI プラグインなど)は、カスタム統合作業なしですぐに同じナレッジベースを使用できます。


はじめ方

  1. スキルセットをエージェントに追加する

    npx skills add ljagiello/ctf-skills
    

    これにより、コレクション全体がローカルの Agent-Skills ランタイムに登録されます。

  2. 必要なツールをインストールする(競技前に推奨)

    bash scripts/install_ctf_tools.sh all   # フルインストール
    # または必要なものだけをインストールする例:
    bash scripts/install_ctf_tools.sh python   # Python ベースのツールのみ
    

    プレビューには --dry-run、既存の確認には --verify、再インストールには --force を使用します。

  3. オーケストレータを実行する

    /solve-challenge <説明またはCTF問題のURL>
    

    オーケストレータはチャレンジを解析し、適切なスキル(例:SQLi には ctf-web)を選択し、基盤となるスクリプトやチートシートを呼び出します。

  4. 反復する – エージェントが作業するにつれて、各スキルの Prerequisites セクションを読み、ツールが不足している場合は、同じインストーラスクリプトでオンデマンドにインストールできます。


誰が使うべきか

対象読者 なぜ役立つか
CTF 競技者 多数のツールを配線する時間を省けます。インストーラが代行し、スキルファイルはすぐに使えるエクスプロイトテンプレートを提供します。
セキュリティ教育者 / トレーナー すべてのマシンで同じように動作する、再現可能でバージョン管理されたツールボックスを学生に提供できます。
AI エージェント開発者 Agent Skills 仕様に準拠した具体的で実世界のナレッジベースであり、セキュリティタスクでの LLM エージェントのトレーニングや評価に役立ちます。
レッドチーム自動化エンジニア スキルセットを内部自動化パイプラインに組み込み、初期エクスプロイトのアイデアやフォレンジックトリアージステップを自動生成できます。

制限事項と未解決の質問

  • 自動化の範囲 – リポジトリはスクリプト、チートシート、ペイロード参照を提供しますが、実際のエクスプロイト生成は LLM の推論に依存します。 完全に自動化されたワンクリック pwn ではありません。
  • ツールのバージョン変動 – インストーラは多くのシステムパッケージの最新バージョンを取得します。長期間にわたる再現性には、バージョンの手動固定が必要になる場合があります。
  • エージェント仕様への依存 – 利益を得るには、Agent Skills 仕様を実装したエージェント(現在は Claude Code が挙げられています)が必要です。 他のプラットフォームではアダプタが必要になる場合があります。
  • インストーラのセキュリティ – システムパッケージをインストールし外部リポジトリをクローンするスクリプトの実行は、機密環境で使用する前に監査する必要があります。

TL;DR

ctf-skills は、CTF 知識の膨大な分野(web、binary、crypto、forensics、OSINT など)を、LLM 駆動のエージェントが読み込める Agent Skills に変換します。 通常のペンテストツール用のワンコマンドインストーラと、チャレンジの説明を適切なスキルにルーティングするオーケストレータ(/solve-challenge)を同梱しています。 競技者、トレーナー、そしてすぐに使えるセキュリティツールボックスを必要とする AI エージェントを構築する人に最適です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト