Zeecka/AperiSolve

GitHub: Zeecka/AperiSolve

一个开源的图像隐写分析 Web 平台,集成多种隐写检测与数据提取工具,实现对图像中隐藏数据的自动化分析与可视化。

Stars: 827 | Forks: 102

# Aperi'Solve [![网站](https://img.shields.io/website?url=https%3A%2F%2Faperisolve.com)](https://aperisolve.com/) ![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/1e/1e21a2e3da31b453a5f1bc45b8310f5afda3c3605bac4e1120106ea4cf8e8890.svg) ![Lint](https://static.pigsec.cn/wp-content/uploads/repos/cas/34/34c6ed26db9b7774e24790d67119b48d25c2b9ade918e503ef38aa9176841d26.svg) ![Docker](https://img.shields.io/badge/docker-compose-blue?logo=docker) ![Python 版本](https://img.shields.io/badge/python-3.12%2B-blue) ![Ruff](https://img.shields.io/badge/lint-ruff-30173d) ![uv](https://img.shields.io/badge/package-uv-30173d) ![ty](https://img.shields.io/badge/types-ty-30173d) ![许可证](https://img.shields.io/github/license/Zeecka/AperiSolve) ![GitHub Issues](https://img.shields.io/github/issues/Zeecka/AperiSolve) ![GitHub Pull Requests](https://img.shields.io/github/issues-pr/Zeecka/AperiSolve) ![最近提交](https://img.shields.io/github/last-commit/Zeecka/AperiSolve) ![贡献者](https://img.shields.io/github/contributors/Zeecka/AperiSolve) [![Rawsec 的网络安全清单](https://inventory.raw.pm/img/badges/Rawsec-inventoried-FF5050_flat.svg)](https://inventory.raw.pm/tools.html#Aperi'Solve)

Aperi'Solve screenshot

立即体验:**https://www.aperisolve.com** Aperi'Solve 是一个开源的隐写分析 Web 平台,通过使用常见的隐写工具和技术对图像执行自动化分析,以检测和提取隐藏数据。 ## 主要功能 - 可视化每个图像通道(R/G/B/Alpha)的各个位层(LSB 及其他层)。 - 颜色重映射(随机调色板重映射,生成 8 个变体) - 并行运行 16 个分析器并显示其输出,带有每个工具的 成功/无结果徽章,以及一键下载提取的文件: - [binwalk](https://github.com/ReFirmLabs/binwalk)(嵌入式归档) - [exiftool](https://exiftool.org/)(元数据和地理位置) - [file](https://manned.org/file.1)(MIME 类型和格式检测) - [GraphicsMagick identify](http://www.graphicsmagick.org/identify.html)(图像信息与属性) - [foremost](https://foremost.sourceforge.net/)(提取的文件) - [jsteg](https://github.com/lukechampine/jsteg)(JPEG LSB 提取) - [jpseek / jphide](https://github.com/h3xx/jphs)(JPEG 隐写提取,需密码) - [openstego](https://www.openstego.com/)(需密码提取) - [outguess](https://www.rbcafe.com/software/outguess/)(需密码提取,深度分析) - [pcrt](https://github.com/sherlly/PCRT)(PNG 检查与修复) - [pngcheck](https://www.libpng.org/pub/png/apps/pngcheck.html) - [steghide](https://steghide.sourceforge.net/)(需密码提取) - [strings](https://pubs.opengroup.org/onlinepubs/9799919799/utilities/strings.html) - [zsteg](https://github.com/zed-0xff/zsteg)(LSB 文本/数据提取) - **应用内 wiki**([`/wiki`](https://www.aperisolve.com/wiki/)):一份隐写术 CTF 速查表以及每个分析器的指南,以 Markdown 编写。 - **国际化**:UI 提供英语、法语、西班牙语、德语、 俄语、中文和葡萄牙语版本,位于带有语言前缀的 URL(`/fr/`、`/es/` 等)下。 - Worker 队列架构,用于卸载繁重/缓慢的分析器(Redis + 后台 worker)。 - 内容寻址的结果缓存、HTTP 缓存以及基于 endpoint 的速率限制。 - 结果临时存储以供稍后浏览和下载,然后由计划任务 自动清理。 ## 添加分析器 添加分析器只需单个文件:继承 `SubprocessAnalyzer` 子类,设置几个 类属性(`name`、`has_archive`、`needs_password`、`deep_only`、 `display_order`),然后在 `Dockerfile` 中安装该工具。Worker 运行 列表、下载白名单以及前端顺序都是自动派生的。 请参阅 [docs/adding-analyzer.md](docs/adding-analyzer.md)。 ## 快速开始(Docker) 如果你想搭建自己的 https://www.aperisolve.com/ 版本。 ``` git clone https://github.com/Zeecka/AperiSolve.git cd AperiSolve cp .env.example .env docker compose up -d ``` 然后浏览网址:http://localhost:5000/ 广告和分析默认处于禁用状态;每一项集成(`ADSENSE_*`、 `CUSTOM_EXTERNAL_SCRIPT`、`SITE_BASE_URL`、Sentry)都可以通过记录在 [`.env.example`](.env.example) 中的环境变量进行选择性开启。 ## 架构 该技术栈以 Docker Compose 服务的形式运行: - **web** — 由 gunicorn 提供服务的 Flask 应用(Jinja 模板 + 原生 JS 前端)。 - **worker** — 一个 RQ worker,为每次提交运行分析器, 分发给每个工具一个线程。 - **cron** — 一个 RQ cron 调度器,在 请求路径之外运行保留期清理。 - **postgres** — 存储图像元数据和提交状态。 - **redis** — RQ broker(DB 0)和速率限制器存储(DB 1)。 - **rqdashboard** — 在端口 9181 上进行队列监控。 这种分离将繁重的工具(binwalk、foremost、zsteg 等)隔离开来, 并避免阻塞 Web worker。相同的提交会通过 内容哈希进行去重,并且派生图像会使用长期不可变的 HTTP 标头进行缓存,因此重复流量成本很低。 ## 文档 - [docs/adding-analyzer.md](docs/adding-analyzer.md) — 添加新的分析器。 - [docs/deploy.md](docs/deploy.md) — 基于标签的生产环境部署流程。 - [CONTRIBUTING.md](CONTRIBUTING.md) — 开发设置、测试、wiki 页面和翻译。 ## 测试 ``` uv sync --extra dev uv run pytest -q # unit tests (no services needed) # 通过运行中的应用进行端到端 analyzer 测试: docker compose -f compose.dev.yml up -d uv run pytest tests/test_webapp_analyzers.py -v ``` ## 路线图 请参阅 [Issues](../../issues)。 ## 安全性
标签:IPv6支持, Python, Web平台, 信息隐藏, 图像分析, 搜索引擎查询, 数据可视化, 无后门, 测试用例, 请求拦截, 逆向工具, 隐写分析