ForensicPathways
Ein umfassendes Verzeichnis digitaler Forensik- und Incident-Response-Tools mit KI-gestützten Empfehlungen basierend auf der NIST SP 800-86 Methodik.
Lizenz
Dieses Projekt ist unter der BSD-3-Clause-Lizenz lizenziert.
Funktionen
Kernfunktionalität
- Umfassende Tool-Datenbank: 100+ forensische Tools kategorisiert nach Domänen, Phasen und Skill-Levels
- NIST SP 800-86 Integration: Vier-Phasen-Methodik (Sammlung → Auswertung → Analyse → Berichterstattung)
- Multiple Ansichtsmodi: Kachelansicht, Matrix-Übersicht und KI-gestützte Empfehlungen
- Erweiterte Suche: Textsuche, semantische Embedding-basierte Suche und Multi-Kriterien-Filterung
- Responsive Design: Dark/Light-Mode-Unterstützung, mobile-optimierte Benutzeroberfläche
KI-gestützte Analyse
- Micro-Task-Pipeline: Intelligente Tool-Auswahl durch mehrere KI-Analyseschritte
- Semantische Suche: Vector-Embeddings für natürlichsprachige Tool-Entdeckung
- Konfidenz-Bewertung: Transparente Vertrauensmetriken für KI-Empfehlungen
- Audit-Trail: Vollständige Entscheidungstransparenz mit detaillierter Protokollierung
- Rate Limiting: Intelligente Warteschlangenverwaltung und nutzerbasierte Ratenbegrenzung
Zusammenarbeit & Beiträge
- Tool-Beiträge: Neue Tools einreichen oder bestehende über Git-Integration bearbeiten
- Knowledgebase: Community-beigetragene Artikel und Dokumentation
- File-Upload-System: Nextcloud-Integration für Medien-Anhänge
- Authentifizierung: OIDC-Integration mit konfigurierbaren Anbietern
Enterprise-Funktionen
- Warteschlangenverwaltung: Ratenbegrenzte KI-Verarbeitung mit Echtzeit-Status-Updates
- Audit-Protokollierung: Umfassender forensischer Audit-Trail für KI-Entscheidungsfindung
- Multi-Provider-Unterstützung: Konfigurierbare KI-Services (Mistral AI, Ollama, OpenAI)
- Git-Integration: Automatisierte Issue-Erstellung für Beiträge (Gitea, GitHub, GitLab)
Datenmodell
Das System verwendet eine YAML-basierte Konfiguration in src/data/tools.yaml
:
tools:
- name: Tool Name
type: software|method|concept
description: Detaillierte Beschreibung
skillLevel: novice|beginner|intermediate|advanced|expert
url: https://tool-homepage.com
domains: [incident-response, static-investigations, ...]
phases: [data-collection, examination, analysis, reporting]
platforms: [Windows, Linux, macOS]
license: Lizenztyp
tags: [gui, commandline, ...]
related_concepts: [konzept1, konzept2]
# Optionale Felder
projectUrl: https://hosted-instance.com # Für CC24-Server gehostete Tools
knowledgebase: true # Hat KB-Artikel
accessType: download|hosted|cloud
domains:
- id: incident-response
name: Incident Response & Breach-Untersuchung
phases:
- id: data-collection
name: Datensammlung
description: Imaging, Akquisition, Remote-Collection-Tools
scenarios:
- id: scenario:memory_dump
icon: 🧠
friendly_name: RAM-Analyse
AI Concept
Micro-Task Architecture
The AI system uses a sophisticated pipeline that breaks complex analysis into focused micro-tasks:
- Scenario Analysis: Understanding the forensic context
- Investigation Approach: Determining optimal methodology
- Critical Considerations: Identifying potential challenges
- Tool Selection: Phase-specific or problem-specific recommendations
- Background Knowledge: Relevant concepts and prerequisites
- Final Synthesis: Integrated recommendations with confidence scoring
Confidence Scoring
Each recommendation includes transparent confidence metrics:
- Semantic Relevance: Vector similarity between query and tool descriptions
- Task Suitability: AI-assessed fitness for the specific scenario
- Uncertainty Factors: Potential limitations and considerations
- Strength Indicators: Why the tool is well-suited
NIST SP 800-86 Phases
The system organizes tools according to the four-phase NIST methodology:
- Data Collection: Imaging, acquisition, and evidence preservation
- Examination: Parsing, extraction, and initial data processing
- Analysis: Deep investigation, correlation, and insight generation
- Reporting: Documentation, visualization, and presentation
Each tool is mapped to appropriate phases, enabling workflow-based recommendations.
Deployment
Production Setup
- Build and Deploy:
npm run build
sudo ./deploy.sh # Copies dist/ to /var/www/forensic-pathways
- Configuration:
cd /var/www/forensic-pathways
sudo cp .env.example .env
sudo nano .env # Configure AI services, authentication, etc.
- Systemd Service (
/etc/systemd/system/forensic-pathways.service
):
[Unit]
Description=ForensicPathways
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/forensic-pathways
ExecStart=/usr/bin/node server/entry.mjs
Restart=always
RestartSec=10
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
- Nginx Configuration:
server {
listen 80;
server_name forensic-pathways.yourdomain.com;
client_max_body_size 50M; # Important for uploads
location / {
proxy_pass http://localhost:4321;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
- Enable and Start:
sudo systemctl enable forensic-pathways
sudo systemctl start forensic-pathways
sudo systemctl reload nginx
Environment Configuration
Key configuration in .env
:
# Core Application
PUBLIC_BASE_URL=https://forensic-pathways.yourdomain.com
AUTH_SECRET=your-secure-random-secret
# AI Services (Required)
AI_ANALYZER_ENDPOINT=https://api.mistral.ai/v1/chat/completions
AI_ANALYZER_API_KEY=your-api-key
AI_ANALYZER_MODEL=mistral/mistral-small-latest
# Vector Embeddings (Recommended)
AI_EMBEDDINGS_ENABLED=true
AI_EMBEDDINGS_ENDPOINT=https://api.mistral.ai/v1/embeddings
AI_EMBEDDINGS_MODEL=mistral-embed
# Authentication (Optional)
AUTHENTICATION_NECESSARY_AI=false
OIDC_ENDPOINT=https://your-keycloak.com/auth/realms/your-realm
OIDC_CLIENT_ID=forensic-pathways
Externe Abhängigkeiten (Optionale Features)
File-Upload-System
- Nextcloud: Primärer Speicher für Beitrags-Anhänge
- Lokaler Fallback: Automatischer Fallback zu lokalem Speicher bei Nextcloud-Ausfall
Authentifizierungsanbieter
- Keycloak: Empfohlener OIDC-Provider
- Andere OIDC: Jeder OIDC-konforme Provider (Auth0, Azure AD, etc.)
Git-Integration
- Gitea: Primärer Git-Provider für Beiträge
- GitHub/GitLab: Alternative Git-Provider unterstützt
Monitoring
- Uptime Kuma: Service-Monitoring und Gesundheitschecks (optional)
KI-Services
- Mistral AI: Empfohlen für Produktion (API-Schlüssel erforderlich)
- Ollama: Lokale Deployment-Option (kein API-Schlüssel benötigt)
- OpenAI: Alternative kommerzielle Anbieter
Knowledgebase-System
Artikel hinzufügen
Knowledgebase-Artikel werden in src/content/knowledgebase/
als Markdown-Dateien mit Frontmatter gespeichert:
---
title: "Tool-Konfigurationsanleitung"
description: "Schritt-für-Schritt-Setup-Anweisungen"
last_updated: 2024-01-15
author: "Ihr Name"
difficulty: intermediate
# Tool-Zuordnung (optional)
tool_name: "Autopsy"
related_tools: ["Volatility 3", "YARA"]
# Kategorisierung
categories: ["konfiguration", "setup"]
tags: ["gui", "installation", "windows"]
published: true
---
# Tool-Konfigurationsanleitung
Ihr Artikel-Inhalt hier...
## Voraussetzungen
- Systemanforderungen
- Abhängigkeiten
## Installationsschritte
1. Download von offizieller Quelle
2. Installer ausführen
3. Einstellungen konfigurieren
## Video-Demonstration
<video src="/videos/setup-tutorial.mp4" title="Setup-Tutorial" controls></video>
## Häufige Probleme
Lösungen für typische Probleme...
Video-Integration
Knowledgebase-Artikel unterstützen eingebettete Videos für praktische Demonstrationen:
<video src="/videos/demo.mp4" title="Tool-Demonstration" controls></video>
Wichtige Hinweise:
- Videos müssen manuell in
public/videos/
bereitgestellt werden (nicht im Git-Repository enthalten) - Firefox-kompatible Formate verwenden (MP4 H.264, WebM VP9)
- Detaillierte Video-Dokumentation: siehe
src/content/knowledgebase/README.md
Artikel-Struktur-Richtlinien
Erforderliche Felder:
title
: Klarer, beschreibender Titeldescription
: Einzeilige Zusammenfassung für Auflistungenlast_updated
: Artikel-Änderungsdatumpublished
: Boolean-Flag für Sichtbarkeit
Optionale Felder:
tool_name
: Zuordnung zu spezifischem Tool aus Datenbankauthor
: Mitwirkender Name (Standard: "Anon")difficulty
: Komplexitätslevel passend zu Tool-Skill-Levelscategories
: Breite Klassifizierungentags
: Spezifische Stichwörter für Entdeckungrelated_tools
: Array verwandter Tool-Namen
Inhalt-Richtlinien:
- Standard-Markdown-Formatierung verwenden
- Praktische Beispiele und Code-Snippets einschließen
- Screenshots oder Diagramme bei Bedarf hinzufügen
- Zu verwandten Tools mit
[Tool Name](/tools/tool-slug)
Format verlinken - Troubleshooting-Abschnitte für komplexe Tools einschließen
Automatische Verarbeitung
- Artikel werden automatisch beim Build indexiert
- Tool-Zuordnungen erstellen bidirektionale Links
- Suche umfasst Volltext-Inhalt und Metadaten
- Verwandte Artikel erscheinen in Tool-Detail-Ansichten
Entwicklung
# Setup
npm install
cp .env.example .env
# Entwicklung
npm run dev
# Build
npm run build
# Deploy
sudo ./deploy.sh
Konfigurationsübersicht
Die .env.example
-Datei enthält umfassende Konfigurationsoptionen für alle Features. Die meisten Optionen haben sinnvolle Standardwerte, wobei nur die KI-Service-Konfiguration für volle Funktionalität erforderlich ist.
Architektur
- Frontend: Astro mit TypeScript, responsive CSS
- Backend: Node.js API-Routen mit intelligenter Ratenbegrenzung
- KI-Pipeline: Micro-Task-Architektur mit Audit-Protokollierung
- Daten: YAML-basierte Tool-Datenbank mit Git-basierten Beiträgen
- Suche: Dual-Mode Text- und semantische Vector-Suche
- Auth: OIDC-Integration mit Session-Management