
AWS Organization-wide detection toolkit for CVE-2025-55182 & CVE-2025-66478 (React Server Components / Next.js RCE vulnerabilities)
CVE-2025-55182 および CVE-2025-66478 向け AWS 組織全体検出ツールキット
⚠️ 重要な免責事項 - ご使用前にお読みください
このツールキットは、本番 AWS 環境ではテストされていません。
インフラストラクチャの制約により、このプロジェクトはコードレビュー、静的解析、およびドキュメント検証のみを通じて開発および検証されました。アクティブな GuardDuty、WAF、EventBridge、または CloudTrail サービスを備えた実際の AWS 環境にデプロイまたはテストされていません。
これが意味すること:
コンポーネント 状況 Python スキャナーロジック ✅ コードレビュー済み、Snyk 検証済み Terraform 構文 ✅ 検証済み、未適用 IAM ポリシー ⚠️ 環境に応じた調整が必要な可能性があります EventBridge ルール ⚠️ AWS ドキュメントに基づく検出パターン WAF ルール ⚠️ 正規表現パターンは実際のトラフィックに対してテストされていません Athena クエリ ⚠️ スキーマの前提条件は変更が必要な可能性があります 推奨事項:
- まず非本番アカウントにデプロイする - すべてのコンポーネントをサンドボックス環境でテストしてください
- IAM ポリシーを注意深く確認する - 組織の要件に合わせて権限を調整してください
- Terraform プランを検証する -
terraform planを実行してから適用してください- EventBridge パターンをテストする - 検出タイプ文字列が GuardDuty 出力と一致することを確認してください
- CloudWatch ログを監視する - デプロイ後にエラーがないか確認してください
責任:
このソフトウェアは「現状のまま」提供され、いかなる種類の保証もありません。著者は、このツールキットの使用により発生したいかなる損害、セキュリティインシデント、または AWS 費用についても責任を負いません。ご自身の責任でご使用ください。
このツールキットのデプロイとテストに成功した場合は、コミュニティのために結果をご提供いただけると幸いです。
AWS 環境全体で React2Shell の悪用試行を検出するための包括的なセキュリティツールキットです。このツールキットは、React Server Components の重大な RCE 脆弱性に対するリアルタイム検出、脅威ハンティング機能、および自動応答を提供します。
__proto__:then の操作により、process.mainModule.require('child_process').execSync() を介した任意のコード実行が可能## 前提条件
### 必要な権限```
# Minimum IAM permissions for the detection script
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudtrail:LookupEvents",
"logs:StartQuery",
"logs:GetQueryResults",
"guardduty:ListDetectors",
"guardduty:ListFindings",
"guardduty:GetFindings",
"guardduty:CreateThreatIntelSet",
"guardduty:UpdateThreatIntelSet",
"guardduty:ListThreatIntelSets",
"guardduty:GetThreatIntelSet",
"s3:PutObject",
"s3:GetObject",
"sts:GetCallerIdentity",
"sts:AssumeRole"
],
"Resource": "*"
}
]
}
# For Security Hub integration, add:
"securityhub:BatchImportFindings"
# For SNS alerting, add:
"sns:Publish"
# For organization-wide scanning, add:
"organizations:ListAccounts"
| ソフトウェア | バージョン | 目的 |
|---|---|---|
| Python | 3.9+ | 検出スクリプトの実行環境 |
| Terraform | 1.0+ | インフラストラクチャのデプロイ |
| AWS CLI | 2.x | AWS認証 |
| boto3 | 1.34+ | Python用AWS SDK |
cd React2Shell_Hunter
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
### ステップ 2: AWS 認証情報を設定する```bash
# Option A: Use AWS CLI profile
aws configure --profile security-scanner
# Option B: Export environment variables
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"
export AWS_DEFAULT_REGION="us-east-1"
# Option C: Use IAM role (recommended for EC2/Lambda)
# Attach appropriate IAM role to your compute resource
aws sts get-caller-identity
python -c "import boto3, yaml; print('Dependencies OK')"
python -c " import yaml with open('config/iocs.yaml') as f: iocs = yaml.safe_load(f) print(f'Loaded {len(iocs["network_iocs"]["malicious_ips"])} malicious IPs') "
## クイックスタート
### 現在のアカウントをスキャン(過去24時間)```bash
python src/react2shell_detector.py --hours 24
期待される出力:``` 2025-12-06 10:00:00 - React2ShellDetector - INFO - ============================================================ 2025-12-06 10:00:00 - React2ShellDetector - INFO - React2Shell IOC Detection Script 2025-12-06 10:00:00 - React2ShellDetector - INFO - CVE-2025-55182 & CVE-2025-66478 2025-12-06 10:00:00 - React2ShellDetector - INFO - ============================================================ 2025-12-06 10:00:00 - React2ShellDetector - INFO - Starting single account scan... 2025-12-06 10:00:00 - React2ShellDetector - INFO - Analyzing CloudTrail logs... 2025-12-06 10:00:05 - React2ShellDetector - INFO - Checking GuardDuty findings...
Total findings: 0 CRITICAL: 0 HIGH: 0 MEDIUM: 0
### 本番フルスキャン```bash
python src/react2shell_detector.py \
--organization \
--role-name SecurityAuditRole \
--security-hub \
--guardduty-bucket my-threat-intel-bucket-12345 \
--vpc-log-group /aws/vpc/flowlogs \
--waf-log-group aws-waf-logs-react2shell \
--sns-topic arn:aws:sns:us-east-1:123456789012:security-alerts \
--output json \
--output-file findings-$(date +%Y%m%d).json \
--hours 72
GuardDutyではカスタム検出ルールを作成することはできません。
GuardDutyはMLモデルと脅威インテリジェンスを使用して検出結果を生成します。React2Shellを検出するには: