Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
react2shell-scanner — Détecte la RCE CVE-2025-55182 dans les React Server Components en scannant les lockfiles npm/pnpm/yarn, les images Docker, les SBOMs et les URLs en direct. Inclut l'auto-fix, la sortie SARIF et les intégrations CI/CD. | Kitploit
Outils/GitHubGitHub/gensecaihq/react2shell-scanner
Scanners de VulnérabilitésSécurité des ConteneursAnalyse de CodeSécurité WebDevSecOpsDétection de SecretsSécurité de la Chaîne Logistique
GitHubgensecaihq/react2shell-scanner

react2shell-scanner

Détecte la RCE CVE-2025-55182 dans les React Server Components en scannant les lockfiles npm/pnpm/yarn, les images Docker, les SBOMs et les URLs en direct. Inclut l'auto-fix, la sortie SARIF et les intégrations CI/CD.

Voir le dépôtSite web
5975il y a 9 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

react2shell-guard

Scanner de sécurité pour CVE-2025-55182 - une vulnérabilité critique (CVSS 10.0) d'exécution de code à distance non authentifiée dans les composants serveur React.

⚠️ AVERTISSEMENT

Ceci est un scanner de sécurité, PAS un outil d'exploitation. Il est conçu pour aider les développeurs et les équipes de sécurité à identifier les dépendances vulnérables dans leurs projets.

Ceci est un projet open source communautaire fourni "EN L'ÉTAT" sans garantie d'aucune sorte, expresse ou implicite. Les auteurs et contributeurs ne sont pas responsables des dommages ou incidents de sécurité résultant de l'utilisation de cet outil.

Utilisez-le à vos propres risques et responsabilités. Vérifiez toujours les résultats manuellement et suivez les politiques de sécurité de votre organisation. Si vous découvrez des problèmes, des bogues ou avez des suggestions, veuillez contribuer pour améliorer le projet pour tout le monde.

🤝 CONTRIBUTEURS RECHERCHÉS

Ce projet recherche activement des testeurs et des contributeurs ! Que vous souhaitiez signaler des bogues, suggérer des fonctionnalités, améliorer la documentation ou soumettre du code - toutes les contributions sont les bienvenues. Consultez notre Guide de contribution pour commencer.

Remerciements

Ce projet existe pour aider la communauté à répondre à la CVE-2025-55182. Nous reconnaissons et remercions :

  • Lachlan Davidson (react2shell.com) - Pour avoir découvert et divulgué de manière responsable la vulnérabilité des composants serveur React (CVE-2025-55182) le 29 novembre 2025. La communauté de la sécurité lui doit de la gratitude pour sa diligence à identifier cette faille critique et pour avoir travaillé avec les équipes React et Next.js afin que des correctifs soient disponibles. Ses efforts ont contribué à protéger d'innombrables applications et utilisateurs dans le monde entier. Voir sa pour les détails techniques.
PoC originale

Démarrage rapide

1. Analyse instantanée (sans installation)

Le moyen le plus rapide de vérifier si votre projet est vulnérable :```bash npx react2shell-guard .

root@kitploit:~
That's it! Cela analysera votre répertoire courant et affichera les résultats immédiatement.

### 2. Analyser un projet spécifique```bash
npx react2shell-guard /path/to/your/project

3. Correction automatique des vulnérabilités

Des vulnérabilités trouvées? Corrigez-les automatiquement :```bash

Preview what will be changed

npx react2shell-guard fix --dry-run

Apply fixes

npx react2shell-guard fix

Apply fixes and reinstall dependencies

npx react2shell-guard fix --install

root@kitploit:~
### 4. Analyser les URL actives

Vérifiez si une application déployée est vulnérable :```bash
npx react2shell-guard scan-url https://your-app.com

5. Vérifier que le correctif a été appliqué

Confirmez que votre correctif déployé fonctionne:```bash npx react2shell-guard verify-patch https://your-app.com

root@kitploit:~
### 6. Analyser les images de conteneurs

Vérifiez si vos images Docker contiennent des paquets vulnérables :```bash
npx react2shell-guard scan-image myapp:latest

