Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
interrogation-game — Sprachbasiertes Detektiv-Verhörspiel. Mistral Large 3 + Voxtral STT + ElevenLabs TTS. Entwickelt für den Mistral Worldwide Hackathon 2026. | Kitploit
Tools/GitHubGitHub/jpoindexter/interrogation-game
OSINT für Social EngineeringWebsicherheitCTFSocial EngineeringMaschinelles LernenLernen & BildungKI-SicherheitAdversarial-AngriffLabs & Praxis
GitHubjpoindexter/interrogation-game

interrogation-game

Sprachbasiertes Detektiv-Verhörspiel. Mistral Large 3 + Voxtral STT + ElevenLabs TTS. Entwickelt für den Mistral Worldwide Hackathon 2026.

528vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

Interrogation

Interrogation – Titelbildschirm

Ein sprachbasiertes Detektiv-Verhörspiel. Du bist der Detektiv. Mistral ist ein Verdächtiger, der lügt. Deine Aufgabe ist es, die Lüge allein durch Fragen zu entlarven.

Jeder Fall wird prozedural generiert – eine einzigartige Wirtschaftsstraftat, ein Verdächtiger, eine Deckgeschichte und eine verborgene Lüge. Der Verdächtige wird von Mistral Large gespielt, erhält eine vollständige Hintergrundgeschichte und wird angewiesen, die Deckgeschichte unter adversarialem Druck zu verteidigen. Keine zwei Fälle sind gleich.

Entwickelt für den Mistral Worldwide Hackathon 2026 (Online-Track).

„Mistral kann logisch denken. Ich habe es zum Lügen gebracht. Deine Aufgabe ist es, es zu ertappen.“

So funktioniert es

  1. Wähle einen Ort und Schwierigkeitsgrad
  2. Ein einzigartiger Fall wird generiert – Verbrechen, Verdächtiger, Deckgeschichte und eine Lüge
  3. Verhöre den Verdächtigen per Sprache oder Text
  4. Der Verdächtige antwortet in seiner Rolle mit stressreaktiver Stimme
  5. Sammle Hinweise, indem du unter Druck die richtigen Fragen stellst
  6. Erhebe deine Anklage – eine separate KI-Bewertung prüft sie
  7. Richtig = Geständnis. Falsch = ein Versuch weniger (insgesamt 3)

Die KI wird angewiesen, niemals zu gestehen, selbst bei maximalem Stress. Du gewinnst, indem du eine spezifische, genaue Anklage erhebst – nicht, indem du den Verdächtigen zum Einknicken bringst.

Technologie-Stack

  • Next.js 16 — App Router, TypeScript, Tailwind v4
  • Mistral Large 3 – KI-Gehirn des Verdächtigen, Fallgenerierung, Anklagebewertung
  • Voxtral STT – Sprache-zu-Text für die Spracheingabe des Spielers
  • ElevenLabs TTS – Stimme des Verdächtigen mit dynamischer, stressbasierter Stabilität
  • Browser SpeechSynthesis – Fallback, wenn ElevenLabs nicht verfügbar ist
  • Supabase – Bestenliste-Persistenz mit RLS, Spiel-Export-Speicher
  • Framer Motion – Animationen auf allen Seiten
  • PixelLab – Prozedural generierte Verdächtigen-Porträts

Erste Schritte

npm install
cp .env.example .env    # Fülle deine API-Schlüssel ein
npm run dev             # http://localhost:3000

Umgebungsvariablen

MISTRAL_API_KEY=            # Erforderlich – Fallgenerierung, Verhör, Bewertung, STT
ELEVENLABS_API_KEY=         # Erforderlich – TTS für Verdächtigenstimme
ELEVENLABS_VOICE_ID=        # Optional – spezifische ElevenLabs-Stimmen-ID
NEXT_PUBLIC_SUPABASE_URL=   # Erforderlich – Supabase-Projekt-URL
NEXT_PUBLIC_SUPABASE_ANON_KEY=  # Erforderlich – Supabase-Anon-Key (RLS-geschützt)
SUPABASE_SERVICE_ROLE_KEY=  # Optional – Admin-Export-Endpunkt
EXPORT_SECRET=              # Optional – Admin-Export-Authentifizierung

API-Schlüssel können auch auf der Einstellungsseite zur Laufzeit konfiguriert werden – die App wird ohne Schlüssel ausgeliefert, Spieler bringen ihre eigenen mit.

Befehle

npm run dev       # Dev-Server
npm run build     # Produktions-Build
npm run start     # Produktions-Server
npm run lint      # ESLint

Spielmechanik

Schwierigkeitsgrad

LevelHinweiseTimerVerhalten des Verdächtigen
Einfach25 MinOffensichtliche Lüge, nervös
Mittel37 MinFassbare Lüge, gefasst
Schwer49 MinSubtile Lüge, geschickter Ausweicher
Experte510 MinTief vergrabene Lüge, manipulativ

