Makeph/obscura

GitHub: Makeph/obscura

Obscura 是一款自托管的多语言个人数字足迹擦除工具,帮助用户在本地扫描身份暴露并行使 GDPR/CCPA 数据删除权,无需依赖商业订阅服务。

Stars: 1 | Forks: 0

# Obscura **自托管、多语言个人数字足迹擦除工具。** 发现 *您的* 身份在网络上何处暴露,然后行使您的数据保护权利来 将其移除——这正是 Aura / DeleteMe / Incogni 所提供的核心功能,但完全在本地执行, 无需订阅,且覆盖面更广。 ``` SCAN ──▶ ERASE ──▶ MONITOR ──▶ HARDEN (find) (opt out) (re-check) (reduce) ``` ![Obscura 本地面板 — 足迹评分、暴露地图、退出时间线和监控警报](https://static.pigsec.cn/wp-content/uploads/repos/cas/b4/b499cb98b5d8765f7241ae985afa0689a2ba51d346711e6f2cdfefed63c22975.png) ## 为什么使用多语言 四个协作模块,每个都采用最适合其任务的语言,通过 共享的工作区 (`~/.obscura/`) 和稳定的 JSON 契约实现解耦: | 模块 | 语言 | 任务 | | --- | --- | --- | | [`core/`](core/) | **Rust** | 您运行的 `obscura` 二进制程序。掌握作为唯一事实来源的 SQLite,编排 pipeline,渲染报告,并提供 dashboard 服务。 | | [`recon/`](recon/) | **Go** | 并发暴露扫描——跨越约 30 个平台的用户名扫描、HaveIBeenPwned 违规查询、数据经纪人存在性探测。 | | [`broker/`](broker/) | **Python** | 退出引擎——GDPR/CCPA 信件生成 (Jinja2)、SMTP 分发、可选的 Playwright 表单自动化。严格的授权门槛。 | | [`dashboard/`](dashboard/) | **TypeScript / React** | 本地离线控制台——足迹评分、暴露地图、退出时间线、监控警报。 | 没有任何模块相互导入;它们仅在 [SPEC.md](SPEC.md) 中定义的 JSON 契约处交汇。 此构建是使用 Codex 根据该单一规范逐模块搭建的,随后进行了端到端的集成与验证。 ## 快速开始 ``` # 1. 构建 pieces cd recon && go build -o obscura-recon ./cmd/obscura-recon && cd .. cd broker && python -m pip install -e . && cd .. cd dashboard && npm install && npm run build && cd .. cd core && cargo build --release && cd .. # 2. 创建你的 profile(捕获 self-attestation + consent) core/target/release/obscura init --name "Your Name" --email you@example.com \ --username yourhandle --city Austin --region TX --country US --yes # 3. 扫描 exposure → 审查 → 擦除(先 dry-run!) obscura scan obscura report --html # opens footprint score + exposure report obscura erase --dry-run # shows exactly what would be sent obscura erase --confirm # actually dispatches GDPR/CCPA requests # 4. 监控并减少 obscura status # confirmation state of every request obscura monitor # re-scan, diff, list new exposures obscura dash # local dashboard at http://127.0.0.1:7666 obscura harden # footprint score + reduction checklist ``` ## 工作区 所有内容都位于 `~/.obscura/` 下(可通过 `OBSCURA_HOME` 覆盖):SQLite 数据库(事实来源)、JSON I/O 契约(`profile.json`、`findings.json`、 `requests.json`、`store.json`)、渲染报告、用于监控差异对比的每次运行快照,以及保存在 `evidence/` 下的确认回执。密钥(HIBP key、 SMTP 凭据)存放在 `~/.obscura/config.toml` 中,且永远不会被提交。 ## 配置 (`~/.obscura/config.toml`) ``` [hibp] api_key = "..." # optional; breach lookup is skipped without it [smtp] host = "smtp.example.com" port = 587 user = "you@example.com" pass = "..." from = "you@example.com" ``` ## 安全模型 - **授权门槛** — 没有 `self_attestation:true` + `consent_ts` 就不会进行分发。 - **优先模拟运行** — `erase` 显示*将要*发送的内容;实际分发需要 `--confirm`。 - **礼貌原则** — recon 使用有界工作池、按主机延迟和 描述性的 User-Agent;它从不猛烈请求主机,也从不破解 CAPTCHA。 - **重证据,而非信任** — 每个分发的请求都会保存回执。 - **无第三方 PII** — 调查结果仅涉及您自己的标识符。 ## 自动化(可选) [`.github/workflows/obscura.yml`](.github/workflows/obscura.yml) 在 CI 中运行**每月 足迹扫描**:它构建各模块,根据两个加密的仓库 secrets(`OBSCURA_PROFILE_JSON`、`OBSCURA_CONFIG_TOML`)重建您的工作区,进行扫描, 并执行**模拟运行**擦除。实际分发仅在勾选了 `confirm` 输入手动运行时发生——设计上实现了 human-in-the-loop。 ## 状态 所有四个模块的构建和测试均已通过,且完整的跨语言 pipeline (`init → scan → report → erase → dash`)已针对共享契约进行了验证。 [`data/brokers.json`](data/brokers.json) 中的经纪人注册表包含 **36** 个 知名的美国/欧盟数据经纪人和人物搜索网站(26 个人物搜索,10 个数据 经纪人),并提供真实的退出途径,旨在随着时间推移进行扩展和重新验证。 ## 许可证 MIT。
标签:ESC4, Go, OSINT, Ruby工具, Rust, 个人信息删除, 可视化界面, 多语言架构, 实时处理, 数据合规, 日志审计, 特征检测, 网络安全, 网络流量审计, 逆向工具, 通知系统, 隐私保护