Torna agli aggiornamenti
New releaseJul 24, 2026

AperiSolve v3.7.1

Piattaforma automatizzata di steganalysis che rileva dati nascosti nelle immagini utilizzando 16 analizzatori paralleli, visualizzazione a livelli di bit e un wiki integrato per indagini CTF e forensi.

Condividi

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

Provalo ora: https://www.aperisolve.com

Supporta Aperi'Solve:

Sponsor Aperi'Solve on GitHub

Aperi'Solve è una piattaforma web di steganalisi open-source che esegue analisi automatizzate sulle immagini per rilevare ed estrarre dati nascosti utilizzando strumenti e tecniche comuni di steganografia.

Caratteristiche principali

  • Visualizza ogni layer di bit (LSB e altri layer) per canale dell'immagine (R/G/B/Alpha).
  • Rimappatura dei colori (rimappature casuali della palette con 8 varianti generate)
  • Esegue 16 analizzatori in parallelo e mostra il loro output, con badge per strumento di successo/nessun risultato e download con un clic dei file estratti:
  • Wiki integrata (/wiki): un manuale di steganografia in stile HackTricks — una metodologia di triage, un cheat-sheet ad albero decisionale, pagine tecniche per supporto (immagine, audio, testo, file), e una guida per analizzatore, tutte scritte in Markdown.
  • Internazionalizzazione: interfaccia disponibile in inglese, francese, spagnolo, tedesco, russo, cinese e portoghese sotto URL con prefisso lingua (/fr/, /es/, …).
  • Architettura a coda di worker per scaricare gli analizzatori pesanti/lenti (Redis + worker in background).
  • Cache dei risultati con indirizzamento al contenuto, caching HTTP e limitazione della velocità per endpoint.
  • Risultati memorizzati temporaneamente per consultazione e download successivi, poi puliti automaticamente da un job schedulato.

Aggiungere un analizzatore

Aggiungere un analizzatore è un singolo file: sottoclasse SubprocessAnalyzer, imposta alcuni attributi di classe (name, has_archive, needs_password, deep_only, display_order), e installa lo strumento nel Dockerfile. La lista di esecuzione del worker, la whitelist dei download e l'ordine nel frontend sono tutti derivati automaticamente. Vedi docs/adding-analyzer.md.

Avvio rapido (Docker)

Nel caso tu voglia ospitare la tua versione di https://www.aperisolve.com/.

Richiesto: Docker + Docker Compose.

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

Poi visita l'URL: http://localhost:5000/

Pubblicità e analytics sono disabilitati per impostazione predefinita; ogni integrazione (CUSTOM_EXTERNAL_SCRIPT, GOOGLE_ADS_TXT, SITE_BASE_URL, Sentry) è opt-in tramite variabili d'ambiente documentate in .env.example. L'app non inietta mai markup pubblicitario da sola: CUSTOM_EXTERNAL_SCRIPT carica lo script AdSense e il posizionamento è lasciato agli annunci automatici.

Architettura

Lo stack viene eseguito come servizi Docker Compose:

  • web — app Flask servita da gunicorn (template Jinja + frontend vanilla JS).
  • worker — un worker RQ che esegue gli analizzatori per ogni invio, distribuendo su un thread per strumento.
  • cron — un job schedulato RQ che esegue la pulizia della retention fuori dal percorso delle richieste.
  • initdb — un servizio one-shot che crea le tabelle e precompila il database di recupero IHDR CRC.
  • postgres — memorizza metadati delle immagini e stato degli invii.
  • redis — broker RQ (DB 0) e storage per limitatore di velocità (DB 1).
  • rqdashboard — monitoraggio delle code, vincolato a localhost:9181.

Questa separazione mantiene gli strumenti pesanti (binwalk, foremost, zsteg, ecc.) isolati ed evita di bloccare il worker web. Invii identici sono deduplicati tramite un hash del contenuto, e le immagini derivate vengono memorizzate nella cache con intestazioni HTTP immutabili a lunga durata, quindi il traffico ripetuto è economico.

Documentazione

Test

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

# test end-to-end degli analizzatori attraverso l'app in esecuzione:
docker compose -f compose.dev.yml up -d
uv run pytest tests/test_webapp_analyzers.py -v

Roadmap

Vedi Issues.

Contribuire

Vedi CONTRIBUTING.md.

Sicurezza

[!WARNING] Se scopri un problema di sicurezza, segnalalo privatamente al proprietario del repository invece di aprire una issue pubblica.

Crediti

Grazie ai donatori:

Grazie ai contributori:

Grazie alla comunità open-source: binwalk, exiftool, GraphicsMagick identify, foremost, jsteg, jphide/jpseek, openstego, outguess, pcrt, pngcheck, steghide, strings, zsteg, ...

Categorie