Jurnal de instalare CyberStrikeAI: și la uneltele simple, detaliile contează
În ultima vreme mă tot furces cu CyberStrikeAI, o platformă de testare de securitate nativă-AI scrisă în Go. Credeam că e o simplă „instalare cu un singur clic”: clonezi, rulezi un script și gata. Rezultat: am călcat în câteva capcane nici mici, nici mari. Profitând de amintirile încă proaspete, notez tot procesul — multe capcane nu erau de la instrument, ci de la detalii neobservate.

Mai întâi, ce fel de instrument este
CyberStrikeAI se poziționează drept „sistem de acțiune pentru securitate cibernetică nativă-AI”, scris în Go, reunind planificarea, execuția, supravegherea umană, păstrarea dovezilor și redarea într-un singur atelier auditabil. Componentele de bază includ un agent bazat pe Eino, unelte native MCP, o bază de cunoștințe RAG, fluxuri de lucru vizuale și modelarea și analiza lanțurilor de atac.
Include peste 100 de rețete de unelte care acoperă tot lanțul de atac: scanere de rețea precum nmap, masscan, rustscan; scanere web precum sqlmap, nikto, gobuster, ffuf; scanere de vulnerabilități precum nuclei, wpscan, dalfox; plus enumerarea subdomeniilor, securitatea API, securitatea containerelor, securitatea cloud, analiza binarelor, exploatarea, spargerea parolelor, analiza judiciară, post-exploatarea și multe altele. Practic, tot ce vă trebuie pentru un test de penetrare autorizat este deja orchestrat aici.
De asemenea, există un plugin Burp Suite și o extensie de browser care permit trimiterea directă a traficului captat în platformă pentru analiză asistată de AI. Un design destul de inteligent — nu trebuie să vă schimbați fluxul de lucru actual.
Pregătirea mediului înainte de instalare
Oficial sunt cerute două condiții prealabile; atenție la versiuni, să nu călcați pe linie:
- Go 1.25+(versiunea cerută explicit în go.mod; sub ea compilarea dă eroare direct)
- Python 3.10+(necesar pentru unele unelte, de exemplu api-fuzzer, http-framework-test)
Capcana unu: versiunea Go. Prima dată am folosit versiunea veche de Go care vine cu sistemul, iar eroarea a apărut abia la compilare. Recomand să verificați mai întâi go version ; dacă nu ajunge, instalați mai întâi o versiune nouă de pe site-ul oficial. Aceste „condiții prealabile” sunt cele mai ușor de ignorat, pentru că eroarea apare mult mai târziu.
Instalare cu un clic: ce face de fapt scriptul
Comanda oficială de instalare cu un clic este foarte simplă:
git clone https://github.com/Ed1s0nZ/CyberStrikeAI.git
cd CyberStrikeAI
chmod +x run.sh && ./run.sh
Dar run.sh face mai mult decât credeți; execută, în ordine:
- ✅ Verifică și validează mediul Go și Python
- ✅ Creează mediul virtual Python
- ✅ Instalează dependențele Python
- ✅ Descarcă dependențele Go
- ✅ Construiește proiectul
- ✅ Pornește serviciul
Detaliul unu: venv este gestionat automat de script. Directorul venv/ este creat și menținut automat de run.sh; uneltele care au nevoie de Python (api-fuzzer, http-framework-test etc.) folosesc automat acest mediu. Nu creați manual un alt mediu, riscați conflicte.
Verificarea pornirii: câteva puncte de confirmat obligatoriu
După ce scriptul se termină, nu grăbiți browserul; mai întâi uitați-vă la terminal:
- Confirmați că terminalul afișează ● ONLINE, urmat de adresa reală a interfeței Web
- Deschideți adresa respectivă: în modul HTTPS implicit se folosește un certificat local autosemnat; browserul va avertiza, acceptați o dată și gata
- O instalare nouă are o parolă de administrator de unică folosință: afișată în terminal sub ADMIN SETUP REQUIRED; schimbați-o imediat după autentificare
Detaliul doi: HTTPS sau HTTP. run.sh pornește implicit cu parametrul –https (TLS local autosemnat; oficial susțin că astfel este mai prietenos cu fluxurile concurente). Dacă vreți HTTP pur, trebuie să îl folosiți explicit ./run.sh --http. La pornirea manuală, adăugați –https sau setați variabila de mediu CYBERSTRIKE_HTTPS=1.
În producție nu folosiți certificat autosemnat; configurați server.tls_cert_path și server.tls_key_path în config.yaml.
Capcana doi: eroarea de nepotrivire a protocolului. Dacă în jurnal vedeți „client sent an HTTP request to an HTTPS server”, înseamnă că un client accesează în continuare portul TLS cu http://. Modificați URL-ul și gata; nu vă mai luați de configurația serverului.

