EddieDevLife/Eye-of-Sauron
GitHub: EddieDevLife/Eye-of-Sauron
基于公开数据的反腐败调查分析平台,通过整合数据处理、图谱分析和异常检测等12个子项目,帮助调查人员发现政府支出、采购和政商网络中的可疑模式。
Stars: 0 | Forks: 0
# 👁️ Eye of Sauron
### 针对腐败、欺诈和有组织犯罪的公共数据分析平台
这是一个由数据驱动的调查项目生态系统——灵感来源于 Palantir 模型,但建立在**公共数据、道德、透明度和人工审查**的基础之上。




## 🎯 愿景
**Eye of Sauron** 是一座公民监控塔:每个项目都是一只紧盯公共数据源(政府采购、CNPJ、政治捐款、制裁、离岸泄密等)的“眼睛”。单独来看,每只眼睛只能看到一部分。但结合起来,它们就能拼凑出调查的全貌——将来自不同数据箱的碎片连接起来。
该项目背后的职业目标是:从“会使用工具的分析师”转型为“可审计调查系统的构建者”。
### 核心类比
可以将调查想象成用不同数据箱(公共采购、CNPJ、捐款、制裁、新闻、文件和地图)中的碎片来拼凑一个拼图。这里的工作是:
1. **整理桌面**(整合和清理数据)
2. **连接相同的碎片**(实体解析)
3. **绘制关系**(图)
4. **指出异常之处**(异常检测)
5. 让**人类来做决定**——不把“风险信号”与“证据”混为一谈。
## 🧭 道德原则(不可妥协)
该平台的存在是为了**保护社会**,而不是为了指控个人。每个项目都遵循此检查清单:
- ✅ 仅使用**合法的公共数据**。
- ✅ **脱敏处理** CPF、电话、个人住址和受害者数据。
- ✅ 始终区分**假设**与**结论**。
- ✅ 避免使用指控性语言——“有关联并不意味着违规”。
- ✅ 在每次交付中记录**局限性和潜在的偏差**。
- ✅ 保留转换记录和数据分析决策的 **日志**。
- ✅ 拥有“*我不知道*的心理按钮”:如果证据不足,报告必须如实说明。
这里会严肃对待对监控系统的合理批评(偏差、缺乏透明度、自动惩罚)——请参阅 [`docs/ETHICS.md`](docs/ETHICS.md)。
## 🗂️ 12 个项目
每个项目都位于 `projects/` 目录中,拥有自己的 README、可复现的 pipeline、notebook、dashboard 和道德规范部分。状态:🔵 计划中 · 🟡 进行中 · 🟢 已完成。
| # | 项目 | 功能 | 关键技术 | 状态 |
|---|---------|-----------|----------------|--------|
| 01 | [异常支出雷达](projects/01-radar-gastos-atipicos) | 检测公共支出和付款中的异常数值 | pandas, IQR, z-score, 时间序列 | 🔵 |
| 02 | [溢价检测器](projects/02-detector-sobrepreco) | 标记远高于历史价格的采购 | CATMAT 标准化, IsolationForest | 🔵 |
| 03 | [供应商与制裁图谱](projects/03-grafo-fornecedores-sancoes) | 连接供应商、CNPJ、合伙人、制裁和合同 | entity resolution, Neo4j, 中心性 | 🔵 |
| 04 | [选举捐款 × 供应商](projects/04-doacoes-fornecedores) | 交叉比对竞选捐赠者与公共供应商 | 图, 事前/事后分析 | 🔵 |
| 05 | [议会修正案地图](projects/05-mapa-emendas) | 绘制修正案、受惠方及各市集中度 | GeoPandas, 分级统计图 | 🔵 |
| 06 | [受罚企业监控](projects/06-monitor-empresas-punidas) | “该公司在合同签订日是否处于受罚状态?” | CNPJ 匹配, 有效期时间线 | 🔵 |
| 07 | [OpenSanctions 筛查](projects/07-screening-opensanctions) | 将巴西实体与国际制裁/PEP(政治公众人物)名单进行比对 | fuzzy matching, 风险评分 | 🔵 |
| 08 | [离岸泄密图谱](projects/08-grafo-offshore-leaks) | 探索离岸实体及其与巴西的关联 | Neo4j, Cypher, 社区 | 🔵 |
| 09 | [最终受益人](projects/09-beneficiario-final) | 所有权结构与公司控制权 | BODS, 所有权图谱 | 🔵 |
| 10 | [合同与公告 NLP 分析](projects/10-nlp-contratos) | 从公共文件中提取实体和条款 | spaCy, Transformers, NER, embeddings | 🔵 |
| 11 | [mini-Foundry 门户](projects/11-portal-mini-foundry) | 通过简单的本体将所有内容集成到一个应用中 | FastAPI, Postgres, Neo4j, Streamlit | 🔵 |
| 12 | [调查 RAG Agent](projects/12-agente-rag) | 以证据回答公共数据问题的助手 | RAG, embeddings, 护栏, 引用 | 🔵 |
## 🏛️ 模型(受 Palantir 启发)
“Palantir 风格”的核心并不是什么神奇的代码库,而是一套规范。该平台使用开源工具模拟了每个部分:
| Palantir 概念 | 作用 | 这里的开源等效工具 |
|---|---|---|
| **Foundry** | 数据工厂和控制室 | pandas, Polars, DuckDB, Postgres, dbt |
| **Ontology** | 活字典:将数据表映射为现实世界的概念 | [`docs/ONTOLOGY.md`](docs/ONTOLOGY.md) 中的实体模型 |
| **Gotham** | 调查台(链接分析、时间线、地图) | NetworkX, Neo4j, GeoPandas, Streamlit |
| **AIP** | 置于轨道、权限和日志约束下的 AI 副驾驶 | RAG, agents, 护栏, evals |
| **Apollo** | 飞行中的飞机维护(持续交付) | Docker, CI/CD, 可观测性 |
路线图详情:[`docs/ROADMAP.md`](docs/ROADMAP.md)。
## 🗃️ 公共数据源
### 巴西
| 来源 | 有用的数据 |
|---|---|
| [透明门户](https://portaldatransparencia.gov.br/download-de-dados) | 支出、付款、受惠方、修正案、招标、合同、制裁、PEP |
| [透明门户 API](https://portaldatransparencia.gov.br/api-de-dados) | 通过 REST 获取合同、协议、招标、CEIS、CNEP |
| [TSE 开放数据](https://dadosabertos.tse.jus.br/) | 选举数据、财务报表、捐赠者 |
| [联邦国税局 — CNPJ](https://www.gov.br/receitafederal/dados) | 法人纳税人登记册 |
| [Compras.gov.br](https://www.gov.br/compras/pt-br/cidadao/portal-de-dados-abertos) | 招标、合同、供应商、价格 (CATMAT/CATSER) |
| [PNCP](https://www.gov.br/pncp/pt-br/acesso-a-informacao/dados-abertos) | 依据 14.133/2021 号法的采购 |
| [CGU 开放数据](https://www.gov.br/cgu/pt-br/acesso-a-informacao/dados-abertos) | 受罚企业、不合格企业、宽大协议 |
| [TCU 开放数据](https://sites.tcu.gov.br/dados-abertos/webservices-tcu/) | 判决、不合格投标者 |
### 国际
| 来源 | 有用的数据 |
|---|---|
| [ICIJ 离岸泄密](https://offshoreleaks.icij.org/pages/database) | 离岸实体 (巴拿马/天堂/潘多拉文件) |
| [OpenSanctions](https://www.opensanctions.org/docs/) | 通过 API / 批量下载的制裁与合规数据 |
| [Open Ownership](https://bods-data.openownership.org) | BODS 格式的最终受益人数据 |
| [OCDS](https://standard.open-contracting.org/latest/en/) | 公共采购数据标准 |
| [FATF/GAFI](https://www.fatf-gafi.org/en/publications/Fatfrecommendations/Fatf-recommendations.html) | AML/CFT 建议 |
| [UNODC](https://dataunodc.un.org/) | 毒品、凶杀、人口贩卖、腐败 |
## 🚀 如何开始
```
# 1. Clonar
git clone https://github.com/EddieDevLife/Eye-of-Sauron.git
cd Eye-of-Sauron
# 2. 共享 Python 环境
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
# 3. 进入一个项目
cd projects/01-radar-gastos-atipicos
# 遵循项目的 README
```
[`shared/`](shared) 文件夹包含各项目间可复用的代码(CNPJ 清理、API 客户端、图辅助工具)。各个项目都会导入它。
## 📁 仓库结构
```
Eye-of-Sauron/
├── README.md ← você está aqui
├── requirements.txt ← dependências compartilhadas
├── docs/
│ ├── ROADMAP.md ← roadmap completo de 12 meses
│ ├── ONTOLOGY.md ← o "dicionário vivo" das entidades
│ └── ETHICS.md ← princípios, críticas e governança
├── shared/ ← código reutilizável (limpeza, APIs, grafos)
│ └── src/
└── projects/
├── 01-radar-gastos-atipicos/
├── 02-detector-sobrepreco/
└── ... (12 projetos, cada um com README próprio)
```
## 🛤️ 12 个月计划(摘要)
| 时间 | 重点 | 交付物 |
|---|---|---|
| 第 1-2 个月 | 基础 + 第一个公开信号 | 项目 01 |
| 第 3-4 个月 | 公共采购与 CNPJ | 项目 02 和 03 (v1) |
| 第 5-6 个月 | 图与政经网络 | 项目 04 和 06 |
| 第 7-8 个月 | 异常、地理空间与地图 | 项目 05 + ML |
| 第 9-10 个月 | 国际、AML、最终受益人 | 项目 07, 08/09 |
| 第 11 个月 | NLP 与文档 | 项目 10 |
| 第 12 个月 | 毕业项目“mini-Foundry” | 项目 11 和 12 |
详情请参阅 [`docs/ROADMAP.md`](docs/ROADMAP.md)。
## 📜 许可证
[MIT](LICENSE) — 可自由使用,但需承担 [`docs/ETHICS.md`](docs/ETHICS.md) 中描述的道德责任。
*“瞄准月球,但要搭建阶梯。”*
Python → SQL → 公共数据 → ETL → 图 → 异常 → NLP → 地理空间 → 治理 → 产品。
标签:Kubernetes, Python, 代码示例, 公共数据, 反欺诈, 数据分析, 数据集成, 无后门, 特权检测, 系统调用监控, 请求拦截, 逆向工具