SecAssist ist eine kleine Workshop-Anwendung fuer eine Red-Team-vs-Blue-Team-Uebung zum Thema CyberSecurity im AI-Umfeld.
Die App stellt einen internen Security-/Incident-Triage-Chatbot dar. Teilnehmende koennen Demo-Faelle laden, Fragen stellen, Quellen anzeigen, Uebergaben vorbereiten und Triage-Aktionen ausloesen.
./mvnw spring-boot:runFuer LLM-gestuetzte Antworten wird ein gueltiger OPENAI_API_KEY benoetigt.
Beispiel:
OPENAI_API_KEY=sk-... ./mvnw spring-boot:runDanach ist die App im Browser unter folgender Adresse erreichbar:
Die Anwendung bietet:
- Rollenwahl im Browser
- Auswahl vorbereiteter Demo-Faelle
- Chat zur Fallanalyse
- Quellenanzeige
- Similar Cases
- Handover-Entwurf
- Triage / Workflow-Aktionen
Wichtige Demo-Rollen:
employeesecurity_analystcontractor
Wichtiger Demo-Fall fuer den Workshop:
suspicious_supplier_invoice
SecAssist trennt die Anwendung in wenige, gut lesbare Bausteine:
- Web / UI: Browser-Frontend und REST-Endpunkte
- Service-Schicht: Falllogik, Prompt-Aufbau, Konversationssteuerung
- Retrieval: Auswahl passender Dokumente und Fallkontexte
- Policy / Tool-Entscheidungen: Rollenpruefung und Freigabe von Aktionen
- LLM-Anbindung: Formulierung von Antworten ueber Spring AI
Wichtige Regel der Architektur:
Berechtigung vor Kontext
Das bedeutet:
- Rolle bestimmen
- Aktion bestimmen
- erlaubte Quellen bestimmen
- Kontext aufbauen
- Antwort erzeugen
Sicherheitskritische Entscheidungen sollen also nicht vom Modell, sondern vom Anwendungscode getroffen werden.
PolicyEngine– prueft Rollen und erlaubte ZugriffeRetrievalService– waehlt Quellen und Kontext ausPromptBuilder– baut den Modellkontext aufToolPolicyService– prueft, ob eine Aktion erlaubt istDemoCaseService– liefert Demo-Faelle und Similar Cases
Weitere Handlungsanweisungen und Sidequests liegen unter:
man/
Dort finden sich unter anderem:
- Leitfaden fuer Red Team
- Leitfaden fuer Blue Team
- coding-freie Sidequest