コンピュータサイエンス、ソフトウェアエンジニアリング、またはサイバーセキュリティを教えている場合でも、Aikidoは学生にエンタープライズグレードのセキュリティツールを無料で提供します。
Aikido for Educationは、プロのチームに信頼されているプラットフォームを教室にもたらし、学生が実践を通じて学ぶのを支援します。教師はそれをコースに統合して、複雑さやコストを追加することなく、学生に現実世界のセキュリティ課題に対する実践的な経験を提供できます。
このプログラムの「なぜ」にご興味がありますか?こちらで私たちのストーリーをお読みください → Aikido for Educationを立ち上げた理由。
教師がAikidoを使用する理由
Aikidoは、静的なスライドではなく実際の脆弱性を実演することで、教授が理論を実践に活かすのを支援します。これにより、学生が実際のコード、クラウド構成、ランタイムセキュリティを扱う実践的な課題を設計できるようになります。また、学習成果と進捗を追跡しながら、学生に実践的で即戦力となる経験を積ませることができます。
教育者向け
ステップ1 – ワークスペースとチームを設定する
業界のセキュリティチームが行うように、まずワークスペースを作成し、学生をチームにグループ分けします。例えば、50人のクラスを10人ずつの5チーム、または5人ずつの10チームに分けることができます。コースアプリ、オープンソースプロジェクトのフォーク、専用の教育用リポジトリなどのリポジトリを接続し、学生が問題を発見し、修正できるサンドボックスを提供します。
スクリーンショット:教授がアカウントを作成し、読み取り専用アクセスでリポジトリを安全に接続する方法を示すワンクリックサインアップ画面。

ステップ2 – 学生を招待する
学生をワークスペースに招待し、アクセスできる内容を定義するロールを割り当てます。これにより、学生はプロフェッショナルな環境で使用されるアクセス制御と説明責任の実践を経験し、同時に教室の秩序を保つことができます。
スクリーンショット:教授が学生を特定のリポジトリ、クラウド、コンテナにわたる特定のチームと責任に割り当てる方法を示すユーザー招待フロー。

ステップ3 – 最初のスキャンを実行
リポジトリが接続されると、Aikidoは自動的にスキャンを実行し、数分以内にメインフィードに結果を表示します。これを授業で活用し、学生にプロフェッショナルなセキュリティダッシュボードを見せ、発見されたカテゴリを一緒に確認することで、抽象的な概念を具体的な結果に変えることができます。
スクリーンショット:初回スキャン後のAikidoメインフィード。深刻度レベル、修正時間の見積もり、ステータスフィルターとともに、カテゴリ横断的にさまざまな問題が表示されています。

ステップ4 – オープンソースの依存関係を探索
オープンソースの依存関係は、ほとんどの最新ソフトウェアの根幹をなしていますが、同時に継承されたリスクももたらします。学生は、CVEがサプライチェーンにどのように影響するか、そしてパッチ適用がなぜ重要であるかを学びます。簡単な演習として、各チームに脆弱なパッケージを割り当て、パッチを適用させ、修正を確認するためにスキャンを再実行させます。
スクリーンショット:脆弱性のあるオープンソースの依存関係がダッシュボードで強調表示されており、詳細なCVE情報も確認できます。

誤検知を削減
セキュリティアラートは圧倒されるほど多く、その多くは誤検知です。学生は、「すべての検出結果」ビューと「Aikido Refined」の結果を比較することで、実行可能な問題に焦点を当てる方法を学びます。
スクリーンショット: 全ての検出結果とAikidoの洗練された結果の比較。誤検知が71%削減され、対応すべき脆弱性が強調されていることを示しています。

到達可能性分析
すべての脆弱性がエクスプロイト可能であるとは限りません。依存関係パスをレビューすることで、学生はどのCVEが実際にコード内で到達可能であるかを確認し、実際の危険度に基づいて修正の優先順位を付ける方法を学びます。
スクリーンショット:CVE-2019-10746の依存関係チェーンと、脆弱なパッケージが実際に本番環境で使用されているかどうかを示す到達可能性分析グラフ。
ステップ5 – クラウド構成とコンプライアンスを分析する
オープンバケットや過度に寛容なIAMロールのようなクラウドの誤構成は、侵害の最も一般的な原因の一つです。学生は、技術的なミスがSOC2、ISO 27001、OWASP Top 10などのフレームワークにどのように直接マッピングされるかを学びます。デモ用のクラウド環境を使用して誤構成を示し、学生がコンプライアンススコアが改善するまで問題を修正させます。
スクリーンショット:AWS、Azure、GCP、DigitalOceanにわたる接続済みアカウントと、セキュリティログの無効化や修正ガイダンスを含むAzureデモ環境の詳細な検出結果を示すクラウド誤構成結果。

