Entwicklung einer KI-nativen Code-Intelligence für einen globalen Cybersicherheitsführer

Modernisierung des Kerns des Infrastruktur-Schwachstellenmanagements. Altimi entschlüsselte eine proprietäre Scan-Sprache, um technische Legacy-Schulden in eine maschineninterpretierbare Wissensbasis zu transformieren.
Risikoreduzierung eines fragilen Ökosystems
Der Scanner basiert auf Tausenden spezialisierter Skripte. Über Jahrzehnte entstand dadurch ein Umfeld, in dem:
- Kaskadierende Regressionen: Massive Skript-Abhängigkeiten machten das Refactoring riskant; eine einzige Änderung konnte ganze Scan-Ketten zum Absturz bringen.
- Leistungsverfall: Redundante Netzwerkaufrufe und ineffiziente Logik verursachten Verlangsamungen bei Scans und falsche Positive.
- Logische Engpässe: Manuelle Code-Reviews übersahen versteckte Fehler wie Variable Shadowing und Endlosschleifen.
- Die KI-Barriere: Standard-LLMs hatten Schwierigkeiten mit der nischenspezifischen Sprachsyntax, was eine genaue automatisierte Modernisierung verhinderte.
Die Statische Analyse-Engine
Wir implementierten eine mehrschichtige Analyse-Pipeline mit Golang, SCIP und Tree-sitter, um die Lücke zwischen Legacy-Code und KI zu schließen.
Lexer & Parser
Eine maßgeschneiderte Engine zur Verarbeitung von rohem Quellcode in strukturierte Token, mit Unterstützung historischer Sprachidiome.
AST- & CFG-Generierung
Abbildung von Logikpfaden zur automatischen Erkennung von totem Code und potenziellen Ressourcenlecks.
Graph-Abhängigkeitskarten
Visualisierung aller Verbindungen zwischen Skripten für eine vorhersehbare Auswirkungsanalyse.
Echtzeit-LSP-Engine
Sofortiges Entwickler-Feedback direkt in der IDE, das die Validierung auf die Workstation verlagert.
Messbarer Geschäftswert
- Systematische Fehlererkennung: Sofortige Identifizierung Hunderter versteckter Logikfehler und Performance-Lecks.
- Beschleunigte Lieferung: KI-gestützte Entwicklung reduzierte die Implementierungszeit im Vergleich zu traditionellen Methoden erheblich.
- Präzises KI-Refactoring: LLMs arbeiten nun auf strukturierten AST-Daten und eliminieren Halluzinationen bei Aktualisierungen.
- Optimierte Performance: Die Eliminierung redundanter Aufrufe resultierte in schnelleren Scans für Endkunden.
Zusammenfassung
Dieses Projekt bewies, dass selbst in einer nischenspezifischen Legacy-Umgebung, die durch langfristige technische Schulden belastet ist, präzise werkzeugbasierte Automatisierung bahnbrechende Ergebnisse liefert. Die Entwicklung eines dedizierten statischen Analysesystems für die proprietäre Sprache reduzierte die Wartungskosten drastisch und stellte die vollständige Kontrolle über das Skript-Ökosystem wieder her. Das Tool ist zur Grundlage für die weitere Transformation geworden und ermöglicht eine sichere Migration sowie eine stabile Entwicklung mit minimiertem Regressionsrisiko.
Von Legacy-Chaos zu strukturierter Intelligenz in NASL-Systemen.
Welche systemseitigen Einschränkungen von NASL verursachten die größten technischen Schulden?
Die Haupttreiber waren die nicht-standardisierten Semantiken der Sprache, fehlende einheitliche Coding-Standards sowie eng gekoppelte Skript-Abhängigkeiten, die ein sicheres Refactoring äußerst schwierig machten.
Warum war die statische Analyse effektiver als ein manueller Ansatz?
Weil sie eine deterministische Analyse des vollständigen Abhängigkeitsgraphen und der Kontrollflussstruktur ermöglichte und damit Unsicherheit sowie menschliche Fehler aus manuellen Code-Reviews eliminierte.
Wie erkennt das System Logik- und Performance-Probleme im Code?
Durch eine Kombination aus AST-, CFG- und regelbasierter Analyse, die Anti-Patterns, toten Code, ineffiziente Ausführungspfade und fehlerhafte logische Bedingungen identifiziert.
Wie bewältigt die Lösung Tausende voneinander abhängiger Skripte in großem Maßstab?
Durch den Aufbau eines Abhängigkeitsgraphen in Neo4j und die Verwendung inkrementeller Analyse basierend auf SCIP, was eine effiziente Verarbeitung großer, miteinander vernetzter Codebasen ermöglicht.
Warum wurde die LLM-Integration erst nach der Einführung der AST/CFG-Struktur effektiv?
Weil Sprachmodelle präzisen semantischen Kontext nur dann gewinnen, wenn sie mit strukturierten Repräsentationen von Code arbeiten – und nicht mit rohem, unstrukturiertem Text.

