Skip to main content

Cyberstrike is now open source! AI-powered penetration testing for security professionals. Star on GitHub

Web

CyberStrike peut fonctionner comme une application web dans votre navigateur, offrant l’experience complete d’evaluation de securite assistee par IA sans avoir besoin d’un terminal.

SCREENSHOT: web-ui-overview.png

Interface web avec barre laterale de sessions, panneau de chat et revision de fichiers

Pour commencer

Lancez l’interface web avec :

Terminal window
cyberstrike web

Cela demarre un serveur local sur 127.0.0.1 (port 4096 par defaut) et ouvre CyberStrike dans votre navigateur par defaut.

Caution

Securite : Si CYBERSTRIKE_SERVER_PASSWORD n’est pas defini, le serveur ne sera pas securise. C’est acceptable pour un usage local mais doit etre defini pour un acces reseau.

Info

Windows : Executez cette commande depuis WSL plutot que PowerShell pour une integration correcte du systeme de fichiers et du terminal.

Configuration

Port

Terminal window
cyberstrike web --port 4096

Par defaut, le systeme selectionne automatiquement un port disponible.

Nom d’hote

Terminal window
# Localhost uniquement (par defaut)
cyberstrike web --hostname 127.0.0.1
# Accessible sur votre reseau
cyberstrike web --hostname 0.0.0.0

Decouverte mDNS

Activez la decouverte sur le reseau local. Definit automatiquement le nom d’hote a 0.0.0.0.

Terminal window
cyberstrike web --mdns

Avec un domaine personnalise :

Terminal window
cyberstrike web --mdns --mdns-domain myproject.local

CORS

Autoriser les requetes cross-origin depuis des domaines specifiques :

Terminal window
cyberstrike web --cors https://example.com

Authentification

Terminal window
CYBERSTRIKE_SERVER_PASSWORD=secret cyberstrike web

Le nom d’utilisateur par defaut est cyberstrike, modifiable via CYBERSTRIKE_SERVER_USERNAME.

VIDEO: web-launch-demo.mp4

Lancement de cyberstrike web et ouverture automatique du navigateur avec une session live (~12s)

Fonctionnalites

L’interface web comprend :

  • Gestion des sessions — Creer, basculer, archiver et supprimer des sessions
  • Onglets du panneau lateral — MCP, Bolt, Vulnerabilites, Contexte Web et suivi des taches
  • Navigateur de fichiers — Voir et parcourir les fichiers du projet avec mise en evidence des differences
  • Panneau de revision — Reviser les modifications de code generees par l’IA avant de les accepter
  • Terminal — Onglets de terminal integres dans le navigateur
  • Mises a jour en temps reel — Streaming SSE pour la sortie des agents en direct
  • Notifications de mises a jour — Verification automatique des nouvelles versions de CyberStrike

SCREENSHOT: web-side-panel-tabs.png

Panneau lateral avec les onglets MCP, Bolt, Vulns, Contexte Web et Todo

Panneau de contexte web

Lorsqu’il est associe a l’extension Chrome Capture, l’onglet Web du panneau lateral affiche :

  • Endpoints — Requetes HTTP capturees avec methode et chemin
  • Roles — Roles utilisateur detectes et niveaux de permissions
  • Identifiants — Tokens d’authentification et identifiants de session
  • Objets — Objets de donnees decouverts dans les reponses API
  • Fonctions — Operations CRUD deduites des patterns de trafic

SCREENSHOT: web-context-panel.png

Panneau de contexte web avec les sections Endpoints, Roles, Identifiants, Objets, Fonctions

Attachement de terminal

Executez le serveur web et un TUI simultanement, partageant les memes sessions :

Terminal window
# Terminal 1 : demarrer le serveur web
cyberstrike web --port 4096
# Terminal 2 : attacher le TUI au meme serveur
cyberstrike attach http://localhost:4096

Les deux interfaces voient les memes sessions, messages et activite des agents en temps reel.

Acces distant

