main #11
@ -4,15 +4,15 @@ export const AI_PROMPTS = {
|
||||
|
||||
toolSelection: (mode: string, userQuery: string, selectionMethod: string, maxSelectedItems: number) => {
|
||||
const modeInstruction = mode === 'workflow'
|
||||
? 'Der Benutzer möchte einen UMFASSENDEN WORKFLOW mit mehreren Tools/Methoden über verschiedene Phasen. Wählen Sie 15-25 Tools aus, die den vollständigen Untersuchungslebenszyklus abdecken.'
|
||||
: 'Der Benutzer möchte SPEZIFISCHE TOOLS/METHODEN, die ihr konkretes Problem direkt lösen. Wählen Sie 3-8 Tools aus, die am relevantesten und effektivsten sind.';
|
||||
? 'Der Benutzer möchte einen UMFASSENDEN WORKFLOW mit mehreren Tools/Methoden über verschiedene Phasen. Wählen Sie 15-25 Methoden/Tools aus, die den vollständigen Untersuchungszyklus (Datensammlung - Auswertung - Analyse - Berichterstattung) abdecken.'
|
||||
: 'Der Benutzer möchte SPEZIFISCHE TOOLS/METHODEN, die ihr konkretes Problem direkt lösen. Wählen Sie 4-10 Methoden/Tools aus, die am relevantesten und effektivsten sind.';
|
||||
|
||||
return `Sie sind ein DFIR-Experte mit Zugang zur kompletten forensischen Tool-Datenbank. Sie müssen die relevantesten Tools und Konzepte für diese spezifische Anfrage auswählen.
|
||||
return `Sie sind ein DFIR-Experte mit Zugang zur kompletten forensischen Methoden/Tool-Datenbank. Sie müssen die relevantesten Methoden, Tools und Konzepte für diese spezifische Anfrage auswählen.
|
||||
|
||||
AUSWAHLMETHODE: ${selectionMethod}
|
||||
${selectionMethod === 'embeddings_candidates' ?
|
||||
'Diese Tools wurden durch Vektor-Ähnlichkeit vorgefiltert, sie sind bereits relevant. Ihre Aufgabe ist es, die BESTEN aus diesem relevanten Set auszuwählen.' :
|
||||
'Sie haben Zugang zur vollständigen Tool-Datenbank. Wählen Sie die relevantesten Tools für die Anfrage aus.'}
|
||||
'Diese Methoden/Tools wurden durch Vektor-Ähnlichkeit vorgefiltert, sie sind bereits relevant. Ihre Aufgabe ist es, die BESTEN aus diesem relevanten Set auszuwählen. Wähle mindestens eine Methode und ein Tool, wenn vorhanden.' :
|
||||
'Sie haben Zugang zur vollständigen Methoden/Tool-Datenbank. Wählen Sie die relevantesten Methoden/Tools für die Anfrage aus. Wähle mindestens eine Methode und ein Tool, wenn vorhanden.'}
|
||||
|
||||
${modeInstruction}
|
||||
|
||||
@ -25,17 +25,17 @@ KRITISCHE AUSWAHLPRINZIPIEN:
|
||||
- Für SCHNELLE/DRINGENDE Szenarien → Priorisieren Sie METHODEN und schnelle Antwort-Ansätze
|
||||
- Für ZEITKRITISCHE Vorfälle → Wählen Sie Triage-Methoden über tiefe Analyse-Tools
|
||||
- Für UMFASSENDE Analysen → Dann betrachten Sie detaillierte Software-Tools
|
||||
- METHODEN (Typ: "method") sind oft besser als SOFTWARE für prozedurale Anleitung
|
||||
- METHODEN (Typ: "method") sind oft besser als SOFTWARE für prozedurale Anleitung, eine gute Mischung ist aber zwingend erforderlich.
|
||||
|
||||
3. **SZENARIO-SPEZIFISCHE LOGIK**:
|
||||
- "Schnell/Quick/Dringend/Triage" Szenarien → Rapid Incident Response und Triage METHODE > Volatility
|
||||
- "Schnell/Quick/Dringend/Triage" Szenarien → Rapid Incident Response und Triage METHODE > Volatility oder ähnliche
|
||||
- "Industrial/SCADA/ICS" Szenarien → Spezialisierte ICS-Tools > generische Netzwerk-Tools
|
||||
- "Mobile/Android/iOS" Szenarien → Mobile-spezifische Tools > Desktop-Forensik-Tools
|
||||
- "Speicher-Analyse dringend benötigt" → Schnelle Speicher-Tools/Methoden > umfassende Volatility-Analyse
|
||||
- "Speicher-Analyse dringend benötigt" → Schnelle Speicher-Tools/Methoden > umfassende Volatility-Analyse oder ähnliche
|
||||
|
||||
ANALYSE-ANWEISUNGEN:
|
||||
1. Lesen Sie die VOLLSTÄNDIGE Beschreibung jedes Tools/Konzepts
|
||||
2. Berücksichtigen Sie ALLE Tags, Plattformen, verwandte Tools und Metadaten
|
||||
2. Berücksichtigen Sie ALLE Tags, Plattformen, verwandte Tools und Metadaten und Beschreibungen
|
||||
3. **PASSENDE DRINGLICHKEIT**: Schnelle Szenarien brauchen schnelle Methoden, nicht tiefe Analyse-Tools
|
||||
4. **PASSENDE SPEZIFITÄT**: Spezialisierte Szenarien brauchen spezialisierte Tools, nicht generische
|
||||
5. **BERÜCKSICHTIGEN SIE DEN TYP**: Methoden bieten prozedurale Anleitung, Software bietet technische Fähigkeiten
|
||||
@ -44,14 +44,14 @@ Wählen Sie die relevantesten Elemente aus (max ${maxSelectedItems} insgesamt).
|
||||
|
||||
Antworten Sie NUR mit diesem JSON-Format:
|
||||
{
|
||||
"selectedTools": ["Tool Name 1", "Tool Name 2", ...],
|
||||
"selectedTools": ["Methode/Tool Name 1", "Methode/Tool Name 2", ...],
|
||||
"selectedConcepts": ["Konzept Name 1", "Konzept Name 2", ...],
|
||||
"reasoning": "Detaillierte Erklärung, warum diese spezifischen Tools für diese Anfrage ausgewählt wurden, und warum bestimmte populäre Tools NICHT ausgewählt wurden, falls sie für den Szenario-Kontext ungeeignet waren"
|
||||
"reasoning": "Detaillierte Erklärung, warum diese spezifischen Methoden/Tools für diese Anfrage ausgewählt wurden, und warum bestimmte populäre Tools NICHT ausgewählt wurden, falls sie für den Szenario-Kontext ungeeignet waren"
|
||||
}`;
|
||||
},
|
||||
|
||||
scenarioAnalysis: (isWorkflow: boolean, userQuery: string) => {
|
||||
const analysisType = isWorkflow ? 'forensische Szenario' : 'technische Problem';
|
||||
const analysisType = isWorkflow ? 'Untersuchungsszenario' : 'technische Problem';
|
||||
const considerations = isWorkflow ?
|
||||
`- Angriffsvektoren und Bedrohungsmodellierung nach MITRE ATT&CK
|
||||
- Betroffene Systeme und kritische Infrastrukturen
|
||||
@ -63,26 +63,28 @@ Antworten Sie NUR mit diesem JSON-Format:
|
||||
|
||||
return `Sie sind ein erfahrener DFIR-Experte. Analysieren Sie das folgende ${analysisType}.
|
||||
|
||||
${isWorkflow ? 'FORENSISCHES SZENARIO' : 'TECHNISCHES PROBLEM'}: "${userQuery}"
|
||||
${isWorkflow ? 'UNTERSUCHUNGSSZENARIO' : 'TECHNISCHES PROBLEM'}: "${userQuery}"
|
||||
|
||||
Führen Sie eine systematische ${isWorkflow ? 'Szenario-Analyse' : 'Problem-Analyse'} durch und berücksichtigen Sie dabei:
|
||||
|
||||
${considerations}
|
||||
|
||||
WICHTIG: Antworten Sie NUR in fließendem deutschen Text ohne Listen, Aufzählungen oder Markdown-Formatierung. Maximum 150 Wörter.`;
|
||||
WICHTIG: Antworten Sie NUR in fließendem deutschen Text ohne Listen, Aufzählungen oder Markdown-Formatierung. Maximum 120 Wörter.`;
|
||||
},
|
||||
|
||||
investigationApproach: (isWorkflow: boolean, userQuery: string) => {
|
||||
const approachType = isWorkflow ? 'Untersuchungsansatz' : 'Lösungsansatz';
|
||||
const considerations = isWorkflow ?
|
||||
`- Triage-Prioritäten nach forensischer Dringlichkeit
|
||||
- Phasenabfolge nach NIST-Methodik
|
||||
- Kontaminationsvermeidung und forensische Isolierung` :
|
||||
- Phasenabfolge nach Methodik (Datensammlung - Auswertung - Analyse - Bericht)
|
||||
- Kontaminationsvermeidung und forensische Isolierung
|
||||
- Objektivität und Transparenz` :
|
||||
`- Methodik-Auswahl nach wissenschaftlichen Kriterien
|
||||
- Validierung und Verifizierung der gewählten Ansätze
|
||||
- Integration in bestehende forensische Workflows`;
|
||||
- Integration in bestehende forensische Workflows
|
||||
- Objektivität, Transparenz, Reproduzierbarkeit`;
|
||||
|
||||
return `Basierend auf der Analyse entwickeln Sie einen fundierten ${approachType} nach NIST SP 800-86 Methodik.
|
||||
return `Basierend auf der Analyse entwickeln Sie einen fundierten ${approachType} nach Methodik (Datensammlung - Auswertung - Analyse - Bericht).
|
||||
|
||||
${isWorkflow ? 'SZENARIO' : 'PROBLEM'}: "${userQuery}"
|
||||
|
||||
@ -90,17 +92,16 @@ Entwickeln Sie einen systematischen ${approachType} unter Berücksichtigung von:
|
||||
|
||||
${considerations}
|
||||
|
||||
WICHTIG: Antworten Sie NUR in fließendem deutschen Text ohne Listen oder Markdown. Maximum 150 Wörter.`;
|
||||
WICHTIG: Antworten Sie NUR in fließendem deutschen Text ohne Listen oder Markdown. Maximum 120 Wörter.`;
|
||||
},
|
||||
|
||||
criticalConsiderations: (isWorkflow: boolean, userQuery: string) => {
|
||||
const considerationType = isWorkflow ? 'kritische forensische Überlegungen' : 'wichtige methodische Voraussetzungen';
|
||||
const aspects = isWorkflow ?
|
||||
`- Time-sensitive evidence preservation
|
||||
`- zeitkritische Beweissicherung vs. Gründlichkeit
|
||||
- Chain of custody requirements und rechtliche Verwertbarkeit
|
||||
- Incident containment vs. evidence preservation Dilemma
|
||||
- Privacy- und Compliance-Anforderungen` :
|
||||
`- Tool-Validierung und Nachvollziehbarkeit
|
||||
- Transparenz und Reproduzierbarkeit` :
|
||||
`- Methoden-/Tool-Validierung und Nachvollziehbarkeit
|
||||
- False positive/negative Risiken bei der gewählten Methodik
|
||||
- Qualifikationsanforderungen für die Durchführung
|
||||
- Dokumentations- und Reporting-Standards`;
|
||||
@ -128,41 +129,41 @@ ${phaseTools.map((tool: any, index: number) => `${index + 1}. ${tool.name}: ${to
|
||||
- Skill Level: ${tool.skillLevel}
|
||||
- Tags: ${tool.tags?.join(', ') || 'N/A'}`).join('\n\n')}
|
||||
|
||||
Bewerten Sie ALLE Tools vergleichend für diese spezifische Aufgabe UND Phase. Wählen Sie die 2-3 besten aus.
|
||||
Bewerten Sie ALLE Methoden/Tools vergleichend für diese spezifische Aufgabe UND Phase. Wählen Sie die 2-3 besten aus. Es sollte eine Mischung aus Methoden und Tools sein, sofern verfügbar.
|
||||
|
||||
BEWERTUNGSKRITERIEN:
|
||||
- Wie gut löst das Tool das forensische Problem im SZENARIO-Kontext?
|
||||
- Wie gut löst die Methode/das Tool das forensische Problem im SZENARIO-Kontext?
|
||||
- Wie gut passt es zur spezifischen PHASE "${phase.name}"?
|
||||
- Wie vergleicht es sich mit den anderen verfügbaren Tools für diese Phase?
|
||||
- Wie vergleicht es sich mit den anderen verfügbaren Methoden/Tools für diese Phase?
|
||||
|
||||
Antworten Sie AUSSCHLIESSLICH mit diesem JSON-Format:
|
||||
[
|
||||
{
|
||||
"toolName": "Exakter Tool-Name",
|
||||
"toolName": "Exakter Methoden/Tool-Name",
|
||||
"taskRelevance": 85,
|
||||
"justification": "Vergleichende Begründung warum dieses Tool für diese Phase und Aufgabe besser/schlechter als die anderen geeignet ist",
|
||||
"justification": "Vergleichende Begründung warum diese Methode/dieses Tool für diese Phase und Aufgabe besser/schlechter als die anderen geeignet ist",
|
||||
"limitations": ["Spezifische Einschränkung 1", "Einschränkung 2"]
|
||||
}
|
||||
]
|
||||
|
||||
WICHTIG:
|
||||
- taskRelevance: 0-100 Score basierend auf Szenario-Eignung UND Phasen-Passung im VERGLEICH zu anderen Tools
|
||||
- Nur die 2-3 BESTEN Tools auswählen und bewerten
|
||||
- Nur die 2-3 BESTEN Methoden/Tools auswählen und bewerten
|
||||
- justification soll VERGLEICHEND sein ("besser als X weil...", "für diese Phase ideal weil...")`;
|
||||
},
|
||||
|
||||
toolEvaluation: (userQuery: string, tool: any, rank: number, taskRelevance: number) => {
|
||||
return `Sie sind ein DFIR-Experte. Erklären Sie DETAILLIERT die Anwendung dieses bereits bewerteten Tools.
|
||||
return `Sie sind ein DFIR-Experte. Erklären Sie DETAILLIERT die Anwendung dieser/dieses bereits bewerteten Methode/Tools.
|
||||
|
||||
PROBLEM: "${userQuery}"
|
||||
TOOL: ${tool.name} (bereits bewertet mit ${taskRelevance}% Aufgaben-Eignung)
|
||||
BESCHREIBUNG: ${tool.description}
|
||||
|
||||
Das Tool wurde bereits als Rang ${rank} für diese Aufgabe bewertet. Erklären Sie nun:
|
||||
Die Methode/das Tool wurde bereits als Rang ${rank} für diese Aufgabe bewertet. Erklären Sie nun:
|
||||
|
||||
Antworten Sie AUSSCHLIESSLICH mit diesem JSON-Format:
|
||||
{
|
||||
"detailed_explanation": "Detaillierte Erklärung warum und wie dieses Tool für diese spezifische Aufgabe eingesetzt wird",
|
||||
"detailed_explanation": "Detaillierte Erklärung warum und wie diese Methode/Tool für diese spezifische Aufgabe eingesetzt wird",
|
||||
"implementation_approach": "Konkrete Schritt-für-Schritt Anleitung zur korrekten Anwendung",
|
||||
"pros": ["Spezifischer Vorteil 1", "Spezifischer Vorteil 2"],
|
||||
"limitations": ["Spezifische Einschränkung 1", "Spezifische Einschränkung 2"],
|
||||
@ -171,7 +172,7 @@ Antworten Sie AUSSCHLIESSLICH mit diesem JSON-Format:
|
||||
|
||||
WICHTIG:
|
||||
- Keine erneute Bewertung - nur detaillierte Erklärung der bereits bewerteten Eignung
|
||||
- "limitations" soll spezifische technische/methodische Einschränkungen des Tools auflisten
|
||||
- "limitations" soll spezifische technische/methodische Einschränkungen der Methode/des Tools auflisten
|
||||
- "pros" soll die Stärken für diese spezifische Aufgabe hervorheben`;
|
||||
},
|
||||
|
||||
|
@ -81,12 +81,13 @@ QUALITÄTSKRITERIEN FÜR FRAGEN:
|
||||
- Forensisch spezifisch, nicht allgemein (❌ "Mehr Details?" ✅ "Welche forensischen Artefakte (RAM-Dumps, Disk-Images, Logs) stehen zur Verfügung?")
|
||||
- Methodisch relevant (❌ "Wann passierte das?" ✅ "Liegen Log-Dateien aus dem Incident-Zeitraum vor, und welche Retention-Policy gilt?")
|
||||
- Priorisiert nach Auswirkung auf die forensische Untersuchungsqualität
|
||||
- Die Frage soll maximal 30 Wörter umfassen
|
||||
|
||||
ANTWORTFORMAT (NUR JSON, KEIN ZUSÄTZLICHER TEXT):
|
||||
[
|
||||
"Forensisch spezifische Frage 1?",
|
||||
"Forensisch spezifische Frage 2?",
|
||||
"Forensisch spezifische Frage 3?"
|
||||
"spezifische Frage 1?",
|
||||
"spezifische Frage 2?",
|
||||
"spezifische Frage 3?"
|
||||
]
|
||||
|
||||
NUTZER-EINGABE:
|
||||
|
@ -172,7 +172,6 @@
|
||||
font-size: 0.9em;
|
||||
margin-top: 8px;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user