推しアイデア
攻撃→原因確認→修正→再攻撃→防御確認までを一連の流れで体験できる点です。脆弱性を知るだけでなく、実際に見つけて直せる力をゲーム感覚で身につけられます。
攻撃→原因確認→修正→再攻撃→防御確認までを一連の流れで体験できる点です。脆弱性を知るだけでなく、実際に見つけて直せる力をゲーム感覚で身につけられます。
私たちはサイバーセキュリティを専攻しています。AI活用が進む中、コードを安全に修正する力の重要性が高まっていますが、初学者向けの実践教材は不足しています。その課題解決を目指しました。
Docker上で動く脆弱アプリに対し、自動攻撃と自動検証を実装。修正前は攻撃成功、修正後は攻撃失敗を機械的に判定し、実践的なセキュリティ学習環境を実現しました。
SecurePatch Questは、Webアプリの脆弱性を実際に体験しながら学べるゲーム型セキュリティ学習サービスです。
私たちは大学でサイバーセキュリティを専攻する中で、脆弱性の仕組みを説明する教材は多い一方で、「攻撃される理由を理解し、自分で修正して防御する」までを体験できる初学者向けコンテンツが不足していると感じました。
そこで本プロジェクトでは、攻撃から修正、防御確認までを一つの流れとして学べる実践型教材の開発を目指しました。

SecurePatch Questでは、まず脆弱なアプリに対して攻撃を実行し、脆弱性が実際に悪用される様子を確認します。その後、原因となるコードを分析して修正し、同じ攻撃を再実行することで、本当に防御できたかを検証します。
一般的な教材が「脆弱性を知ること」に重点を置いているのに対し、本サービスは「脆弱性を見つけて修正し、防御できるようになること」を目的としています。
学習者はSQLインジェクション、XSS、認証・認可の不備など、実際のWebアプリで発生する脆弱性を題材にした問題へ挑戦できます。
各問題には学習内容や難易度が設定されており、段階的にセキュアコーディングを学べる構成になっています。
まずは脆弱な状態のアプリに対して自動攻撃を実行します。
学習者は実際に攻撃が成功する様子を確認しながら、どのような入力によって脆弱性が悪用されるのかを体験できます。

従来の座学教材とは異なり、「攻撃が成立すると何が起きるのか」を視覚的に理解できることが特徴です。
攻撃結果を確認した後は、原因となるコードを読み取り、脆弱性を修正します。
修正後は同じ攻撃を自動で再実行し、本当に防御できたかを判定します。
攻撃成功から修正、防御確認までを一連の流れとして体験できるため、単なる知識ではなく実践的な問題解決能力を身につけることができます。
基本・応用問題を含め、合計12問の学習コンテンツを実装しています。
今回の検証では、対象となる全問題において
を確認しており、攻撃から修正までの学習サイクルが正常に動作することを確認しました。
AIによるコード生成が普及する中、安全性を確認し、脆弱性を修正できる人材の重要性が高まっています。
SecurePatch Questは、初学者が実践的なセキュリティ知識を身につける機会を提供し、安全なシステム開発に貢献します。
企業では生成AIを活用した開発が進む一方で、生成コードのレビューやセキュリティ教育が課題となっています。
本サービスは企業研修や大学・専門学校向け教材として展開でき、実践的なセキュアコーディング教育の効率化と人材育成コストの削減に貢献します。
「AIでコードを書く力」だけでなく、「AIが作ったコードを安全に直す力」を育てる新しい教育コンテンツを目指します。
本プロジェクトでは、単に脆弱なアプリを作るだけでなく、「修正前は攻撃成功、修正後は攻撃失敗」を自動で判定できる学習環境の構築に挑戦しました。
特に難しかった点は、脆弱性ごとに攻撃方法や成功条件が異なることです。SQLインジェクション、XSS、認証・認可の不備など、それぞれに対して適切な攻撃シナリオと判定ロジックを実装する必要がありました。
また、ユーザーが行った修正が本当に有効かを検証するため、攻撃スクリプトの自動実行や検証フローの設計にも取り組みました。
この開発を通じて、脆弱性の知識だけでなく、実際の攻撃手法や防御方法、セキュリティ検証の考え方について理解を深めることができました。
本プロジェクトは4人チームで開発を行い、
に役割を分担して進めました。
一方で、担当領域を完全に分離するのではなく、定期的な進捗共有や相互レビューを実施しました。特にセキュリティ学習サービスでは、「作る側」と「解く側」の視点が重要になるため、実装した問題を他のメンバーが実際にプレイし、難易度や説明の分かりやすさを確認しました。
また、開発初期の段階で学習フローやUI構成を共有し、攻撃→原因確認→修正→再テストという体験をチーム全体で統一して設計しました。
その結果、各メンバーが専門性を活かしながら開発を進めつつ、一貫した学習体験を提供できるサービスとして完成させることができました