Voltar às atualizações
New releaseJul 30, 2026

AperiSolve v3.7.6

Plataforma automatizada de esteganálise que detecta dados ocultos em imagens usando 16 analisadores paralelos, visualização de camadas de bits e uma wiki integrada para investigações de CTF e forense digital.

Compartilhar

Aperi'Solve

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

Captura de tela do Aperi'Solve

Experimente agora: https://www.aperisolve.com

Apoie o Aperi'Solve:

Sponsor Aperi'Solve on GitHub

Aperi'Solve é uma plataforma web de esteganálise de código aberto que realiza análise automatizada de imagens para detectar e extrair dados ocultos usando ferramentas e técnicas comuns de esteganografia.

Principais recursos

  • Visualize cada camada de bits (LSB e outras camadas) por canal de imagem (R/G/B/Alpha).
  • Remapeamento de cores (remapeamentos aleatórios de paleta com 8 variantes geradas)
  • Executa 16 analisadores em paralelo e exibe suas saídas, com badges de sucesso/sem resultado por ferramenta e download dos arquivos extraídos com um clique:
  • Wiki integrada (/wiki): um manual de esteganografia no estilo HackTricks — uma metodologia de triagem, uma folha de consulta com árvore de decisão, páginas de técnicas por meio (imagem, áudio, texto, arquivos) e um guia por analisador, tudo escrito em Markdown.
  • Internacionalização: interface disponível em inglês, francês, espanhol, alemão, russo, chinês e português em URLs com prefixo de idioma (/fr/, /es/, …).
  • Arquitetura de fila de trabalho para descarregar analisadores pesados/lentos (Redis + workers em segundo plano).
  • Cache de resultados endereçado por conteúdo, cache HTTP e limitação de taxa por endpoint.
  • Os resultados são armazenados temporariamente para consulta e download posteriores e, em seguida, removidos automaticamente por uma tarefa agendada.

Adicionando um analisador

Adicionar um analisador é um único arquivo: crie uma subclasse de SubprocessAnalyzer, defina alguns atributos de classe (name, has_archive, needs_password, deep_only, display_order) e instale a ferramenta no Dockerfile. A lista de execução do worker, a lista de permissões de download e a ordem no frontend são todas derivadas automaticamente. Veja docs/adding-analyzer.md.

Início rápido (Docker)

Caso queira hospedar sua própria versão de https://www.aperisolve.com/.

Necessário: Docker + Docker Compose.

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

Em seguida, acesse a URL: http://localhost:5000/

Anúncios e analytics estão desativados por padrão; todas as integrações (CUSTOM_EXTERNAL_SCRIPT, GOOGLE_ADS_TXT, SITE_BASE_URL, Sentry) são opt-in por meio de variáveis de ambiente documentadas em .env.example. O aplicativo nunca injeta marcação de anúncios por conta própria: CUSTOM_EXTERNAL_SCRIPT carrega o script do AdSense e o posicionamento fica a cargo dos Auto ads.

Arquitetura

A stack é executada como serviços do Docker Compose:

  • web — aplicativo Flask servido por gunicorn (templates Jinja + frontend em JavaScript puro).
  • worker — um worker RQ que executa os analisadores para cada envio, distribuindo para uma thread por ferramenta.
  • cron — um agendador cron RQ que executa a limpeza de retenção fora do caminho de requisição.
  • initdb — um serviço de execução única que cria as tabelas e pré-popula o banco de dados de recuperação de CRC do IHDR.
  • postgres — armazena metadados das imagens e o status dos envios.
  • redis — broker RQ (DB 0) e armazenamento do limitador de taxa (DB 1).
  • rqdashboard — monitoramento de filas, vinculado a localhost:9181.

Essa separação mantém as ferramentas pesadas (binwalk, foremost, zsteg, etc.) isoladas e evita bloquear o worker web. Envios idênticos são deduplicados por um hash de conteúdo, e as imagens derivadas são armazenadas em cache com cabeçalhos HTTP imutáveis de longa duração, então o tráfego repetido é barato.

Documentação

Testes

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

Veja Issues.

Contribuindo

Veja CONTRIBUTING.md.

Segurança

[!WARNING] Se você descobrir um problema de segurança, reporte-o em particular ao proprietário do repositório em vez de abrir uma issue pública.

Créditos

Agradecimentos aos doadores:

Agradecimentos aos contribuidores:

Agradecimentos à comunidade de código aberto: binwalk, exiftool, GraphicsMagick identify, foremost, jsteg, jphide/jpseek, openstego, outguess, pcrt, pngcheck, steghide, strings, zsteg, ...

Categorias