Repolode
Junhan2

Junhan2/reaproof

一条命令检测已发布应用的构建产物有多容易被 AI 逆向工具读取,并自动修复可安全处理的问题。

Star
10
Fork
2
未关闭 Issue
0
最近提交
19天前

这是什么?

Reaproof 在应用发布前扫描 Web、桌面或移动应用的构建产物,报告 rea 这类 AI 逆向工具可能从中获取的内容。它会检查残留的 source map(其中包含原始源码文本)、只应留在服务端的 API 密钥、误打包进产物的 .env 配置值、.git 目录、调试符号,以及 Android debuggable、Electron fuses 等开发期构建标记。每项发现都有严重程度分级、通俗的说明和对应的修复方法。

默认情况下工具只读取,不修改文件。它会列出可以移除的 source map 文件,经确认后把它们移到备份目录,并可通过 undo 命令恢复。在 CI 或智能体的 shell 等非终端环境中,它不会做任何改动,而是以发布流水线可识别的退出码结束。结果可输出为 JSON 供智能体使用,也可输出为 SARIF 接入 GitHub code scanning。

支持 Next.js、Vite、Nuxt、SvelteKit、Astro、React Router、Electron、Tauri,以及 Android APK/AAB、iOS IPA,和 Mach-O、ELF、PE、.NET、Go、WebAssembly 等原生产物。需要 Node.js 18.3 或更高版本,无 npm 依赖。

核心功能

  • 01为构建产物给出从 very high 到 baseline 的 rea 风险等级,并逐项说明原因。
  • 02发现暴露原始源码的 source map,并提供可撤销的修复(移入备份)。
  • 03检测已发布文件中仅应存在于服务端的密钥,如 Stripe、AWS 和 AI 服务密钥。
  • 04将 .env 值和 CI 环境变量中的密钥与实际发布的内容进行比对。
  • 05支持 JSON 输出给智能体、SARIF 输出给 GitHub code scanning,并通过退出码控制发布流程。

适用场景

  • 在部署前检查 Next.js 或 Vite 构建产物是否残留 source map 和 API 密钥。
  • 在 CI 发布流水线中设置门禁,发现严重或高危问题时中止构建。
  • 在分发 Electron、Tauri 或 Android 安装包前进行安全审计。
  • 让编码智能体自动运行检查并修复报告中的问题。

快速上手

  1. 1

    在项目文件夹中运行该工具(无需安装)

    npx reaproof

使用前须知

  • 需要 Node.js 18.3 或更高版本。
  • 它只能对构建产物评级;即使评级为基线,也不代表应用完全无泄露,因为代码结构和服务器地址仍然可读。

收录于专题

标签

常见问题

reaproof 是什么?
一条命令检测已发布应用的构建产物有多容易被 AI 逆向工具读取,并自动修复可安全处理的问题。 Reaproof 在应用发布前扫描 Web、桌面或移动应用的构建产物,报告 rea 这类 AI 逆向工具可能从中获取的内容。它会检查残留的 source map(其中包含原始源码文本)、只应留在服务端的 API 密钥、误打包进产物的 .env 配置值、.git 目录、调试符号,以及 Android debuggable、Electron fuses 等开发期构建标记。每项发现都有严重程度分级、通俗的说明和对应的修复方法。
reaproof 可以免费使用吗?用的什么许可证?
reaproof 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
reaproof 还在维护吗?
活跃维护中。reaproof 最近一次提交是在 2026年10月19日。
reaproof 适合用来做什么?
在部署前检查 Next.js 或 Vite 构建产物是否残留 source map 和 API 密钥。 在 CI 发布流水线中设置门禁,发现严重或高危问题时中止构建。 在分发 Electron、Tauri 或 Android 安装包前进行安全审计。 让编码智能体自动运行检查并修复报告中的问题。
reaproof 怎么安装和运行?
在项目文件夹中运行该工具(无需安装): npx reaproof
在哪里获取 reaproof?
源代码和安装说明在 GitHub 上:https://github.com/Junhan2/reaproof

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目