Dokumentation / Sicherheit
Sicherheitszentrale
Lokale Analyse von Abhängigkeiten, Code, Speicherlecks und Race Conditions – ohne deinen Code irgendwohin zu senden.
Die Sicherheitszentrale analysiert dein Projekt lokal, ohne deinen Code irgendwohin zu senden. Online-Quellen und die KI-Prüfung sind optional und werden separat aktiviert.
So öffnest du sie
- Rechte Leiste → Weitere Werkzeuge → Sicherheitszentrale („Befunde und Geheimnisse“).
- Befehlspalette (
Ctrl+Shift+A): Sicherheitszentrale (Schwachstellen, Lecks, Races). - Über den Tab „Prävention“ im Panel „Qualität“.
Klicke beim ersten Mal auf Projekt prüfen und nach Änderungen auf Erneut prüfen.
Tabs
| Tab | Was er zeigt |
|---|---|
| Übersicht | Den Gesamtstatus und die wichtigsten Befunde. |
| Abhängigkeiten | Bibliotheken mit bekannten Schwachstellen oder ohne Support. |
| Code | Schwachstellen im Code des Projekts. |
| Speicher und Nebenläufigkeit | Ressourcenlecks und Race Conditions. |
| Lizenzen | Lizenzen der Abhängigkeiten. |
| KI-Prüfung | Eine optionale Analyse mit dem Modell, die du selbst über KI-Prüfung aktivierst. |
Abhängigkeiten
Schwachstellenquellen
Unter Optionen → Schwachstellenquellen:
| Quelle | Status | Was gesendet wird |
|---|---|---|
| Lokale Yuli-Datenbank | Immer aktiv | Nichts. Funktioniert offline, mit bekannten CVEs gängiger Java-Bibliotheken (Struts, Log4j, commons, Spring, Jackson …), Komponenten ohne Support und Lizenzen. |
| OSV.dev | Standardmäßig aus | Nur Gruppe, Artefakt und Version jeder Abhängigkeit. |
| OWASP Dependency-Check | Optional | Nutzt eine lokale Installation. |
Nur mit der lokalen Datenbank läuft die Analyse vollständig offline. Aktiviere OSV.dev, wenn du zusätzlich GitHub Advisory und NVD abfragen willst.
Umfang
- Testcode einbeziehen.
- Server-JARs einbeziehen.
Code
Die Codeanalyse deckt Java, JSP, web.xml und die Hibernate-Deskriptoren ab.
| Kategorie | Beispiele |
|---|---|
| Injection | SQL, das aus Request-Daten zusammengesetzt wird. |
| XSS | Nicht escapte Ausgabe in JSP oder Servlets. |
| Unsichere Deserialisierung | Objekte, die aus nicht vertrauenswürdigen Quellen gelesen werden. |
| XXE | Ungeschützte XML-Parser. |
| Schwache Kryptografie | Veraltete Algorithmen. |
| TLS | Manager, die jedem Zertifikat vertrauen. |
| Offene Weiterleitungen | Ziele, die aus dem Request übernommen werden. |
| Secrets | Zugangsdaten, die im Code stehen oder in Logs ausgegeben werden. |
Ein Taint-Modell pro Methode verfolgt die Werte, die aus dem Request (getParameter, getHeader, Cookies) und aus den ActionForms von Struts stammen. Erhält ein Befund Benutzerdaten, steigen seine Konfidenz und sein Schweregrad.
Speicher und Nebenläufigkeit
Lecks
- Nicht geschlossene JDBC-Verbindungen oder Streams.
ThreadLocalohneremove().- Statische Caches, die unbegrenzt wachsen.
- Threads, die nie beendet werden.
Race Conditions
- Gemeinsamer Zustand in Servlets, Struts-Actions und Singletons.
- Statisches
SimpleDateFormat. - Double-Checked Locking.
- Check-then-act-Muster.
Um ein Leck zur Laufzeit zu bestätigen, nutze das JVM-Panel: Ein wiederholtes Speicherhistogramm zeigt, welche Klassen wachsen. Siehe Ausführen und debuggen.
Wo die Berichte gespeichert werden
Im Ordner .yuli/security/ des Projekts, den Yuli von Git ausschließt.
Prävention im Editor
Zusätzlich zur Sicherheitszentrale prüft Yuli jede Datei live, während du schreibst, und nach jeder Bearbeitung durch den Agenten: OWASP Top 10, CWE, Performance, Robustheit und Barrierefreiheit. Befunde erscheinen unterstrichen, mit ihrer Referenz und einem Korrekturvorschlag. Siehe Messung gegen N−1.
SBOM und Lieferkette
Die Stückliste (SBOM) erzeugst du im Governance-Center, Tab Lieferkette, mit SBOM schreiben. Formate: CycloneDX 1.5 JSON und SPDX 2.3 JSON. Siehe Gate und Governance-Center.
Mit dem Agenten
Der Agent kann die Sicherheitszentrale über die Tools yuli_security_center und yuli_security_scan abfragen und Korrekturen vorschlagen, die wie jede andere Änderung durch das Änderungsfenster laufen.