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

AperiSolve v3.7.1

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.

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