CyberStrike prend en charge l’acces distant securise, vous permettant d’executer le serveur sur une machine et de vous connecter depuis n’importe ou. C’est utile pour :

  • Executer des evaluations sur une station de travail puissante tout en controlant depuis un ordinateur portable
  • Collaboration en equipe via un serveur partage
  • Acceder a CyberStrike depuis app.cyberstrike.io sans installation locale
  • Utiliser des LLM locaux (Ollama, vLLM) sur un serveur GPU tout en operant depuis une machine plus legere

Tunnel Cloudflare (recommande)

Cloudflare Tunnel cree une connexion securisee et chiffree entre votre serveur CyberStrike et Internet sans exposer de ports.

Tunnel rapide

Le moyen le plus rapide de commencer — pas de compte Cloudflare requis :

Terminal window
# Terminal 1 : Demarrer CyberStrike avec un mot de passe
CYBERSTRIKE_SERVER_PASSWORD=your-secret cyberstrike web --port 4096
# Terminal 2 : Creer un tunnel rapide
cloudflared tunnel --url http://localhost:4096

cloudflared affiche une URL publique comme https://random-words.trycloudflare.com. Partagez cette URL avec vos identifiants pour acceder a CyberStrike depuis n’importe quel navigateur.

Caution

Mot de passe requis. CyberStrike refuse de demarrer en mode serveur sans CYBERSTRIKE_SERVER_PASSWORD. C’est impose par conception — le serveur ne fonctionnera pas sans.

Tunnel nomme avec domaine personnalise

Pour un acces permanent, creez un tunnel nomme lie a votre domaine :

Terminal window
# Terminal 1 : Demarrer CyberStrike avec un mot de passe
CYBERSTRIKE_SERVER_PASSWORD=your-secret cyberstrike web --port 4096
# Terminal 2 : Configuration unique
cloudflared tunnel login
cloudflared tunnel create cyberstrike
cloudflared tunnel route dns cyberstrike pentest.your-domain.com
# Lancer le tunnel
cloudflared tunnel run --url http://localhost:4096 cyberstrike

Caution

Remplacez pentest.your-domain.com par un sous-domaine du domaine que vous avez ajoute a Cloudflare. Par exemple : pentest.example.com → pentest.mydomain.com. Utiliser un domaine non gere par Cloudflare entrainera des echecs de resolution DNS.

Info

Nouveau domaine ? Si vous avez recemment ajoute votre domaine a Cloudflare, la propagation des serveurs de noms peut prendre de 1 a 24 heures selon votre registraire. Les routes DNS ne seront pas resolues tant que la propagation n’est pas terminee. Verifiez le statut dans votre tableau de bord Cloudflare sous Vue d’ensemble.

Cela vous donne une URL stable a https://pentest.your-domain.com qui persiste entre les redemarrages.

Pour verifier que votre configuration fonctionne :

Terminal window
# Verifier le statut de la connexion du tunnel
cloudflared tunnel info cyberstrike
# Verifier que le DNS est resolu
dig pentest.your-domain.com CNAME

Info

Installer cloudflared : brew install cloudflared (macOS), apt install cloudflared (Debian/Ubuntu), ou telecharger depuis les releases de Cloudflare.

Fonctionnement de l’authentification avec les tunnels

Le middleware d’authentification de CyberStrike est compatible avec les tunnels. Meme si cloudflared se connecte depuis 127.0.0.1, le serveur detecte les en-tetes de proxy et applique l’authentification :

  1. cloudflared transmet les requetes d’Internet vers localhost:4096
  2. Il ajoute les en-tetes CF-Connecting-IP et X-Forwarded-For a chaque requete
  3. CyberStrike detecte ces en-tetes et traite la requete comme distante
  4. L’authentification HTTP Basic est appliquee — l’interface web demande le nom d’utilisateur et le mot de passe
  5. Les requetes locales directes (sans en-tetes de proxy) contournent l’authentification par commodite

Cela signifie que les connexions locales via cyberstrike attach fonctionnent sans mot de passe, tandis que tout le trafic via le tunnel necessite des identifiants.

