0xelitesystem/dredge
GitHub: 0xelitesystem/dredge
dredge 是一款 OSINT 调查工具包,通过对抗性关键词扩展和多源并行查询,帮助用户发现被搜索引擎压制、删除或深埋的公开记录与负面信息。
Stars: 0 | Forks: 0
## 标题:dredge
emoji: 🔎
colorFrom: gray
colorTo: indigo
sdk: gradio
sdk_version: 5.49.0
app_file: app.py
pinned: false
license: mit
short_description: 用于查找被搜索引擎掩盖内容的 OSINT 工具包。
# dredge
让被搜索引擎掩盖的内容浮出水面。
一款 OSINT 工具包,用于查找有关个人和组织的被压制的公开记录、已删除的内容以及被对抗性掩盖的搜索结果。
## 为什么需要
大多数尽职调查在 Google 的第一页搜索结果就停止了,而这正是名誉管理公司花钱想要达到的效果。负面报道被推到了第 5 页及以后。推文和帖子被删除。法庭记录则存放在无人查询的索引中。最响亮的付费信号通常会盖过真实的信号。
dredge 跨越那些能够抵御压制的来源并行运行对抗性查询:结合负向关键词扩展的深度搜索引擎分页、用于查找已删除内容的 Wayback Machine,以及用于查询诉讼历史的法庭记录 API。每个来源都是一个插件,目前已发布三个,未来计划推出更多。
## 试用
托管版本在 Hugging Face Spaces 上运行:**[huggingface.co/spaces/0xelitesystem/dredge](https://huggingface.co/spaces/0xelitesystem/dredge)**
请使用您自己的密钥。系统不会存储任何数据。若要获取完全控制权并无限制使用,请在本地运行,详情见下文。
## 模块
| 模块 | 来源 | 所需密钥 |
|---|---|---|
| `google_dork` | 通过 SerpAPI 访问 Google,带有对抗性关键词扩展 | `SERPAPI_KEY` |
| `wayback` | Internet Archive 快照 + 删除检测 | 无 |
| `courtlistener` | 美国联邦和州法院记录 | 无(token 可选) |
请查看 [路线图](#roadmap) 了解接下来的开发计划。
## 安装
```
git clone https://github.com/0xelitesystem/dredge.git
cd dredge
python -m venv .venv && source .venv/bin/activate
pip install -e .
cp .env.example .env # then fill in keys
```
需要 Python 3.10+。
## 使用
```
# 最基础
dredge investigate "Jane Doe"
# Person,包含 aliases 和 known-good domains(过滤掉他们自己的 PR)
dredge investigate "Jane Doe" \
--aliases "Janet Doe, J. Doe" \
--domains "janedoe.com,janedoeproductions.com"
# Company
dredge investigate "Acme Corp" --type company --domains acmecorp.com
# modules 子集
dredge investigate "Jane Doe" --modules wayback,courtlistener
# 保存报告
dredge investigate "Jane Doe" -o report.md --json findings.json
# 已安装的内容
dredge list-investigators
```
## 对抗性关键词扩展的工作原理
对 `"Jane Doe"` 的一次简单搜索会返回 Jane 的 LinkedIn、她的公司简介、她自己的播客露面。而 dredge 会生成如下查询:
```
"Jane Doe" (scam OR fraud OR sued OR lawsuit OR ripoff) -site:linkedin.com -site:janedoe.com
"Jane Doe" site:reddit.com
"Jane Doe" site:bbb.org
"Jane Doe" inurl:(complaint OR review OR scam OR fraud OR exposed)
```
这些查询通过可配置的关键词集群(欺诈、法律、名誉、财务、行为、加密货币)成倍增加,对投诉平台进行特定站点的扫描,并明确排除目标自身的域名。
这些集群位于 [`dredge/core/keywords.py`](dredge/core/keywords.py) 中。您可以根据具体调查对其进行调整,或者为特定行业添加新的集群。
## 架构
```
dredge/
├── core/
│ ├── investigator.py Base plugin class
│ ├── runner.py Async parallel orchestration
│ ├── keywords.py Adversarial query expansion
│ └── models.py Target, Finding, Result types
├── investigators/ One file per data source
│ ├── google_dork.py
│ ├── wayback.py
│ └── courtlistener.py
└── reporters/ Output formats
└── markdown.py
```
每个调查工具都会继承 `Investigator` 类,声明其所需的环境变量密钥、声明其支持的目标类型,并实现一个异步方法:
```
async def investigate(self, target: Target) -> list[Finding]: ...
```
运行器会解析哪些调查工具适用,并发运行它们,并汇总调查结果。某一个模块的失败绝不会中断整个运行过程。
## 添加模块
```
# dredge/investigators/my_source.py
from ..core.investigator import Investigator
from ..core.models import Target, Finding, SourceType
class MySourceInvestigator(Investigator):
name = "my_source"
description = "What this source covers."
requires_keys = ["MY_API_KEY"]
supports_types = ["person", "company"]
async def investigate(self, target: Target) -> list[Finding]:
# hit your source, return Findings
...
```
在 `dredge/cli.py` 的 `REGISTRY` 中注册该类。更新 `.env.example`。完成。
完整指南请参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 路线图
计划中的模块,按影响力排序:
- **reddit_deep**,通过 Pullpush 访问 Reddit,包括已删除的帖子和评论
- **sec_edgar**,SEC 文件和执法行动
- **ftc_actions**,FTC 消费者保护案件
- **finra_brokercheck**,证券行业纪律记录
- **state_ag**,州总检察长同意令
- **whois_history**,域名所有权历史 (SecurityTrails / WhoisXML)
- **etherscan**,已知钱包的链上活动
- **arkham**,钱包聚类和标签
- **youtube_transcripts**,由调查频道发布的、通过 Whisper 索引的报道
- **sherlock**,跨平台用户名扫描
- **tos_dr**,服务条款违规和投诉
想要编写一个模块?请参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 限制与道德规范
- dredge 仅检索和汇总公开可用的信息。它不会绕过身份验证、在付费墙后进行抓取,也不会伪造数据。
- 调查结果属于未经验证的原始证据。在投诉论坛上的搜索命中并不能证明任何事情。请阅读原始来源。
- 此工具可能会被滥用。请勿将其用于骚扰、人肉搜索或跟踪普通个人。这样做是错误的,而且在您所在地区可能也是违法的。
- 维护者不对本软件生成的任何具体调查结果提供担保。
## 更多
这里是一系列单文件浏览器工具和通俗易懂的参考资料的一部分,全部采用 MIT 许可协议且无依赖项:[0xelitesystem.github.io](https://0xelitesystem.github.io/)。由 [elitesystem.ai](https://elitesystem.ai) 构建。
## 许可证
MIT。可随意使用、复刻并在此基础上进行开发。感谢注明出处,但并非强制要求。
## 致谢
为多个计划模块提供指导的链上取证方法论,来源于 ZachXBT、SomaXBT、Hunter、Coffeezilla、Bellingcat 以及更广泛的 OSINT 社区的工作。
标签:ESC4, Gradio, OSINT, 信息搜集, 信誉管理, 网络调查, 计算机取证, 逆向工具