rephrasing, prepare for methods implementation
This commit is contained in:
@@ -177,9 +177,9 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
||||
|
||||
<div style="display: grid; gap: 1.25rem;">
|
||||
<div style="background-color: var(--color-bg-secondary); padding: 1.25rem; border-radius: 0.5rem;">
|
||||
<h4 style="margin: 0 0 0.5rem 0; color: var(--color-accent);">🔍 Tool-Vorschläge</h4>
|
||||
<h4 style="margin: 0 0 0.5rem 0; color: var(--color-accent);">🔍 Vorschläge</h4>
|
||||
<p style="margin: 0;">
|
||||
Ich suche stets nach Ergänzungen für die Liste. Falls euch interessante Tools einfallen –
|
||||
Ich suche stets nach Ergänzungen für die Liste. Falls euch interessante Tools oder Methoden einfallen –
|
||||
schreibt mir gerne auf Signal!
|
||||
</p>
|
||||
</div>
|
||||
@@ -219,8 +219,8 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
||||
<!-- Footer Note -->
|
||||
<div style="text-align: center; padding: 2rem; background-color: var(--color-bg-secondary); border-radius: 0.75rem; border: 1px solid var(--color-border);">
|
||||
<p style="margin: 0; color: var(--color-text-secondary); font-size: 0.875rem;">
|
||||
<strong>Akademisches Projekt</strong> | Seminargruppe CC24-w1 |
|
||||
Alle Tools und Dienste dienen ausschließlich Bildungs- und Forschungszwecken
|
||||
<strong>Inoffizielles Studienprojekt</strong> | Seminargruppe CC24-w1 |
|
||||
Alle dargestellte Software, Dienste und Methoden dienen Bildungs- und Forschungszwecken sowie der Weiterentwicklung der IT-forensischen Methodik.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -119,12 +119,12 @@ function createWorkflowSystemPrompt(toolsData: any): string {
|
||||
|
||||
// Build dynamic phase descriptions for tool selection
|
||||
const phaseDescriptions = regularPhases.map((phase: any) =>
|
||||
`- ${phase.name}: ${phase.description || 'Tools for this phase'}`
|
||||
`- ${phase.name}: ${phase.description || 'Tools/Methods for this phase'}`
|
||||
).join('\n');
|
||||
|
||||
// Add domain-agnostic software descriptions
|
||||
const domainAgnosticDescriptions = domainAgnosticSoftware.map((section: any) =>
|
||||
`- ${section.name}: ${section.description || 'Cross-cutting tools and platforms'}`
|
||||
`- ${section.name}: ${section.description || 'Cross-cutting software and platforms'}`
|
||||
).join('\n');
|
||||
|
||||
// Create valid phase values for JSON schema
|
||||
@@ -133,9 +133,9 @@ function createWorkflowSystemPrompt(toolsData: any): string {
|
||||
...domainAgnosticSoftware.map((s: any) => s.id)
|
||||
].join('|');
|
||||
|
||||
return `Du bist ein DFIR (Digital Forensics and Incident Response) Experte, der Ermittlern bei der Toolauswahl hilft.
|
||||
return `Du bist ein DFIR (Digital Forensics and Incident Response) Experte, der Ermittlern bei der Auswahl von Software und Methoden hilft.
|
||||
|
||||
VERFÜGBARE TOOLS DATABASE:
|
||||
VERFÜGBARE DATENBASIS:
|
||||
${JSON.stringify(toolsList, null, 2)}
|
||||
|
||||
UNTERSUCHUNGSPHASEN (NIST Framework):
|
||||
@@ -145,18 +145,18 @@ FORENSISCHE DOMÄNEN:
|
||||
${domainsDescription}
|
||||
|
||||
WICHTIGE REGELN:
|
||||
1. Pro Phase 1-3 Tools empfehlen (immer mindestens 1 wenn verfügbar)
|
||||
2. Tools können in MEHREREN Phasen empfohlen werden wenn sinnvoll - versuche ein Tool für jede Phase zu empfehlen, selbst wenn die Priorität "low" ist.
|
||||
3. Für Reporting-Phase: Visualisierungs- und Dokumentationstools einschließen
|
||||
1. Pro Phase 1-3 Tools/Methoden empfehlen (immer mindestens 1 wenn verfügbar)
|
||||
2. Tools/Methoden können in MEHREREN Phasen empfohlen werden wenn sinnvoll - versuche ein Tool/Methode für jede Phase zu empfehlen, selbst wenn die Priorität "low" ist.
|
||||
3. Für Reporting-Phase: Visualisierungs- und Dokumentationssoftware einschließen
|
||||
4. Gib stets dem spezieller für den Fall geeigneten Werkzeug den Vorzug.
|
||||
5. Deutsche Antworten für deutsche Anfragen, English for English queries
|
||||
6. Bewerbe NIEMALS Proprietäre Software fälschlicherweise als Open-Source-Tools, erkenne aber an, falls diese besser geeignet sein könnte.
|
||||
7. Bevorzuge alles, was nicht proprietär ist (license != "Proprietary"), aber erkenne an wenn ein proprietäres Tool besser geeignet ist.
|
||||
6. Bewerbe NIEMALS Proprietäre Software fälschlicherweise als Open-Source-Software, erkenne aber an, falls diese besser geeignet sein könnte.
|
||||
7. Bevorzuge alles, was nicht proprietär ist (license != "Proprietary"), aber erkenne an, wenn proprietäre Software besser geeignet ist.
|
||||
|
||||
TOOL-AUSWAHL NACH PHASE:
|
||||
SOFTWARE/METHODEN-AUSWAHL NACH PHASE:
|
||||
${phaseDescriptions}
|
||||
|
||||
DOMAIN-AGNOSTIC SOFTWARE:
|
||||
DOMÄNENAGNOSTISCHE SOFTWARE/METHODEN:
|
||||
${domainAgnosticDescriptions}
|
||||
|
||||
ANTWORT-FORMAT (strict JSON):
|
||||
@@ -167,7 +167,7 @@ ANTWORT-FORMAT (strict JSON):
|
||||
"name": "EXAKTER Name aus der Database",
|
||||
"priority": "high|medium|low",
|
||||
"phase": "${validPhases}",
|
||||
"justification": "Warum dieses Tool für diese Phase und Szenario geeignet ist"
|
||||
"justification": "Warum diese Methode für diese Phase und Szenario geeignet ist"
|
||||
}
|
||||
],
|
||||
"workflow_suggestion": "Vorgeschlagener Untersuchungsablauf",
|
||||
@@ -192,9 +192,9 @@ function createToolSystemPrompt(toolsData: any): string {
|
||||
projectUrl: tool.projectUrl
|
||||
}));
|
||||
|
||||
return `Du bist ein DFIR (Digital Forensics and Incident Response) Experte, der bei der Auswahl spezifischer Tools für konkrete Probleme hilft.
|
||||
return `Du bist ein DFIR (Digital Forensics and Incident Response) Experte, der bei der Auswahl spezifischer Software/Methoden für konkrete Probleme hilft.
|
||||
|
||||
VERFÜGBARE TOOLS DATABASE:
|
||||
VERFÜGBARE DATENBASIS:
|
||||
${JSON.stringify(toolsList, null, 2)}
|
||||
|
||||
WICHTIGE REGELN:
|
||||
@@ -216,11 +216,11 @@ ANTWORT-FORMAT (strict JSON):
|
||||
"name": "EXAKTER Name aus der Database",
|
||||
"rank": 1,
|
||||
"suitability_score": "high|medium|low",
|
||||
"detailed_explanation": "Detaillierte Erklärung, warum dieses Tool das Problem löst",
|
||||
"detailed_explanation": "Detaillierte Erklärung, warum dieses Tool/diese Methode das Problem löst",
|
||||
"implementation_approach": "Konkrete Schritte/Ansatz zur Anwendung für dieses spezifische Problem",
|
||||
"pros": ["Spezifische Vorteile für diesen Anwendungsfall", "Weitere Vorteile"],
|
||||
"cons": ["Potentielle Nachteile oder Limitationen", "Weitere Einschränkungen"],
|
||||
"alternatives": "Alternative Ansätze oder ergänzende Tools, falls relevant"
|
||||
"alternatives": "Alternative Ansätze oder ergänzende Tools/Methoden, falls relevant"
|
||||
}
|
||||
],
|
||||
"additional_considerations": "Wichtige Überlegungen, Voraussetzungen oder Warnungen"
|
||||
|
||||
@@ -23,7 +23,7 @@ const tools = data.tools;
|
||||
</p>
|
||||
|
||||
<p class="text-muted" style="font-size: 1.125rem; margin-bottom: 1.5rem; line-height: 1.7;">
|
||||
Unser kuratiertes Verzeichnis bietet euch eine strukturierte Übersicht über bewährte DFIR-Tools,
|
||||
Unser kuratiertes Verzeichnis bietet euch eine strukturierte Übersicht über bewährte Methoden und Tools,
|
||||
kategorisiert nach forensischen Domänen und Untersuchungsphasen nach Kent, Chevalier, Grance & Dang.
|
||||
</p>
|
||||
|
||||
@@ -41,7 +41,7 @@ const tools = data.tools;
|
||||
<path d="M12 16v-4"></path>
|
||||
<path d="M12 8h.01"></path>
|
||||
</svg>
|
||||
SSO & Zugang erfahren
|
||||
Infos zu SSO & Zugang
|
||||
</a>
|
||||
|
||||
<!-- AI Query Button -->
|
||||
@@ -59,7 +59,7 @@ const tools = data.tools;
|
||||
<polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline>
|
||||
<line x1="12" y1="22.08" x2="12" y2="12"></line>
|
||||
</svg>
|
||||
Tools entdecken
|
||||
Entdecken
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -354,7 +354,7 @@ function createToolCard(tool) {
|
||||
<div class="tool-card-header">
|
||||
<h3>${tool.name}</h3>
|
||||
<div class="tool-card-badges">
|
||||
${hasValidProjectUrl ? '<span class="badge badge-primary">Self-Hosted</span>' : ''}
|
||||
${hasValidProjectUrl ? '<span class="badge badge-primary">CC24-Server</span>' : ''}
|
||||
${tool.license !== 'Proprietary' ? '<span class="badge badge-success">OSS</span>' : ''}
|
||||
${hasKnowledgebase ? '<span class="badge badge-error">📖</span>' : ''}
|
||||
</div>
|
||||
|
||||
@@ -56,7 +56,7 @@ knowledgebaseTools.sort((a: any, b: any) => a.name.localeCompare(b.name));
|
||||
</svg>
|
||||
<h3 style="color: var(--color-text-secondary); margin-bottom: 0.5rem;">Noch keine Knowledgebase-Einträge</h3>
|
||||
<p class="text-muted">
|
||||
Knowledgebase-Einträge werden automatisch angezeigt, sobald Tools das Attribut "knowledgebase: true" haben.
|
||||
Knowledgebase-Einträge werden automatisch angezeigt, sobald Datenbankeinträge das Attribut "knowledgebase: true" haben. Wenn hier noch nichts drinsteht, habe ich noch nichts dazu geschrieben.
|
||||
</p>
|
||||
</div>
|
||||
) : (
|
||||
@@ -76,7 +76,7 @@ knowledgebaseTools.sort((a: any, b: any) => a.name.localeCompare(b.name));
|
||||
tool.projectUrl.trim() !== "";
|
||||
return (
|
||||
<>
|
||||
{hasValidProjectUrl && <span class="badge badge-primary">Self-Hosted</span>}
|
||||
{hasValidProjectUrl && <span class="badge badge-primary">CC24-Server</span>}
|
||||
{tool.license !== 'Proprietary' && <span class="badge badge-success">Open Source</span>}
|
||||
<span class="badge badge-error">Infos 📖</span>
|
||||
</>
|
||||
|
||||
@@ -3,7 +3,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
||||
import { getToolsData } from '../utils/dataService.js';
|
||||
|
||||
|
||||
// Load tools data to get self-hosted services
|
||||
// Load tools data to get server-based services
|
||||
const data = await getToolsData();
|
||||
|
||||
// Filter for hosted services based on projectUrl presence
|
||||
|
||||
Reference in New Issue
Block a user