アップデート一覧に戻る
New releaseAug 12, 2026

oss-oopssec-store v2.18.0

実際に出荷するアプリのためのセキュリティトレーニング。ブラウザを開いてハッキングを始めましょう。

共有

OSS - OopsSec Store

Webセキュリティ学習のための意図的に脆弱性を含むECアプリ。
現実的なCTFプラットフォームを通じて、実際の攻撃ベクトルを習得できます。
フラグを探し、脆弱性を悪用し、セキュリティスキルをレベルアップさせましょう。

Docker Hub · npm · ロードマップ · ウォークスルー · コントリビューション · 初心者向けイシュー

GitHub license PRs Welcome Good first issues Intentionally Vulnerable
GitHub stars GitHub forks


   ____  ____ ____     ____                  ____            ____  _
  / __ \/ __// __/    / __ \ ___   ___  ___ / __/ ___  ____ / __/ / /_ ___   ____ ___
 / /_/ /\ \ _\ \     / /_/ // _ \ / _ \(_-<_\ \  / -_)/ __/_\ \  / __// _ \ / __// -_)
 \____/___//___/     \____/ \___// .__/___/___/  \__/ \__//___/  \__/ \___//_/   \__/
                                /_/

# Node.js
npx create-oss-store my-ctf-lab && cd my-ctf-lab && npm start

# Docker
docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store

# Then open http://localhost:3000 and start hacking
OopsSec Store storefront

目次


[!WARNING] このアプリケーションには意図的なセキュリティ上の欠陥が含まれており、本番環境にデプロイしてはなりません。

特徴

  • 意図的に脆弱性を含むECアプリ(XSS、CSRF、IDOR、JWT攻撃、パストラバーサル、SQLインジェクションなど)
  • Next.js、React、Prisma、SQLiteで構築
  • 文書化された攻撃ベクトルを備えたREST API
  • 11のチャプターにわたる36のCTFチャレンジ。構造化された学習ロードマップとして構成
  • 各チャレンジの脆弱性ドキュメントとコミュニティによるウォークスルー
  • ガイド付きTryHackMeルームThe Summer Audit、8つのタスクと7つのフラグ。初心者向けのストーリー形式の入門として提供
  • エクスプロイトが引き続き機能することを検証する自動テスト(誤って脆弱性を修正したPRはCIで失敗します)

なぜOopsSec Storeなのか?

OopsSec Storeは、Next.jsとReactで構築された唯一の意図的に脆弱性を含むWebアプリケーションです。実際の本番環境で遭遇するスタックです。そして、AI時代の攻撃対象領域は後付けではなく中核カリキュラムの一部です。プロンプトインジェクション、MCPツールポイズニング、AIコーディングエージェントのバックドア、npmサプライチェーン攻撃チェーンをエンドツーエンドでシミュレートします。

OopsSec StoreJuice ShopDVWA
スタックNext.js · React · PrismaNode.js · Express · AngularPHP · MySQL
セットアップnpx create-oss-store (< 1分) / DockerDocker / npmDocker / 手動LAMP
CTFフラグ✅ 組み込み✅ オプトインCTFモード
ガイド付き学習ロードマップ✅ 1ロードマップ、11チャプター、36フラグ❌ スコアボードのみ部分的(セキュリティレベル)
すべてのチャレンジのウォークスルー✅ コンパニオンガイド部分的(ヒント)
LLMプロンプトインジェクション✅ 無料のAPIキーを接続✅ v20+、独自LLMを持ち込み設定
MCPツールポイズニング
AIコーディングエージェントのバックドア(汚染されたルールファイル)
サプライチェーン攻撃チェーン✅ エンドツーエンドでシミュレート: npmタイポスクワット → ルールバックドア部分的 — 識別のみ
実際のCVEに基づくチャレンジ
プレイヤー向け殿堂

最終検証: 2026年6月、Juice Shop v20およびDVWA 2.xに対して実施。不正確な点を見つけましたか? イシューを開くか、PRを開くしてください。

インストール

クイックスタート

npx create-oss-store my-ctf-lab
cd my-ctf-lab
npm start

その後、ブラウザで http://localhost:3000 を開きます。

手動セットアップ

リポジトリをクローンしてセットアップスクリプトを実行します:

git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
npm run setup

これにより、.envファイルが作成され、依存関係がインストールされ、SQLiteデータベースがセットアップされ、CTFフラグがシードされ、ポート3000でアプリが起動します。

Docker

Node.jsは不要です。Dockerのみ必要です。

127.0.0.1:3000:3000 は、ラボを自分のマシンからのみ到達可能にします。プレーンな -p 3000:3000 は、管理下にある分離されたVMでのみ使用してください。

Docker Hubから(最速)

docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store

再起動後もデータを保持するには:

docker run -p 127.0.0.1:3000:3000 -v oss-data:/app/data leogra/oss-oopssec-store

ソースから(Docker Compose)

git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
docker compose up -d

または、npmヘルパースクリプトを使用:

