업데이트로 돌아가기
New releaseJul 30, 2026

AperiSolve v3.7.4

16개의 병렬 분석기, 비트 레이어 시각화, CTF 및 포렌식 조사를 위한 앱 내 위키를 사용하여 이미지에서 숨겨진 데이터를 탐지하는 자동화된 스테가날리시스 플랫폼입니다.

공유

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 스크린샷

지금 사용해 보세요: https://www.aperisolve.com

Aperi'Solve 후원하기:

GitHub에서 Aperi'Solve 후원하기

Aperi'Solve는 일반적인 스테가노그래피 도구와 기법을 사용하여 이미지에서 숨겨진 데이터를 탐지하고 추출하는 자동화된 분석을 수행하는 오픈소스 스테가노그래피 분석 웹 플랫폼입니다.

주요 기능

  • 이미지 채널(R/G/B/알파)별로 각 비트 레이어(LSB 및 기타 레이어)를 시각화합니다.
  • 색상 리매핑(8가지 생성 변형이 포함된 무작위 팔레트 리매핑)
  • 16개의 분석기를 병렬로 실행하고 결과를 표시하며, 도구별 성공/결과 없음 배지와 추출된 파일의 원클릭 다운로드를 제공합니다:
  • 앱 내 위키 (/wiki): HackTricks 스타일의 스테가노그래피 핸드북 — 분류 방법론, 의사결정 트리 치트시트, 매체별(이미지, 오디오, 텍스트, 파일) 기술 페이지, 분석기별 가이드를 모두 Markdown으로 작성했습니다.
  • 국제화(i18n): UI는 언어 접두사 URL(/fr/, /es/, …) 아래에서 영어, 프랑스어, 스페인어, 독일어, 러시아어, 중국어, 포르투갈어로 제공됩니다.
  • 무거운/느린 분석기를 오프로드하기 위한 작업자 큐 아키텍처(Redis + 백그라운드 작업자).
  • 콘텐츠 주소 지정 결과 캐시, HTTP 캐싱, 엔드포인트별 속도 제한.
  • 결과는 나중에 탐색하고 다운로드할 수 있도록 임시 저장된 후 예약 작업에 의해 자동으로 정리됩니다.

분석기 추가

분석기를 추가하는 것은 단일 파일 작업입니다: SubprocessAnalyzer를 서브클래싱하고 몇 가지 클래스 속성(name, has_archive, needs_password, deep_only, display_order)을 설정한 다음 Dockerfile에 도구를 설치하면 됩니다. 작업자 실행 목록, 다운로드 허용 목록, 프런트엔드 순서는 모두 자동으로 파생됩니다. docs/adding-analyzer.md를 참조하세요.

빠른 시작 (Docker)

https://www.aperisolve.com/ 의 자체 버전을 호스팅하려는 경우를 위한 안내입니다.

요구 사항: Docker + Docker Compose.

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

그런 다음 URL을 엽니다: http://localhost:5000/

광고와 분석은 기본적으로 비활성화되어 있습니다. 모든 통합(CUSTOM_EXTERNAL_SCRIPT, GOOGLE_ADS_TXT, SITE_BASE_URL, Sentry)은 .env.example에 문서화된 환경 변수를 통해 선택적으로 활성화됩니다. 앱은 자체적으로 광고 마크업을 삽입하지 않습니다. CUSTOM_EXTERNAL_SCRIPT는 AdSense 스크립트를 로드하며, 배치는 Auto ads에 맡겨집니다.

아키텍처

스택은 Docker Compose 서비스로 실행됩니다:

  • web — gunicorn이 서비스하는 Flask 앱(Jinja 템플릿 + 바닐라 JS 프런트엔드).
  • worker — 각 제출물에 대해 분석기를 실행하고 도구별로 하나의 스레드로 분산하는 RQ 작업자.
  • cron — 요청 경로에서 벗어나 보존 정리(retention cleanup)를 실행하는 RQ cron 스케줄러.
  • initdb — 테이블을 생성하고 IHDR CRC 복구 데이터베이스를 미리 채우는 일회성 서비스.
  • postgres — 이미지 메타데이터와 제출 상태를 저장합니다.
  • redis — RQ 브로커(DB 0) 및 속도 제한기 저장소(DB 1).
  • rqdashboard — localhost:9181에 바인딩된 큐 모니터링.

이러한 분리는 무거운 도구(binwalk, foremost, zsteg 등)를 격리하고 웹 작업자를 차단하지 않도록 합니다. 동일한 제출물은 콘텐츠 해시로 중복 제거되며, 파생 이미지는 장기간 유지되는 불변 HTTP 헤더로 캐시되므로 반복 트래픽 비용이 저렴합니다.

문서

테스트

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

로드맵

Issues를 참조하세요.

기여

CONTRIBUTING.md를 참조하세요.

보안

[!WARNING] 보안 문제를 발견한 경우 공개 이슈를 여는 대신 저장소 소유자에게 비공개로 신고해 주세요.

크레딧

후원자에게 감사드립니다:

기여자에게 감사드립니다:

오픈소스 커뮤니티에 감사드립니다: binwalk, exiftool, GraphicsMagick identify, foremost, jsteg, jphide/jpseek, openstego, outguess, pcrt, pngcheck, steghide, strings, zsteg, ...

카테고리