Configurarea inițială: canalul AI este obligatoriu
Fără acest pas, platforma e ca și cum n-ar fi instalată. După prima pornire accesați https://127.0.0.1:8080/ (portul conform server.port din config.yaml) și intrați în System Settings → Basic Settings → AI Channel Configuration, adăugați canalul și completați provider, Base URL, cheia API, modelul și limita de tokenuri.
Puteți modifica direct config.yaml; formatul arată cam așa:
ai:
default_channel: openai-main
channels:
openai-main:
provider: openai_compatible
api_key: “${OPENAI_API_KEY}”
base_url: “https://api.openai.com/v1”
model: “gpt-4o”
Detaliul trei: aria de aplicare a canalului implicit. ai.default_channel se folosește pentru sesiunile noi și pentru sarcinile fără canal ales explicit; în pagina de chat puteți alege, per sesiune, oricare canal salvat. Deci, dacă aveți mai multe modele, nu trebuie să configurați doar unul.
Dacă la provider puneți openai_compatible, vă puteți conecta la majoritatea serviciilor compatibile cu interfața OpenAI: schimbați base_url în https://api.deepseek.com/v1 și model în deepseek-chat, la fel și qwen3-max. Modelele chinezești se conectează fără probleme — un aspect foarte prietenos.
⚠️ Avertisment de securitate: nu puneți chei reale în config.yaml. Oficial se spune clar să nu comiteți credențiale reale; folosiți injectare prin variabile de mediu.
Și actualizarea cere metodă
Oficialii oferă un script de actualizare cu un clic, dar mai întâi trebuie să îi acordați drept de execuție:
chmod +x upgrade.sh && ./upgrade.sh –yes
Ce face: salvează config.yaml și directorul data/ → descarcă codul nou de pe GitHub Release → actualizează numărul versiunii din config.yaml → repornește serviciul.Directoarele locale tools/, roles/, skills/ sunt păstrate mereu— acest aspect e esențial: rețetele dvs. de unelte personalizate nu vor fi suprascrise.
Capcana trei: dependențele scriptului de actualizare. Are nevoie de curl sau wget pentru a descărca pachetul Release, iar rsync pentru sincronizarea sigură a codului (oficial: recomandat/obligatoriu). Dacă API-ul GitHub limitează cererile, mai întâi export GITHUB_TOKEN="..." , apoi rulați.
Dacă apar probleme, puteți restaura din .upgrade-backup/, sau copiați manual data și config.yaml înapoi și rulați run.sh.
Regulă importantă: înainte de actualizare, citiți neapărat release notes ale versiunii țintă, mai ales când se ating configurația, baza de date sau API-ul. Oficialii spun ceva foarte practic — „Backup-ul este obligatoriu, chiar și la un simplu patch de versiune; numărul versiunii nu garantează compatibilitatea.”
Privire rapidă asupra structurii de directoare
Dacă înțelegeți ce face fiecare director, întreținerea de mai târziu nu vă va pierde pe drum:
- cmd/ — serverul, intrarea MCP stdio, uneltele
- internal/ — Agent, nucleul MCP, procesoarele, C2, executorul de securitate
- web/ — SPA static și șabloane
- tools/ — rețete de unelte YAML (100+ exemple)
- roles/ — configurații de roluri (12+ roluri de testare de securitate predefinite)
- skills/ — directorul de Agent Skills (SKILL.md + fișiere opționale)
- agents/ — Markdown multi-Agent (orchestrator.md + subagenți)
- config.yaml — configurația de la momentul rulării
- run.sh / upgrade.sh — scripturile de pornire / actualizare
Securitatea nu se poate delega uneltelor
Platforma integrează capabilități cu risc ridicat, precum gestionarea WebShell și un C2 integrat (ascultătoare, beacon-uri criptate, sesiuni, cozi de sarcini). Poziția oficială este foarte clară:folosiți-o doar pe sistemele pe care le dețineți sau pentru care aveți autorizare explicită de testare.
Înainte de a activa unelte cu risc ridicat în medii partajate sau de producție, citiți mai întâi modelul de securitate și ghidul de întărire. Platforma include și interceptarea apelurilor de unelte — verificări regex configurabile înainte de execuția MCP, cu protecția domeniilor guvernamentale activată implicit.
În plus, implicit ascultă doar pe 127.0.0.1; dacă expuneți serviciul spre exterior, întăriți securitatea mai întâi. Nu e o formulă de politețe, ci un avertisment scris în documentație de cine a trecut prin experiențe dure.

La final
Privind înapoi, instalarea în sine nu a ridicat probleme mari; scriptul a făcut deja 90% din treabă. Ce m-a oprit cu adevărat să caut în documentație au fost detalii „neobservate”: limita de versiune Go, venv care nu se creează manual, HTTPS activ implicit care duce la nepotrivirea de protocol, backup înainte de actualizare, cheile care nu se scriu în configurație.
Aceste detalii, luate separat, nu sunt grele, dar dacă sari peste unul te poate bloca o jumătate de oră. Cu cât instrumentul e mai matur, cu atât „citirea documentației” aduce mai mult — el înglobează complexitatea în script, iar ce rămâne stă în detaliile de configurare.
Proiectul a intrat în knownsec 404Starlink și este open source sub Apache 2.0. Cei care fac teste de securitate autorizate îl pot încerca.
Instalarea cu un clic nu înseamnă înțelegere cu un clic; detaliile sunt cheia reală a economisirii de timp.
Adresa proiectului: github.com/Ed1s0nZ/CyberStrikeAI (migrat între timp la github.com/AIPentest/CyberStrikeAI)
Cerințe de mediu: Go 1.25+ / Python 3.10+
Licență: Apache License 2.0
⚠️ Doar pentru teste autorizate