アセットグラフ + クラウド検索
設定ミスがどのように相互に接続されているかを視覚化することで、学生は可視性とコンテキストの向上がリスク軽減にどのように役立つかをより深く理解できます。Aikidoは、クラウドインベントリ全体で自然言語クエリを可能にし、学生が探したいものを簡単に記述するだけで、システムがそれを一連の論理的なステップに変換します。例えば、学生が「S3バケットにアクセスできるEC2インスタンスを表示して」と尋ねると、Aikidoはインスタンス、IAMロール、バケットポリシー、および権限間の関係をマッピングし、結果を段階的に提示します。
スクリーンショット:自然言語クエリ「米国IPに接触するデータ」が、EC2インスタンス、ロードバランサー、RDSデータベース、S3バケット、Lambda関数にわたる段階的なチェックに変換されて表示されるCloud Searchの結果。

ステップ6 – ドメインとAPIをレビューする
外部に公開されているアプリやAPIは、攻撃者が最初に目を付ける場所となることがよくあります。学生は、DNSの誤構成、脆弱なヘッダー、公開されたエンドポイントがどのようにリスクを生み出すかを学ぶことができます。小規模なWebアプリでスキャンを実行し、その後、学生に認証やより厳格なCSPヘッダーなどの緩和策を適用させます。再スキャンして改善点を比較します。
スクリーンショット:接続されているドメインとAPIのリスト。タイプ別に分類され、深刻度レベルと未解決の問題が表示されています。例として、認証が欠落しているREST API、高または重大なリスクを持つフロントエンドアプリ、「リスクなし」とマークされた安全なドメインが含まれます。

ステップ7 – ランタイム保護を有効にする
静的スキャンは潜在的な問題を浮き彫りにしますが、ランタイム保護は攻撃がリアルタイムで試行されたときに何が起こるかを示します。Zen Firewallを有効にすることで、学生はSQLインジェクションやSSRFの試行が即座にブロックされるのを確認できます。保護なしで同じ攻撃を実行すると、顕著な対比が得られます。
スクリーンショット:脆弱なPythonアプリケーションに対するSQLインジェクション、シェルインジェクション、SSRFの試行がリアルタイムでブロックされたログを示すZen Firewallダッシュボード。

ステップ8 – AI AutoFixによる修復の実践
脆弱性の修正は、発見することと同じくらい重要です。AutoFixは、依存関係、SAST、IaC、コンテナ全体でAIプルリクエストを生成します。学生はまず自分で修正を試み、その後AutoFixと比較して、トレードオフや自動化をいつ信頼すべきかについて議論できます。
スクリーンショット:CVEを含む依存関係の脆弱性、推奨されるバージョンアップグレード、およびレビュー準備が整った自動生成されたプルリクエストを示すAutoFixダッシュボード。

例:強化されたDockerイメージ
スクリーンショット:AutoFixが脆弱なベースイメージを安全で強化された代替イメージに置き換え、問題を自動的に削減する様子。

ステップ9 – 進捗状況の監視
セキュリティは、単発の修正ではなく、長期的なパターンに関するものです。Aikidoの「Trends Over Time」レポートは、未解決の問題がどのように蓄積されるかを示し、チーム比較はグループ間のパフォーマンスを浮き彫りにします。これらのレポートを活用して、教室での競争を促し、継続的な改善について議論を深めましょう。
スクリーンショット:経時的傾向レポート。オープンな問題が深刻度レベル間でどのように変動するかを示し、脆弱性が蓄積されているのか、それとも修正されているのかを明確にします。

スクリーンショット:チーム比較レポート。グループ間で解決済みと導入済みの問題、およびコンプライアンス適合スコアを表示し、教授が進行状況をベンチマークし、教室での競争を作成できるようにします。

ステップ10 – 高度なモジュール
PR Gating
プロフェッショナルチームでは、PR Gatingを使用して、安全でないコードが本番環境に到達する前にブロックされます。学生はPR Gatingの使用方法を学び、選択された深刻度しきい値を超える脆弱性を導入するマージを防ぐことができます。
スクリーンショット: PRゲーティング設定画面。脆弱性を導入した場合にプルリクエストがブロックされる仕組みと、スキャンタイプ、深刻度しきい値、CI/CD連携に関する詳細な制御機能を示しています。

IDE Plugins
セキュリティは、より早い段階、つまりコーディング段階にシフトすることもできます。IDEプラグインを使用すると、学生はコードをコミットする前に、エディタ内で直接問題がフラグ付けされているのを確認できます。課題として、VS Codeで検出をトリガーし、それを修正し、Aikidoで解決を確認することが考えられます。
スクリーンショット:VS Codeで問題をハイライト表示するIDEプラグイン


最初の1ヶ月の様子
- 最初の週に、リポジトリを接続し、初期スキャンを実行して発見事項のカテゴリを紹介します。
- 2週目では、依存関係とノイズ削減について探ります。
- 3週目には、到達可能性による優先順位付けを教えます。
- 4週目には、AutoFixの比較を使用して修正演習を割り当てます。
- 5週目には、レポートで進捗状況を確認し、長期的なリスクパターンを強調します。
教授向けの次のステップ
デモリポジトリを接続し、学生を招待して、最初のスキャンを実行します。ノイズリダクション、到達可能性、ランタイム保護、AutoFixなどのコアレッスンを活用し、最終課題のためにPRゲーティングやIDEプラグインなどの高度なモジュールを追加します。
Aikidoを利用することで、学生は追加の複雑さなしに、無料で実社会で通用する即戦力となるセキュリティスキルを習得できます。

