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.
ThreadLocalfă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.
SimpleDateFormatstatic.- 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.