Ein unbegrenzter Timer-Modus ist ebenfalls verfügbar – auf schwer/Experte zieht der Verdächtige nach 4 aufeinanderfolgenden hochstressigen Austauschen einen Anwalt hinzu.

Hinweissystem

Hinweise werden bei Stressschwellen freigeschaltet, die über 1–9 verteilt sind, eingeschränkt durch:

  • Mindestanzahl an Fragen pro Schwierigkeitsgrad
  • Mindestfragenlänge (keine Ein-Wort-Fischerei)
  • Server-seitig erzwungene Stressschwellen pro Hinweisnummer

Der Anklage-Button wird erst freigeschaltet, wenn alle erforderlichen Hinweise gesammelt wurden.

Wertung

score = timeScore x difficultyMultiplier x efficiencyBonus x hintPenalty x accusationPenalty

timeScore       = 1000 x sqrt(max(0, 1 - elapsed / (parTime x 2)))
multiplier      = easy 1.0x, medium 1.5x, hard 2.0x, expert 2.5x
efficiencyBonus = 1.0-1.5x (weniger Fragen als par = Bonus)
hintPenalty     = 0.85^hintsUsed
accusePenalty   = max(0, 1 - wrongAccusations x 0.1)

Die Punktzahl wird serverseitig aus den zum Zeitpunkt des Gewinns eingefrorenen Statistiken berechnet – Client-Werte werden ignoriert.

Spielende

  • Gewonnen: APPREHENDED-Stempel, gestaffelte Punkte-Enthüllung, Arcade-artige 3-Buchstaben-Initialeneingabe, Bestenliste
  • Verloren (Anklagen): ESCAPED, Fallzusammenfassung, Spott des Verdächtigen, die Lüge wird enthüllt
  • Verloren (Zeit): Wie oben, mit Zeitüberschreitungs-Ergebnis
  • Aufgeben: KI-generierte selbstgefällige Bemerkung per TTS, vollständige Fallaufklärung

Architektur

app/
├── page.tsx                     # Titelbildschirm
├── cases/                       # Fallauswahl – Orte + Schwierigkeitsgrad
├── game/
│   ├── page.tsx                 # Hauptspiel-Orchestrator
│   ├── hooks/                   # useVoiceRecorder, useTTS, useGameTimer, useSfx, useSettings
│   ├── components/              # Dock, TopBar, CaseFile, SuspectZone, BriefingScreen, Dialoge
│   ├── win/                     # Gewinnbildschirm + Initialeneingabe
│   └── lose/                    # Verlustbildschirm
├── leaderboard/                 # Top 20, Animation für neue Einträge
├── settings/                    # API-Schlüssel-Konfiguration, Export, Einstellungen
├── help/                        # Spielanleitung, Wertung, Über
├── about/                       # Informationen zum Ersteller
└── api/
    ├── generate-case/           # GET – Mistral-Fallgenerierung
    ├── interrogate/             # POST – Spielerfrage → Verdächtigenantwort
    ├── accuse/                  # POST – Anklagebewertung (separater Richter)
    ├── evaluate/                # POST – Gewinn-/Verlustanalyse
    ├── hint/                    # POST – verschleierte Stressauslöser-Hinweise
    ├── tts/                     # POST – ElevenLabs TTS
    ├── transcribe/              # POST – Voxtral STT
    ├── leaderboard/             # GET/POST – Supabase-Bestenliste
    ├── patterns/                # GET/POST – Sitzungsübergreifende Lernmuster
    └── export/                  # GET – Admin-JSONL-Export

src/lib/
├── mistral/                     # Mistral-Client, Verhör, Bewertung, Fallgenerierung, Embeddings
├── game-session.ts              # Serverseitiger Sitzungsspeicher, Gewinn-Tokens, Export
├── game-state.ts                # Typdefinitionen
├── scoring.ts                   # Punkteberechnung + Detektivbewertungen
├── sanitize.ts                  # Eingabevalidierung, Injection-Erkennung
├── db.ts                        # Supabase-Client
└── rate-limit.ts                # Pro-IP-Ratenbegrenzung

Sicherheit

Das Spiel setzt adversarial KI gegen Spielereingaben ein – Sicherheit ist ein Kernfeature, kein nachträglicher Gedanke.

Eingabebereinigung: 30+ Regex-Injection-Muster, Unicode-Normalisierung (NFKD), Zero-Breitzeichen-Entfernung, Base64-Payload-Erkennung, Kauderwelsch-/Nicht-Englisch-Sperrung.

Ausgabeüberprüfung: KI-Antworten werden mit Fallgeheimnissen per Fuzzy-Matching (40%-Schwelle, Stop-Wörter gefiltert) abgeglichen. Durchgesickerte Antworten werden durch Ausweichmanöver ersetzt.

Richterisolierung: Die Anklagebewertung verwendet einen separaten Mistral-Aufruf mit dediziertem System-Prompt, randomisierten Begrenzungs-Tokens und entfernten Injection-Markern. Richteraufrufe verwenden niemals vom Spieler bereitgestellte API-Schlüssel.

Tool herunterladen