Zurück zu den Updates
New releaseJul 21, 2026

AperiSolve v3.4.2

Automatisierte Steganalyse-Plattform, die versteckte Daten in Bildern mithilfe von 16 parallelen Analysatoren, Bit-Ebenen-Visualisierung und einem integrierten Wiki für CTF- und forensische Untersuchungen erkennt.

Teilen

Aperi'Solve

Website CI Lint Docker Python Version Ruff uv ty License GitHub Issues GitHub Pull Requests Last Commit Contributors Rawsec's CyberSecurity Inventory

Aperi'Solve-Screenshot

Jetzt ausprobieren: https://www.aperisolve.com

Unterstütze Aperi'Solve:

Sponsor Aperi'Solve on GitHub

Aperi'Solve ist eine Open-Source-Webplattform zur Steganalyse, die automatische Analysen von Bildern durchführt, um versteckte Daten mit gängigen Steganographie-Werkzeugen und -Techniken zu erkennen und zu extrahieren.

Hauptfunktionen

  • Jede Bitebene (LSB und andere Ebenen) pro Bildkanal (R/G/B/Alpha) visualisieren.
  • Farb-Remapping (zufällige Paletten-Neuzuordnungen mit 8 generierten Varianten)
  • Führt 16 Analyzer parallel aus und zeigt deren Ausgabe, mit Erfolgs-/Kein-Ergebnis-Abzeichen pro Werkzeug und Ein-Klick-Download extrahierter Dateien:
  • In-App-Wiki (/wiki): ein Steganographie-Handbuch im HackTricks-Stil — eine Triage-Methodik, ein Entscheidungsbaum-Spickzettel, Technikseiten pro Medium (Bild, Audio, Text, Dateien) und ein Leitfaden pro Analyzer, alles als Markdown verfasst.
  • Internationalisierung: UI verfügbar in Englisch, Französisch, Spanisch, Deutsch, Russisch, Chinesisch und Portugiesisch unter sprachpräfixierten URLs (/fr/, /es/, …).
  • Worker-Queue-Architektur zur Auslagerung schwerer/langsamer Analyzer (Redis + Hintergrund-Worker).
  • Inhaltsadressierter Ergebnis-Cache, HTTP-Caching und Ratenbegrenzung pro Endpunkt.
  • Ergebnisse werden vorübergehend gespeichert, um sie später anzusehen und herunterzuladen, und anschließend von einem geplanten Job automatisch bereinigt.

Einen Analyzer hinzufügen

Einen Analyzer hinzuzufügen erfordert nur eine Datei: Leite von SubprocessAnalyzer ab, setze ein paar Klassenattribute (name, has_archive, needs_password, deep_only, display_order) und installiere das Werkzeug im Dockerfile. Die Worker-Ausführungsliste, die Download-Allowlist und die Frontend-Reihenfolge werden automatisch abgeleitet. Siehe docs/adding-analyzer.md.

Schnellstart (Docker)

Falls du deine eigene Version von https://www.aperisolve.com/ hosten möchtest.

Erforderlich: Docker + Docker Compose.

git clone https://github.com/Zeecka/AperiSolve.git
cd AperiSolve
cp .env.example .env
docker compose up -d

Rufe dann die URL auf: http://localhost:5000/

Werbung und Analysen sind standardmäßig deaktiviert; jede Integration (CUSTOM_EXTERNAL_SCRIPT, GOOGLE_ADS_TXT, SITE_BASE_URL, Sentry) ist über Umgebungsvariablen aktivierbar, die in .env.example dokumentiert sind. Die App fügt selbst kein Werbe-Markup ein: CUSTOM_EXTERNAL_SCRIPT lädt das AdSense-Skript, und die Platzierung wird Auto-Anzeigen überlassen.

Architektur

Der Stack läuft als Docker-Compose-Dienste:

  • web — Flask-App, bereitgestellt von gunicorn (Jinja-Vorlagen + Vanilla-JS-Frontend).
  • worker — ein RQ-Worker, der die Analyzer für jede Einreichung ausführt und auf einen Thread pro Werkzeug aufteilt.
  • cron — ein RQ-Cron-Scheduler, der die Aufbewahrungsbereinigung außerhalb des Anforderungspfads ausführt.
  • initdb — ein Einmal-Dienst, der die Tabellen erstellt und die IHDR-CRC-Wiederherstellungsdatenbank vorab befüllt.
  • postgres — speichert Bildmetadaten und Einreichungsstatus.
  • redis — RQ-Broker (DB 0) und Speicher für Ratenbegrenzung (DB 1).
  • rqdashboard — Queue-Überwachung, gebunden an localhost:9181.

Diese Trennung hält schwere Werkzeuge (binwalk, foremost, zsteg, usw.) isoliert und verhindert, dass der Web-Worker blockiert wird. Identische Einreichungen werden über einen Inhalts-Hash dedupliziert, und abgeleitete Bilder werden mit langlebigen, unveränderlichen HTTP- Headern gecacht, sodass wiederholter Datenverkehr günstig ist.

Dokumentation

Tests

uv sync --extra dev
uv run pytest -q            # unit tests (no services needed)

# end-to-end analyzer tests through the running app:
docker compose -f compose.dev.yml up -d
uv run pytest tests/test_webapp_analyzers.py -v

Roadmap

Siehe Issues.

Mitwirken

Siehe CONTRIBUTING.md.

Sicherheit

[!WARNING] Wenn du ein Sicherheitsproblem entdeckst, melde es bitte privat an den Repository-Inhaber, anstatt ein öffentliches Issue zu eröffnen.

Danksagungen

Dank an Spender:

Dank an Mitwirkende:

Dank an die Open-Source-Community: binwalk, exiftool, GraphicsMagick identify, foremost, jsteg, jphide/jpseek, openstego, outguess, pcrt, pngcheck, steghide, strings, zsteg, ...

Kategorien