
AperiSolve v3.7.1
画像内の隠しデータを16の並列アナライザー、ビットレイヤー可視化、およびCTFやフォレンジック調査のためのアプリ内wikiを使用して検出する自動化ステガノグラフィ分析プラットフォーム。
Aperi'Solve
今すぐ試す: https://www.aperisolve.com
Aperi'Solve をサポート:
Aperi'Solveは、一般的なステガノグラフィーツールと技術を使用して画像を自動解析し、隠されたデータを検出・抽出するオープンソースのステガノグラシス分析Webプラットフォームです。
主な機能
- 各画像チャンネル (R/G/B/アルファ) ごとのビットレイヤー (LSB およびその他のレイヤー) を可視化します。
- カラーマッピング (8つの生成されたバリアントによるランダムパレット再マッピング)
- 16個のアナライザーを並行して実行し、その出力を表示します。ツールごとに成功/未結果のバッジと、抽出されたファイルのワンクリックダウンロードを提供します。
- binwalk (組み込みアーカイブ)
- exiftool (メタデータと位置情報)
- file (MIMEタイプとフォーマット検出)
- GraphicsMagick identify (画像情報とプロパティ)
- foremost (カービングされたファイル)
- jsteg (JPEG LSB抽出)
- jpseek / jphide (JPEGステガノグラフィ抽出、パスワード使用)
- openstego (パスワードによる抽出)
- outguess (パスワードによる抽出、詳細分析)
- pcrt (PNGチェックと修復)
- pngcheck
- steghide (パスワードによる抽出)
- strings
- zsteg (LSBテキスト/データ抽出)
- アプリ内wiki (
/wiki): HackTricksスタイルのステガノグラフィハンドブック — トリアージ手法、決定木チートシート、メディアごとのテクニックページ (画像、音声、テキスト、ファイル)、およびアナライザーごとのガイド。すべてMarkdownで作成されています。 - 国際化: 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 スクリプトをロードし、配置は自動広告に任されます。
アーキテクチャ
スタックはDocker Composeサービスとして実行されます。
- web — gunicornで提供されるFlaskアプリ (Jinjaテンプレート + バニラJSフロントエンド)。
- worker — 各サブミッションに対してアナライザーを実行するRQワーカー。ツールごとに1スレッドにファンアウトします。
- cron — リクエストパス外で保持クリーンアップを実行するRQ cronスケジューラ。
- initdb — テーブルを作成し、IHDR CRCリカバリデータベースを事前に投入するワンショットサービス。
- postgres — 画像メタデータとサブミッションステータスを保存。
- redis — RQブローカー (DB 0) とレートリミッターストレージ (DB 1)。
- rqdashboard — キュー監視、localhost:9181 にバインド。
この分離により、重いツール (binwalk、foremost、zstegなど) を隔離し、Webワーカーをブロックしないようにします。同一のサブミッションはコンテンツハッシュによって重複排除され、派生画像は長期間不変のHTTPヘッダーでキャッシュされるため、再アクセスは軽量です。
ドキュメント
- docs/adding-analyzer.md — 新しいアナライザーを追加。
- docs/deploy.md — タグ駆動のプロダクションデプロイフロー。
- CONTRIBUTING.md — 開発環境のセットアップ、テスト、wikiページ、翻訳。
テスト
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] セキュリティ上の問題を発見した場合は、公開Issueを開く代わりに、リポジトリオーナーにプライベートで報告してください。
クレジット
寄付者に感謝:
コントリビューターに感謝:
- Zeecka - (author)
- aradhyacp
- Philip Zimmermann
- abneeeees
オープンソースコミュニティに感謝: binwalk, exiftool, GraphicsMagick identify, foremost, jsteg, jphide/jpseek, openstego, outguess, pcrt, pngcheck, steghide, strings, zsteg, ...