Documentație / Securitate

Centrul de securitate

Analiză locală a dependențelor, codului, scurgerilor de memorie și condițiilor de cursă, fără să-ți trimiți codul nicăieri.

Centrul de securitate face o analiză locală a proiectului, fără să-ți trimită codul nicăieri. Sursele online și revizuirea cu IA sunt opționale și se activează separat.

Cum se deschide

  • Șina din dreapta → Mai multe unelte → Centrul de securitate („Constatări și secrete”).
  • Paleta de comenzi (Ctrl+Shift+A): Centrul de securitate (vulnerabilități, scurgeri, condiții de cursă).
  • Din fila Prevenție a panoului Calitate.

Apasă Analizează proiectul prima dată și Analizează din nou după modificări.

File

Filă Ce arată
Rezumat Starea generală și cele mai importante constatări.
Dependențe Biblioteci cu vulnerabilități cunoscute sau fără suport.
Cod Vulnerabilități în codul proiectului.
Memorie și concurență Scurgeri de resurse și condiții de cursă.
Licențe Licențele dependențelor.
Revizuire cu IA O analiză opțională cu modelul, pe care o activezi tu cu Analiză cu IA.

Dependențe

Surse de vulnerabilități

În Opțiuni → Surse de vulnerabilități:

Sursă Stare Ce trimite
Baza locală Yuli Mereu activă Nimic. Funcționează fără conexiune, cu CVE-uri cunoscute pentru biblioteci Java uzuale (Struts, Log4j, commons, Spring, Jackson…), componente fără suport și licențe.
OSV.dev Dezactivată implicit Doar grupul, artefactul și versiunea fiecărei dependențe.
OWASP Dependency-Check Opțională Folosește o instalare locală.

Doar cu baza locală, analiza este complet offline. Activează OSV.dev dacă vrei să consulți în plus GitHub Advisory și NVD.

Domeniu

  • Include codul de test.
  • Include jar-urile serverului.

Cod

Analiza codului acoperă Java, JSP, web.xml și descriptorii Hibernate.

Categorie Exemple
Injecție SQL construit cu date din request.
XSS Ieșire neescapată în JSP sau servlet-uri.
Deserializare nesigură Obiecte citite din surse nesigure.
XXE Parsere XML fără protecție.
Criptografie slabă Algoritmi învechiți.
TLS Manageri care au încredere în orice certificat.
Redirecționări deschise Destinații preluate din request.
Secrete Credențiale scrise în cod sau afișate în loguri.

Un model de contaminare (taint) pe metodă urmărește valorile care provin din request (getParameter, getHeader, cookie-uri) și din ActionForm-urile Struts. Când o constatare primește date de la utilizator, încrederea și severitatea ei cresc.

Memorie și concurență

Scurgeri

  • Conexiuni JDBC sau stream-uri neînchise.
  • ThreadLocal fără remove().
  • Cache-uri statice care cresc fără limită.
  • Fire care nu se opresc niciodată.

Condiții de cursă

  • Stare partajată în Servlet-uri, Action-uri Struts și singleton-uri.
  • SimpleDateFormat static.
  • Double-checked locking.
  • Tipare check-then-act.

Pentru a confirma o scurgere la rulare, folosește panoul JVM: o histogramă de memorie repetată arată ce clase cresc. Vezi Rulare și depanare.

Unde se salvează rapoartele

În folderul .yuli/security/ al proiectului, pe care Yuli îl exclude din Git.

Prevenție în editor

Pe lângă Centrul de securitate, Yuli verifică fiecare fișier în timp real în timp ce scrii și după fiecare editare a agentului: OWASP Top 10, CWE, performanță, robustețe și accesibilitate. Constatările apar subliniate, cu referința lor și cu modul de corectare. Vezi Măsurarea față de N−1.

SBOM și lanțul de aprovizionare

Lista de materiale (SBOM) se generează în Centrul de guvernanță, fila Lanț de aprovizionare, cu Scrie SBOM. Formate: CycloneDX 1.5 JSON și SPDX 2.3 JSON. Vezi Gate și Centrul de guvernanță.

Cu agentul

Agentul poate consulta Centrul de securitate cu uneltele yuli_security_center și yuli_security_scan și poate propune corecturi care trec prin fereastra de modificări, ca oricare altele.