
WebアプリケーションにおけるReact2Shellの脆弱性(CVE-2025-55182 & CVE-2025-66478)を検出するためのChrome拡張機能
WebアプリケーションにおけるReact2Shellの脆弱性(CVE-2025-55182 & CVE-2025-66478)を検出するためのChrome拡張機能です。
React2Shell Detectorは、セキュリティ研究者やWeb開発者がWebアプリケーションの潜在的なReact2Shell脆弱性を特定するのに役立つブラウザ拡張機能です。この拡張機能は、ターゲットURLに安全な検出ペイロードを送信し、レスポンスを分析してアプリケーションが脆弱かどうかを判断します。
このプロジェクトは、Assetnoteによるreact2shell-scanner Pythonスクリプトに着想を得ており、ブラウザベースでより簡単にスキャンできるようにChrome拡張機能として再実装したものです。
この拡張機能は間もなくChromeウェブストアで利用可能になります。
リポジトリをクローン
git clone https://github.com/xiaopeng-ye/react2shell-detector.git
cd react2shell-detector
依存関係をインストール
pnpm install
拡張機能をビルド
開発用(ホットリロードあり):
pnpm dev
本番用:
pnpm build
Chromeに拡張機能を読み込む
chrome://extensions/ に移動build/chrome-mv3-devbuild/chrome-mv3-prod拡張機能をピン留め(任意)
拡張機能を開く
URLをスキャン
結果を確認
詳細を表示
react2shell-detector/
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ ├── ScanForm.tsx # URL input and scan button
│ ├── ScanResult.tsx # Results display
│ └── ...
├── lib/ # Core logic
│ ├── detector.ts # Vulnerability detection logic
│ ├── payload.ts # Payload generation
│ ├── types.ts # TypeScript type definitions
│ └── utils.ts # Helper functions
├── styles/ # Global styles
├── popup.tsx # Extension popup entry point
├── background.ts # Background service worker
└── package.json # Project configuration
# Development mode with hot-reload
pnpm dev
# Production build
pnpm build
# Package for distribution
pnpm package
# Format code
pnpm prettier --write .
このプロジェクトでは、以下の規約でPrettierを使用しています:
コミット前に必ずコードをフォーマットしてください:
pnpm prettier --write .
重要: このツールは以下を目的として設計されています:
以下には使用しないでください:
Webアプリケーションをスキャンする前に、必ず適切な許可を取得してください。
コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)このプロジェクトは、Assetnoteによる優れた研究と成果の上に成り立っています。中核となる検出ロジックは、彼らのreact2shell-scanner Pythonスクリプトを基にしています。
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。
このツールは、教育目的および許可を得たセキュリティテストの目的でのみ提供されます。著者および貢献者は、このツールの誤用またはそれによって引き起こされた損害について責任を負いません。Webアプリケーションをスキャンする前に、必ず適切な許可を取得してください。
問題が発生した場合やご質問がある場合: