Giuseppe552/trace
GitHub: Giuseppe552/trace
基于信息熵与证据融合理论的归属调查工具,从多源公开数据量化目标匿名性并生成带法律引用的取证报告。
Stars: 0 | Forks: 0
# 追踪
归属调查工具。给定目标域名、电子邮件或一组评论,从公共数据源收集信号,并量化目标保留了多少匿名性。
数学方法源自已发表的论文。每个可靠性参数都注明了其来源的研究。每份取证报告都引用了其适用的法律。该工具不会做出无法用数据支持的主张。
421 项测试。核心部分零运行时依赖。
## 它的功能
从 8 个以上的来源收集公开数据,将信号输入数学归属引擎,并生成带有证据链的取证报告。
报告包括:以比特为单位的匿名性减少(Shannon 熵)、带有冲突检测的证据融合、跨平台身份关联(Fellegi-Sunter)、协同时间分析(KS 检验)、作者身份比对(风格计量特征)以及用于证据完整性的 SHA-256 哈希链。
每份报告都引用了适用的英国法律,并说明了每个模块的错误率。
## 架构
```
packages/
core/ zero dependencies, 260 tests
entropy/ Shannon entropy, anonymity set quantification
fusion/ Dempster-Shafer evidence combination
linkage/ Fellegi-Sunter record linkage, Jaro-Winkler
graph/ spectral clustering, Fiedler vector, DOT export
timing/ Kolmogorov-Smirnov test, coordination detection
stylometry/ Writeprints features, AI text detection
evidence/ SHA-256 chain, dual-source verification, RFC 3161
legal/ UK legal framework (12 statutes cited)
benchmark/ error rate measurement, KS power tables
collectors/ data source integrations, 151 tests
ct/ crt.sh — 14B+ certificates
dns/ all record types, domain age estimation
whois/ RDAP (RFC 9082), raw WHOIS fallback, reverse, history
email/ RFC 5322 header forensics
headers/ platform fingerprinting, tracking ID extraction
ip/ geolocation, ASN, VPN detection
reviews/ suspicion heuristics, profile OSINT, behavioral comparison
social/ username enumeration across 14 platforms
brand/ typosquat detection, backlink toxicity
correlation/ cross-domain analysis, frequency-weighted
monitor/ continuous DNS/CT change detection
archive/ Wayback Machine evidence preservation
evidence/ page capture with SHA-256
apps/
cli/ command-line interface
```
## 用法
```
# 调查域名
npx tsx apps/cli/src/main.ts domain example.com
# deep mode — 链接 reverse WHOIS、IP geo、cross-domain correlation
npx tsx apps/cli/src/main.ts domain example.com --deep
# 比较写作风格
npx tsx apps/cli/src/main.ts compare sample-a.txt sample-b.txt
# 检测协同评论时间
npx tsx apps/cli/src/main.ts timing timestamps.json
# 检查文本是否由 AI 生成
npx tsx apps/cli/src/main.ts ai review.txt
# 分析评论中的可疑模式
npx tsx apps/cli/src/main.ts reviews reviews.json
# 完整评论攻击调查
npx tsx apps/cli/src/main.ts investigate-reviews attack-input.json
# cross-domain correlation
npx tsx apps/cli/src/main.ts correlate domain1.com domain2.com
# IP geolocation + ASN
npx tsx apps/cli/src/main.ts ip 1.2.3.4
# 监控域名的变化
npx tsx apps/cli/src/main.ts monitor example.com
```
## 输出示例
来自针对 `example.com` 的真实调查:
```
Starting population: 67.0M (26.0 bits).
Evidence reduced anonymity by 16.6 bits to 9.4 bits (effective set: 698).
Dempster-Shafer evidence fusion across 8 signals:
Belief: 0.339. Plausibility: 0.339. Conflict: 0.980.
Evidence chain: 4 entries, integrity verified (SHA-256).
```
该工具每次调查生成三个文件:
- `trace-evidence-*.json` — 机器可读的证据链
- `trace-report-*.md` — 带有法律引用的取证叙述
- `trace-graph-*.dot` — 归属图(使用 Graphviz 渲染)
## 数学方法
每种方法都引用了原始论文。
| 方法 | 应用 | 参考 |
|--------|------------|-----------|
| Shannon 熵 | 以比特为单位的匿名性量化 | Shannon (1948) |
| Dempster-Shafer 理论 | 带有冲突检测的证据融合 | Dempster (1967), Shafer (1976) |
| Fellegi-Sunter 模型 | 跨平台身份关联 | Fellegi & Sunter (1969) |
| Jaro-Winkler 相似度 | 近似字符串匹配 | Jaro (1989) |
| Kolmogorov-Smirnov 检验 | 协同时间检测 | Kolmogorov (1933) |
| Writeprints 特征 | 作者归属 | Abbasi & Chen (2008) |
| Yule's K | 词汇多样性测量 | Yule (1944) |
| Jensen-Shannon 散度 | 字符二元组比对 | Lin (1991) |
| 谱聚类 | 网络社区发现 | Fiedler (1973) |
| 归一化拉普拉斯 | 图划分 | Meiklejohn et al. (2013) |
## 校准
可靠性参数源自已发表的准确性研究,而非估算值。
| 来源 | 可靠性 | 引用 |
|--------|------------|----------|
| WHOIS(可见注册人) | 0.92 | ICANN ARS Phase 2 Cycle 6 (2018) |
| WHOIS(GDPR 编辑) | 0.10 | GDPR 实施后 73% 的 gTLD 域名被编辑 |
| 证书透明度 | 0.87 | Li et al. CCS 2019: ~93% 监控完整性 |
| 风格计量(200 字以上) | 0.75 | Abbasi & Chen 2008; arXiv 2507.00838 |
| 风格计量(<50 字) | 0.15 | 文献共识:不可靠 |
| IP 地理定位(国家) | 0.95 | MaxMind: 99.8% 国家准确性 |
| IP 地理定位(城市,美国/欧盟) | 0.60 | MaxMind: ~66% 在 50km 范围内 |
| 追踪 ID (GA/GTM) | 0.98 | 媒体资源 ID 每个账户唯一 |
| 共享 CDN 名称服务器 | 0.05 | 数百万个域名共享这些服务器 |
信息增益值是根据总体基础比率(3.785 亿个总域名,DNIB Q3 2025)计算的,而非硬编码。
## 法律框架
每份取证报告都引用了适用的法律。该工具在被动 OSINT 边界内运行。
**证据可采性:** Civil Evidence Act 1995, BS 10008:2020, Criminal Practice Direction 19A (2014)。
**调查合法性:** Computer Misuse Act 1990, Data Protection Act 2018, Berkeley Protocol (OHCHR, 2020)。
**针对虚假评论攻击的补救措施:** DMCC Act 2024 Schedule 20(禁止虚假评论,CMA 罚款高达全球营业额的 10%),Defamation Act 2013 s.5(用于身份披露的 Norwich Pharmacal 令),Protection from Harassment Act 1997。
## 它不做什么
- 风格计量模块尚未针对标记数据集进行基准测试。短文本的置信区间会变宽。低于 50 字时,结果不可靠。
- AI 文本检测器仅基于统计学(无神经模型)。GPTZero 等行业工具的准确率为 88-92%。该检测器的预期得分较低。它标记的是需要进一步调查的指标,而非定性结论。
- 评论怀疑启发式方法基于关键词,很容易被有能力的攻击者规避。它们能捕捉非复杂的攻击。
- 证据链证明完整性(数据在捕获后未被更改),但证明真实性(数据在捕获时是真实的)需要独立验证(双源 DNS,RFC 3161 时间戳)。
- IP 地理定位准确性因地区而异。城市级别在美国/欧盟的准确性约为 66%,在其他地方更低。VPN/代理检测的假阴性率未知。
- 证书透明度数据来自单一监控器。Li et al. 发现个别监控器缺失约 6.7% 的证书。
- ACPO 一致性检查仅为技术先决条件,而非完全合规性评估。
## 测试
```
cd packages/core && npx vitest run # 260 tests
cd packages/collectors && npx vitest run # 161 tests (151 unit + 10 integration)
```
## 许可证
MIT
标签:Dempster-Shafer, DNS分析, ESC4, Fellegi-Sunter, GitHub开源, MITM代理, OSINT, SSL证书, Whois查询, 作者归属, 匿名性分析, 合规调查, 图谱聚类, 威胁情报, 开发者工具, 归因调查, 数字取证, 数学建模, 数据融合, 文体计量学, 网络调查, 背景调查, 自动化攻击, 自动化脚本, 记录链接, 证据链, 足迹分析, 身份关联, 身份识别, 零依赖, 香农熵