Zurück zu den Updates
New releaseJul 24, 2026

AperiSolve v3.7.1

Automatisierte Steganalyse-Plattform, die mit 16 parallelen Analysatoren, Bit-Ebenen-Visualisierung und einem integrierten Wiki für CTF- und forensische Untersuchungen versteckte Daten in Bildern 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