7. Créer une PR de correction (GitHub)

Créez automatiquement une PR GitHub pour corriger les vulnérabilités :```bash npx react2shell-guard create-pr --dry-run # Preview npx react2shell-guard create-pr # Create PR

root@kitploit:~
---

## Qu'est-ce que CVE-2025-55182?

Le 29 novembre 2025, le chercheur en sécurité Lachlan Davidson a découvert et divulgué de manière responsable une vulnérabilité critique dans React Server Components. Le défaut réside dans la manière dont React décode les charges utiles envoyées aux points de terminaison React Server Function, permettant à des attaquants non authentifiés d'exécuter du code à distance sur les serveurs concernés sans aucune interaction utilisateur.

CVE-2025-55182 est noté CVSS 10.0 (Critique) et affecte React Server Components (RSC) ainsi que les frameworks utilisant le protocole RSC "Flight".

**Paquets affectés :**
- `react-server-dom-webpack` 19.0.0, 19.1.0-19.1.1, 19.2.0
- `react-server-dom-parcel` (mêmes versions)
- `react-server-dom-turbopack` (mêmes versions)
- `next` 15.0.0-15.0.4, 15.1.0-15.1.8, 15.2.0-15.2.5, 15.3.0-15.3.5, 15.4.0-15.4.7, 15.5.0-15.5.6, 16.0.0-16.0.6

**Plus d'informations :**
- [Avis de sécurité React](https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components)
- [Recherche Wiz](https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182)

---

## Installation (Optionnel)

Pour une utilisation fréquente, installez globalement :```bash
npm install -g react2shell-guard

Ensuite, utilisez sans npx :```bash react2shell-guard .

root@kitploit:~
---

## Guide d'utilisation

### Analyse de base```bash
# Scan current directory
react2shell-guard .

# Scan specific directory
react2shell-guard /path/to/project

# Scan and ignore certain paths
react2shell-guard . --ignore-path "examples/**" "test/**"