VIDEO: remote-tunnel-demo.mp4

Demarrage de CyberStrike, creation d’un tunnel CF et connexion depuis app.cyberstrike.io (~20s)

Connexion depuis app.cyberstrike.io

app.cyberstrike.io est l’interface web hebergee de CyberStrike. Au lieu d’executer l’interface web localement, vous pouvez l’utiliser pour vous connecter a n’importe quel serveur CyberStrike distant.

  1. Ouvrez app.cyberstrike.io dans votre navigateur
  2. Cliquez sur le selecteur de serveur (coin superieur gauche)
  3. Entrez l’URL de votre tunnel (par ex., https://pentest.example.com)
  4. Entrez le nom d’utilisateur (cyberstrike par defaut) et le mot de passe
  5. Un indicateur de sante vert confirme la connexion

Une fois connecte, vous beneficiez de l’experience complete CyberStrike — sessions, agents, outils MCP, panneaux lateraux et streaming en temps reel — le tout via votre tunnel.

Info

Fournisseurs d’IA locaux : Si votre serveur execute Ollama ou d’autres LLM locaux, app.cyberstrike.io les utilise de maniere transparente. L’inference IA se fait cote serveur — l’interface web ne gere que l’affichage et la saisie.

SCREENSHOT: remote-server-selector.png

Selecteur de serveur avec URL de tunnel distant, identifiants et verification de sante verte

Interface web auto-hebergee

Vous pouvez compiler et deployer votre propre instance de l’interface web CyberStrike, puis la diriger vers n’importe quel serveur CyberStrike.

Terminal window
# Cloner et compiler l'interface web
git clone https://github.com/CyberStrikeus/CyberStrike.git
cd CyberStrike/packages/app
bun install && bun run build

Deployez le dossier dist/ sur n’importe quel hebergement statique (Vercel, Netlify, Cloudflare Pages, etc.). Puis configurez le CORS sur votre serveur CyberStrike pour autoriser votre domaine :

Terminal window
cyberstrike web --cors https://my-pentest-ui.example.com

Ou dans cyberstrike.json :

{
"server": {
"cors": ["https://my-pentest-ui.example.com"]
}
}

Architecture de securite

CyberStrike implemente plusieurs couches de securite pour l’acces distant :

CoucheProtection
Chiffrement TLSCloudflare Tunnel chiffre tout le trafic de bout en bout. Aucune donnee en clair ne transite sur Internet.
Authentification HTTP BasicChaque requete distante requiert un nom d’utilisateur et un mot de passe valides. Les identifiants sont envoyes via l’en-tete Authorization.
Detection de proxyLe serveur inspecte les en-tetes CF-Connecting-IP et X-Forwarded-For. Les requetes transmises par proxy depuis le loopback sont toujours authentifiees.
Mot de passe obligatoirecyberstrike serve et cyberstrike web refusent de demarrer sans CYBERSTRIKE_SERVER_PASSWORD.
Pas d’exposition de portCloudflare Tunnel ne necessite aucun port entrant. Le serveur etablit uniquement des connexions sortantes vers l’edge Cloudflare.
Flux d’authentification SPALe serveur omet intentionnellement les en-tetes WWW-Authenticate pour empecher les boites de dialogue d’authentification du navigateur. L’interface web gere l’authentification via son propre formulaire de connexion.

Danger

N’exposez jamais CyberStrike directement sur Internet sans tunnel ou VPN. Utilisez toujours un Cloudflare Tunnel, un reverse proxy avec TLS ou un reseau prive. Definissez toujours un mot de passe fort et unique.

Fichier de configuration

Toutes les options web peuvent etre definies dans cyberstrike.json au lieu des drapeaux en ligne de commande :

{
"server": {
"port": 4096,
"hostname": "0.0.0.0",
"mdns": true,
"cors": ["https://example.com"]
}
}

Les drapeaux en ligne de commande priment sur les parametres du fichier de configuration.