Pyhroff/chrono-leak
GitHub: Pyhroff/chrono-leak
一款个人 OSINT 自我审计工具,通过分析公开数据中的活动时间、关联账户和泄露记录来量化个人数字足迹的暴露程度。
Stars: 0 | Forks: 0
# CHRONO-LEAK
[](https://www.python.org/downloads/)
[](LICENSE)
[](#responsible-use)
[](#)
CHRONO-LEAK 专为**防御性自我评估**而构建:以陌生人的视角审视你自己的数字足迹,然后填补它发现的漏洞。
## 工作原理
给它一个 GitHub 用户名,启动器就会运行一个五阶段的 pipeline,将每个阶段的 HTML dashboard 保存到 `reports/`:
| # | 阶段 | 功能描述 |
|---|-------|--------------|
| 1 | **GitHub scraper** | 收集公开的活动时间戳(repos、commits、events)——仅限 metadata,绝不包含文件内容 |
| 2 | **时间分析器** | 查找每日的“死区”(睡眠窗口),并根据活动时间推断时区和行为习惯 |
| 3 | **身份扫描器** | 在 30 多个平台上进行自我验证的 username 搜索,然后从已确认的账户中提取真实姓名/个人简介/位置并进行关联 |
| 4 | **暴露评分器** | 将所有内容整合为 100 分制的单一暴露得分,分为五个类别 |
| 5 | **AI 分析师 (Grok)** | 撰写人类可读的取证威胁简报(如果没有 API key,则回退到离线模板) |
### 身份扫描器具有自我验证功能
简单的 username 检查器相信“HTTP 200 = 账户存在”,这会产生大量的误报(登录墙、SPA 壳、soft-404 页面)。在信任任何平台之前,CHRONO-LEAK 会使用随机的垃圾 username 对其进行探测;如果该平台声称该垃圾账户“存在”,则该平台会被标记为**不可靠**,其结果将被丢弃。留下来的仅仅是真正确认的账户。
### 暴露得分
五个类别,每个类别 20 分,融合成一个 `/100` 的得分:
`Identity · 时间 · 网络 · 位置 · 安全`
| 得分 | 风险等级 |
|-------|------------|
| 0–20 | 低 |
| 21–40 | 中等 |
| 41–60 | 高 |
| 61–80 | 严重 |
| 81–100| 极度危险 |
## 安装说明
```
# 1. Clone
git clone https://github.com/Pyhroff/chrono-leak
cd chrono-leak
# 2. 安装 dependencies
pip install -r requirements.txt
# 3. (可选) 添加你的 API keys
cp .env.example .env # then edit .env
# 4. 运行
python main.py
```
```
# 示例 — 分析 GitHub 的吉祥物账号
python main.py octocat
```
在任何浏览器中打开生成的 dashboards:
```
reports/_report.html # timezone + behavioral profile
reports/_identity_report.html # confirmed accounts + identity map
reports/_exposure.html # exposure score
reports/_brief.txt # forensic brief
```
### 配置
所有的 key 会优先从你的环境变量中读取,其次从 `.env` 中读取(参见 `.env.example`)。无需任何配置即可开始使用:
| 变量 | 使用者 | 未设置时的影响 |
|----------|---------|-----------------|
| `GROK_API_KEY` | AI 分析师 | 回退到离线模板简报 |
| `GITHUB_TOKEN` | GitHub scraper,身份扫描器 | GitHub API 限制在 60 次请求/小时(使用 token 则为 5000 次) |
| `HIBP_API_KEY` | 违规检查器(独立) | 跳过电子邮件违规检查(密码检查仍然有效) |
在 获取 Grok key(模型为 `grok-2-latest`,在 xAI 兼容 OpenAI 的 endpoint `https://api.x.ai/v1` 上提供服务)。GitHub token **不需要任何 scopes** —— 在 生成一个即可。
## 独立模块
CHRONO-LEAK 附带两个额外的模块,它们独立运行,而不是作为主 pipeline 的一部分:
```
python modules/breach_checker.py # check an email/password against HaveIBeenPwned
python modules/instagram_scraper.py # pull timing/location metadata from a public IG profile
```
违规检查器对密码使用 HIBP 的 **k-anonymity** 模型——只有 SHA-1 hash 的前五个字符会离开你的机器,因此密码本身永远不会被传输。
## 项目结构
```
chrono-leak/
├── main.py # launcher — runs the 5-stage pipeline
├── modules/
│ ├── env_config.py # shared env/.env key loader
│ ├── github_scraper.py # stage 1: public timestamp collection
│ ├── analyzer.py # stage 2: timezone + behavioral inference
│ ├── identity_scanner.py # stage 3: self-validating account search
│ ├── exposure_scorer.py # stage 4: /100 exposure score
│ ├── ai_analyst.py # stage 5: Grok forensic brief
│ ├── breach_checker.py # standalone: HIBP breach/password check
│ ├── instagram_scraper.py # standalone: public IG metadata
│ └── run_scan.py # dev helper for the identity scanner
├── .env.example
├── requirements.txt
└── reports/ # generated output (gitignored)
```
## 负责任的使用
CHRONO-LEAK 仅用于**研究和教育**,以及审计你自己的数字足迹。只能将其指向:
- **你自己**,或者
- 你**拥有**或获得**明确书面许可**进行评估的账户。
它仅读取已经公开的数据,并将结果存储在本地。它**不是**用于未经同意跟踪、骚扰或分析他人的工具——在你的司法管辖区,这样做可能是违法的。你对如何使用它负责。
## License
[MIT](LICENSE)
标签:ATT&CK, ESC4, OSINT, Python, 多模态安全, 实时处理, 无后门, 社交媒体分析, 自我审计, 逆向工具