Formats de sortie```bash

Human-readable text (default)

react2shell-guard .

JSON output (for scripting)

react2shell-guard . --json

SARIF output (for GitHub Security tab)

react2shell-guard . --sarif

HTML report (standalone, shareable)

react2shell-guard . --html report.html

root@kitploit:~
### CLI Options

| Option | Description |
|--------|-------------|
| `--json` | Afficher les résultats en JSON |
| `--sarif` | Afficher les résultats en SARIF 2.1.0 |
| `--html <file>` | Générer un rapport HTML autonome |
| `--no-exit-on-vuln` | Ne pas quitter avec le code 1 lorsque des vulnérabilités sont trouvées |
| `--ignore-path <patterns>` | Chemins à ignorer (par ex., `examples/**`) |
| `--debug` | Activer les sorties de débogage |

### Codes de sortie

| Code | Signification |
|------|---------------|
| `0` | Aucune vulnérabilité trouvée |
| `1` | Vulnérabilités détectées |
| `2+` | Erreur fatale |

## Analyse d'URL en direct

Analysez les points de terminaison en direct pour détecter s'ils sont vulnérables :```bash
# Scan a single URL
react2shell-guard scan-url https://example.com

# Batch scan from a file (one URL per line)
react2shell-guard scan-url urls.txt --list

# With options
react2shell-guard scan-url https://example.com --timeout 5000 --json

Comment fonctionne le scan d'URL en direct

Le scanner utilise l'empreinte passive pour détecter les points de terminaison vulnérables des composants React Server sans exploiter la vulnérabilité :

  1. Requête de sonde : Envoie une requête POST construite simulant un appel d'action Serveur RSC avec une charge utile minimale :

    • Utilise le type de contenu multipart/form-data avec une structure de données de type RSC
    • Inclut l'en-tête Next-Action pour déclencher le traitement de l'action Serveur
  2. Analyse de la réponse : Analyse la réponse HTTP pour les signatures de vulnérabilité :

    • Vérifie le code de statut HTTP 500 (réponse d'erreur)
    • Fait correspondre le corps de la réponse aux motifs d'erreur du protocole RSC Flight :
      • ^[0-9]+:E{ - Format d'erreur du protocole RSC Flight
      • "digest":"...RSC - Digest RSC dans les réponses d'erreur
      • ReactServerComponentsError - Noms de classes d'erreur React
      • text/x-component.*error - Type de contenu d'erreur de composant
  3. Non destructif : Il s'agit purement d'un mécanisme de détection - il n'exécute aucune charge utile malveillante ni n'exploite la vulnérabilité. La sonde utilise des données bénignes qui déclenchent des réponses d'erreur sur les serveurs vulnérables mais ne causent aucun dommage.

Remarque : Une détection positive signifie que le serveur exécute une version vulnérable et a renvoyé une signature d'erreur spécifique RSC. Cela ne signifie PAS que le serveur a été exploité.

Options du scanner d'URL

OptionDescription
--listTraiter la cible comme un fichier contenant des URL
--threads <n>Nombre de threads simultanés (par défaut : 10)
--timeout <ms>Délai d'attente de la requête en millisecondes (par défaut : 10000)
--jsonAfficher les résultats en JSON
--skip-ssl-verifyIgnorer la vérification du certificat SSL
--verboseAfficher tous les résultats, y compris les hôtes non vulnérables

Vérification du correctif

Vérifiez si une cible a été corrigée contre la vulnérabilité :```bash

Verify patch status (runs multiple scans for accuracy)

react2shell-guard verify-patch https://example.com

With JSON output

react2shell-guard verify-patch https://example.com --json

root@kitploit:~
### Comment fonctionne la vérification des correctifs

La vérification des correctifs effectue **plusieurs analyses consécutives** (par défaut : 3) avec de brefs délais entre elles pour garantir une détection précise :

1. **Sondes multiples** : Exécute le même contrôle de fingerprinting passif 3 fois avec des délais de 500 ms
2. **Évaluation de la confiance** :
   - **Confiance élevée** : 2+ analyses réussies avec des résultats cohérents
   - **Confiance moyenne** : 1 analyse réussie avec un résultat concluant
   - **Confiance faible** : Toutes les analyses ont échoué ou résultats non concluants
3. **Classification des résultats** :
   - **CORRIGÉ** : Aucune signature de vulnérabilité détectée dans toutes les analyses réussies
   - **VULNÉRABLE** : Signature de vulnérabilité détectée dans une ou plusieurs analyses
   - **Non concluant** : Résultats mitigés ou toutes les analyses ont échoué

Cette approche multi-analyse réduit les faux positifs dus aux problèmes réseau transitoires et offre une plus grande confiance dans le statut du correctif.

### Options de vérification

| Option | Description |
|--------|-------------|
| `--timeout <ms>` | Délai d'attente de la requête en millisecondes (par défaut : 10000) |
| `--json` | Afficher les résultats au format JSON |
| `--skip-ssl-verify` | Ignorer la vérification du certificat SSL |

## Analyse d'images de conteneurs

Scannez les images de conteneurs Docker/OCI à la recherche de paquets vulnérables :```bash
# Scan a local or remote image
react2shell-guard scan-image myapp:latest

# Scan from a registry
react2shell-guard scan-image registry.example.com/myapp:v1.0

# Skip pulling (use local image only)
react2shell-guard scan-image myapp:latest --skip-pull

# With JSON output
react2shell-guard scan-image myapp:latest --json

# With SARIF output
react2shell-guard scan-image myapp:latest --sarif

Container Scanner Options

OptionDescription
--timeout <ms>Délai d'expiration de l'opération en millisecondes (par défaut: 120000)
--skip-pullIgnorer le téléchargement de l'image depuis le registre (utiliser uniquement local)
--jsonAfficher les résultats au format JSON
--sarifAfficher les résultats au format SARIF 2.1.0
--no-exit-on-vulnNe pas quitter avec le code 1 lorsque des vulnérabilités sont trouvées
--debugActiver la sortie de débogage

Exigences :

  • Docker doit être installé et en cours d'exécution
  • Espace disque suffisant pour l'extraction d'image

Intégration du déploiement Vercel

Bloquer les déploiements vulnérables avant qu'ils n'atteignent la production :```bash

Run as part of your build command

react2shell-guard vercel-check

In package.json

{ "scripts": { "vercel-build": "react2shell-guard vercel-check && next build" } }

Or in vercel.json

{ "buildCommand": "npx react2shell-guard vercel-check && npm run build" }

root@kitploit:~
### Options de vérification Vercel

| Option | Description |
|--------|-------------|
| `--no-fail` | Avertir mais ne pas échouer la construction en cas de vulnérabilités |
| `--ignore-path <patterns>` | Chemins à ignorer (modèles glob) |
| `--debug` | Activer la sortie de débogage |

## Automatisation des PR GitHub

Créer automatiquement une pull request pour corriger les vulnérabilités :```bash
# Preview what will be done
react2shell-guard create-pr --dry-run

# Create branch and PR
react2shell-guard create-pr

# Create branch but don't push/create PR
react2shell-guard create-pr --no-push

# Custom branch name
react2shell-guard create-pr --branch fix/security-update

Créer des options PR

OptionDescription
--branch <name>Nom de la branche pour le correctif (par défaut : fix/cve-2025-55182)
--dry-runMontre ce qui serait fait sans apporter de modifications
--no-pushCrée la branche et les commits mais ne pousse pas et ne crée pas de PR

Prérequis :

  • GitHub CLI (gh) doit être installé et authentifié
  • Doit être dans un dépôt git avec un remote

Exemple de sortie```

react2shell-guard - CVE-2025-55182 Scanner ──────────────────────────────────────────────────

Scanned 1 project(s)

✗ my-app [VULNERABLE] Path: /path/to/my-app Framework: nextjs v15.2.1 App Router: Yes (RSC enabled)

Vulnerabilities found: - react-server-dom-webpack @ 19.1.0 Upgrade to: 19.1.2 Advisory: https://react.dev/blog/2025/12/03/... - next @ 15.2.1 Upgrade to: 15.2.6 Advisory: https://react.dev/blog/2025/12/03/...

────────────────────────────────────────────────── VULNERABLE - Action required! Upgrade affected packages to patched versions immediately.

root@kitploit:~
## GitHub Actions Integration

> **Note:** Nous publions activement de nouvelles versions avec des motifs de détection améliorés et des correctifs. Utilisez `@v1` pour les versions stables ou `@latest` pour la version la plus récente.

### GitHub Marketplace Action

La façon la plus simple d'intégrer est d'utiliser notre action GitHub officielle :```yaml
name: Security Scan

on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Scan for CVE-2025-55182
        uses: gensecaihq/react2shell-scanner@v1
        with:
          path: '.'
          fail-on-vuln: true

Configuration complète (SARIF + PR Comments)```yaml

name: Security Scan

on: [push, pull_request]

jobs: scan: runs-on: ubuntu-latest permissions: security-events: write # For SARIF upload pull-requests: write # For PR comments

root@kitploit:~
steps:
  - uses: actions/checkout@v4

  - name: Scan for CVE-2025-55182
    uses: gensecaihq/react2shell-scanner@v1
    with:
      path: '.'
      format: sarif
      fail-on-vuln: true
      upload-sarif: true        # Upload to GitHub Security tab
      add-pr-comment: true      # Comment on PRs with results
      ignore-paths: 'examples/**,test/fixtures/**'
root@kitploit:~
### Action Inputs

| Input | Description | Default |
|-------|-------------|---------|
| `path` | Chemin à analyser | `.` |
| `scan-type` | Type d'analyse : `repo`, `sbom`, `container` | `repo` |
| `format` | Format de sortie : `text`, `json`, `sarif` | `text` |
| `fail-on-vuln` | Échouer si des vulnérabilités sont trouvées | `true` |
| `upload-sarif` | Téléverser le SARIF vers GitHub Security | `false` |
| `add-pr-comment` | Ajouter un commentaire PR avec les résultats | `false` |
| `ignore-paths` | Chemins à ignorer (séparés par des virgules) | `''` |
| `sbom-file` | Chemin du fichier SBOM (lorsque scan-type est sbom) | `''` |
| `container-image` | Image Docker (lorsque scan-type est container) | `''` |

### Action Outputs

| Output | Description |
|--------|-------------|
| `vulnerable` | Indique si des vulnérabilités ont été trouvées (`true`/`false`) |
| `findings-count` | Nombre de paquets vulnérables |
| `scan-result` | Résultat complet de l'analyse (format JSON) |
| `sarif-file` | Chemin vers le fichier de sortie SARIF |

### Scanner les images conteneur```yaml
- name: Scan Docker image
  uses: gensecaihq/react2shell-scanner@v1
  with:
    scan-type: container
    container-image: myapp:latest

Analyser les fichiers SBOM```yaml

  • name: Scan SBOM uses: gensecaihq/react2shell-scanner@v1 with: scan-type: sbom sbom-file: sbom.json
root@kitploit:~
### Utilisation manuelle en ligne de commande

Si vous préférez utiliser la CLI directement :```yaml
- name: Setup Node.js
  uses: actions/setup-node@v4
  with:
    node-version: '20'

- name: Scan for vulnerabilities
  run: npx react2shell-guard@latest .

Gestionnaires de paquets pris en charge

react2shell-guard détecte et analyse automatiquement les fichiers de verrouillage de :

  • npm - package-lock.json (formats v2 et v3)
  • pnpm - pnpm-lock.yaml
  • yarn - yarn.lock (formats Classic et Berry)

Fonctionnalités

  • Analyse rapide - Analyse directement les fichiers de verrouillage, sans besoin d'installer les dépendances
  • Support monorepo - Découvre et analyse automatiquement tous les projets
  • Détection de framework - Identifie l'utilisation de Next.js et d'App Router
  • Formats de sortie multiples - Rapports texte, JSON, SARIF, et HTML
  • Prêt pour CI/CD - Codes de sortie et intégration GitHub Actions
  • Zéro appel réseau - Fonctionne complètement hors ligne
  • Auto-correction - Met à jour automatiquement les dépendances vulnérables
  • Hooks pré-commit - Bloque les commits contenant des dépendances vulnérables
  • Analyse SBOM - Analyse les fichiers SBOM CycloneDX
  • Intégration MCP - Prise en charge d'assistant IA via Model Context Protocol
  • Protection à l'exécution - Middleware Express.js/Next.js pour une défense en profondeur
  • Analyse d'URL en direct - Analyse les applications déployées pour les vulnérabilités
  • Analyse de conteneurs - Analyse les images Docker/OCI pour les paquets vulnérables
  • Intégration Vercel - Bloque les déploiements vulnérables avant la mise en production
  • Automatisation des PR GitHub - Crée automatiquement des PR de correctif en une seule commande

Auto-correction des vulnérabilités

Mettez à jour automatiquement votre package.json pour utiliser les versions corrigées :```bash

Preview changes (dry run)

react2shell-guard fix --dry-run

Apply fixes

react2shell-guard fix

Apply fixes and run npm/pnpm/yarn install

react2shell-guard fix --install

root@kitploit:~
## Hooks de pré-commit

Installez des hooks git pour éviter de commettre des dépendances vulnérables :```bash
# Auto-detect hook framework and install
react2shell-guard init-hooks

# Preview what would be installed
react2shell-guard init-hooks --dry-run

# Force specific hook type
react2shell-guard init-hooks --hook-type husky
react2shell-guard init-hooks --hook-type lefthook
react2shell-guard init-hooks --hook-type standalone

Supported hook frameworks:

  • Husky - Ajoute à .husky/pre-commit
  • Lefthook - Crée/met à jour lefthook.yml
  • Standalone - Crée .git/hooks/pre-commit

Le hook bloquera les commits lorsque package.json contient des dépendances vulnérables et suggérera d'exécuter react2shell-guard fix pour y remédier.

Analyse SBOM

Analyser les fichiers SBOM CycloneDX pour les vulnérabilités :```bash

Scan a CycloneDX SBOM

react2shell-guard scan-sbom bom.json

With JSON output

react2shell-guard scan-sbom bom.json --json

With SARIF output

react2shell-guard scan-sbom bom.json --sarif

root@kitploit:~
## MCP Server (Intégration d'Assistant AI)

Démarrer le serveur Model Context Protocol pour l'intégration d'Assistant AI:```bash
react2shell-guard mcp-server

Outils MCP disponibles :

  • scan_repo - Analyser un dépôt pour trouver des vulnérabilités
  • scan_sbom - Analyser un fichier SBOM CycloneDX

Configurer avec des clients compatibles MCP (exemple de configuration):```json { "mcpServers": { "react2shell-guard": { "command": "npx", "args": ["react2shell-guard", "mcp-server"] } } }

root@kitploit:~
## Middleware de protection en runtime

Middleware de défense en profondeur qui détecte et bloque les tentatives d'exploitation de CVE-2025-55182 en runtime.

### Express.js```typescript
import express from 'express';
import { createExpressMiddleware } from 'react2shell-guard/middleware';

const app = express();

// Add raw body parser for RSC payloads
app.use(express.raw({ type: 'text/x-component' }));
app.use(express.json());

// Add protection middleware
app.use(createExpressMiddleware({
  action: 'block',  // 'block' | 'log' | 'alert'
  onAlert: (result, req) => {
    // Send to your alerting system (Slack, PagerDuty, etc.)
    console.error('CVE-2025-55182 exploit attempt:', result);
  },
  skipPaths: ['/health', '/metrics'],
}));

Next.js```typescript

// middleware.ts import { withReact2ShellGuard } from 'react2shell-guard/middleware';

export const middleware = withReact2ShellGuard({ action: 'block', rscEndpointsOnly: true, // Only check RSC endpoints (recommended) });

export const config = { matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'], };

root@kitploit:~
**Modèles détectés :**
- Serialized function injection
- Prototype pollution attempts
- Malformed module references
- Server action tampering
- Encoded malicious payloads
- RSC streaming format abuse

## Utilisation de l'API```typescript
import { scan } from 'react2shell-guard';

const result = scan({
  path: '/path/to/project',
  ignorePaths: ['examples/**'],
  debug: false,
});

console.log(result.vulnerable); // boolean
console.log(result.projects);   // ProjectResult[]

Schéma de sortie JSON```json

{ "cve": "CVE-2025-55182", "vulnerable": true, "scanTime": "2025-12-04T10:30:00Z", "projects": [ { "name": "my-app", "path": "/path/to/my-app", "framework": { "type": "nextjs", "version": "15.2.1", "appRouterDetected": true }, "findings": [ { "package": "react-server-dom-webpack", "currentVersion": "19.1.0", "fixedVersion": "19.1.2", "severity": "critical", "advisoryUrl": "https://..." } ], "vulnerable": true } ], "errors": [] }

root@kitploit:~
## Remédiation

**Correction automatique (recommandée) :**```bash
react2shell-guard fix --install

Mise à niveau manuelle - Paquets React:```bash npm install [email protected] # or 19.0.1, 19.2.1

root@kitploit:~
**Mise à niveau manuelle - Next.js:**```bash
npm install [email protected]  # or other patched version for your release line

Versions fixes de Next.js par ligne de version :

  • 15.0.x → 15.0.5
  • 15.1.x → 15.1.9
  • 15.2.x → 15.2.6
  • 15.3.x → 15.3.6
  • 15.4.x → 15.4.8
  • 15.5.x → 15.5.7
  • 16.0.x → 16.0.7

Développement```bash

Install dependencies

npm install

Build

npm run build

Run tests

npm test

Run in development mode

npm run dev

root@kitploit:~
## Licence

MIT
Télécharger l’outil