Pyhroff/chrono-leak

GitHub: Pyhroff/chrono-leak

一款个人 OSINT 自我审计工具,通过分析公开数据中的活动时间、关联账户和泄露记录来量化个人数字足迹的暴露程度。

Stars: 0 | Forks: 0

# CHRONO-LEAK [![Python 3.8+](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Use: Educational](https://img.shields.io/badge/use-research%20%26%20education-red.svg)](#responsible-use) [![OSINT](https://img.shields.io/badge/OSINT-self--audit-00e5ff.svg)](#) 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, 多模态安全, 实时处理, 无后门, 社交媒体分析, 自我审计, 逆向工具