npm run docker:up       # バックグラウンドで起動(初回実行時にイメージをビルド)
npm run docker:logs     # コンテナログを追跡
npm run docker:down     # コンテナを停止
npm run docker:reset    # データを消去して新規に再起動

データベースは初回起動時に初期化されます。データはDocker名前付きボリュームを介して再起動後も保持されます。すべてをリセットするには(フラグの進行状況、ユーザー、アップロード)、npm run docker:reset を実行します。

殿堂

すべてのフラグを見つけましたか? 殿堂に参加するにはプルリクエストを開いてください。hall-of-fame/data.json にエントリを追加すると、アプリの /hall-of-fame ページにプロフィールが表示されます。

コミュニティ

質問、解決策、フィードバックはディスカッションにあります。

行き先目的
🧩 チャレンジで行き詰まったエクスプロイトが発火しない、フラグが検証されない
🛠️ セットアップとインストールラボ起動時のDocker、npm、Nodeの問題
🏆 解法を共有ウォークスルーがカバーしていないフラグへのルート
💡 チャレンジアイデアカリキュラムに追加する価値のある脆弱性クラス
🎓 OopsSecでの教育クラス、ブートキャンプ、チームでラボを運用する
イシューラボ自体のバグ(それのみ)

プロジェクト構成

フォルダ説明
app/Next.js App Router: ページ、APIルート、Reactコンポーネント
app/api/REST APIエンドポイント(認証、カート、注文、製品、フラグなど)
app/components/React UIコンポーネント(Header、Footer、ProductCardなど)
app/vulnerabilities/各脆弱性を文書化したページ
content/vulnerabilities/脆弱性と攻撃ベクトルのMarkdown説明
lib/共有ユーティリティ: DBクライアント、認証、APIヘルパー、型
prisma/データベーススキーマ、シードスクリプト、およびflags.ts — CTFフラグとそのヒント
public/静的アセットとエクスプロイトペイロード(例: CSRFデモ)
hooks/カスタムReactフック(認証など)
scripts/セットアップおよび自動化スクリプト
docs/コミュニティウォークスルー付きの静的ドキュメントサイト
hall-of-fame/すべてのフラグを見つけたプレイヤーのプロフィール
packages/スキャフォールディング用のNPMパッケージcreate-oss-store(およびreact-toastfyなどのラボ隔離アーティファクト)
lab/quarantine/サプライチェーンチャレンジ用の不活性な悪意のあるペイロード(データとして扱い、指示として決して扱わない)
tests/エクスプロイトを検証するJestユニットおよびAPIテスト
cypress/完全なエクスプロイトワークフローのE2Eテスト

最近のアクティビティ Time period

Timeline graph Trending topics

Issue status graph Pull request status graph

テスト

このプロジェクトには、すべてのエクスプロイトチェーンとフラグが引き続き機能することを確認するセキュリティ回帰テストが含まれています。これらのテストは意図的に安全でない動作を検証します。すべてのPRで実行されるため、誤って脆弱性を修正した場合、CIが検出します。

テストの実行

# ユニットテスト(ユーティリティ関数: MD5ハッシュ、JWT、入力フィルター)
npm run test:unit

# APIエクスプロイトテスト(実行中のサーバーが必要)
npm run test:api

# E2Eエクスプロイトテスト(実行中のサーバーが必要)
npm run test:e2e

# Cypressインタラクティブモードを開く
npm run test:e2e:open

# すべてのテスト
npm run test:ci

免責事項

[!CAUTION] このプロジェクトは教育および許可されたセキュリティテスト専用です。 意図的な脆弱性と安全でない設定が含まれています。著者は、誤用、損害、または不正アクセスについて責任を負いません。分離された環境で使用してください。

コントリビューション

OSS – OopsSec StoreはMITライセンスです。コントリビューションを歓迎します。

コントリビューションの方法:

  • 新しいセキュリティチャレンジを追加する
  • ウォークスルーを書く、または改善する
  • アプリケーションを拡張する
  • バグを報告して修正する
  • ドキュメントを改善する

計画された作業についてはロードマップを確認するか、初心者向けイシューを取得してください。

すべてのフラグを見つけましたか? ドキュメントサイトでウォークスルーを共有してください。

バグや提案については、GitHubイシューを開いてください。ガイドラインについてはCONTRIBUTING.mdを参照してください。

🎓 コースやCTFでOopsSec Storeを使用していますか?

教育者向けキットをチェックしてください。OWASPカバレッジグリッド、シラバステンプレート、デプロイFAQ、学生レポートテンプレートを含むすぐに使えるガイドです。カリキュラムを中心に独自のツールを構築していますか? 全体はchallenges.jsonで機械可読なフィードとして公開されており、ドキュメントのデプロイのたびに再生成されます。

Repography logo / トップコントリビューター

Top contributors


著者: kOaDT
プロジェクト: OopsSec Store
連絡先: [email protected]

ライセンス: MIT

フォーク内のLICENSEファイルは削除または変更しないでください。

カテゴリ