Adam-ZS/credforge
GitHub: Adam-ZS/credforge
基于真实泄露统计模式生成完全合成凭证与PII数据的命令行工具,专为授权安全测试和模拟演练设计。
Stars: 4 | Forks: 3
# ⚡ CredForge — 逼真的凭证生成器
[](https://www.python.org/downloads/)
[](LICENSE)
[](credforge.py)
[](https://github.com/Adam-ZS/credForge/releases)
CredForge 用于生成逼真的 `email:password` 组合,这些组合符合真实数据泄露的统计模式。包含频率加权密码(真实的top-password长尾)、特定国家的邮箱域名、年龄加权出生年份,以及用于模拟演练的可选 PII/信用卡生成功能。**100% 合成数据 — 不包含任何来自真实泄露的数据。**
**使用场景:** 钓鱼模拟、红队凭证收集演示、数据库填充、工具测试、SOC 检测验证。
## 功能
| 功能 | 详情 |
|---------|---------|
| **9 个国家** | US, UK, 法国, 德国, 俄罗斯, 中东, 日本, 巴西, 印度 |
| **1,260+ 个姓名** | 每个地区具有文化准确性的名字 + 姓氏 |
| **泄露加权密码** | 真实的现实常用密码主导长尾部分;加权基数 + 20 种生成模式(leetspeak、季节、出生日期、键盘连击、特殊字符) |
| **特定国家域名** | 根据真实注册分布加权 — US/IN 以 gmail 为主,RU 以 mail.ru 为主,BR 以 bol.com.br 为主,DE 以 web.de 为主等。 |
| **PII(可选)** | 电话、完整地址、邮政编码、SSN(US)、安全问题及答案 |
| **信用卡(可选)** | 符合 Luhn 校验的格式(Visa/MC/Amex/Discover) — **并非真实卡片** |
| **6 种输出格式** | `email:pass` → `user:pass` → `email:pass:name` → 完整 PII → 完整 PII + CC → 仅密码字典 |
| **去重** | 默认开启 `--unique` — 无重复行 |
| **过滤** | 用于 password spraying/cracking 候选列表的 `--min-length` |
| **可复现** | 用于确定性输出的 `--seed` |
| **零依赖** | 仅使用 Python 3.6+ 标准库 |
## 快速开始
### 选项 1 — pip install
```
pip install credforge
credforge --count 5000 --format 1 --country br --output brazil_creds.txt
```
### 选项 2 — 从源码安装
```
git clone https://github.com/Adam-ZS/credforge
cd credforge
python3 credforge.py -n 5000 -f 1 -c br -o brazil_creds.txt
```
### 交互模式
不带参数运行以进入引导提示:
```
python3 credforge.py
```
```
Lines to generate [100]: 5000
Output format:
1) email:password
2) username:password
3) email:password:fullname
4) Full PII + SSN ⚠
5) Full PII + SSN + CC ⚠⚠
Format [1]: 1
Country (blank=worldwide) [all]: br
Output file [combolist.txt]: brazil_creds.txt
Generating 5000 credentials...
✔ Saved brazil_creds.txt (186,204 bytes)
```
## CLI 参考
| 标志 | 描述 | 默认值 |
|------|-------------|---------|
| `-n, --count` | 要生成的行数 | `100` |
| `-f, --format` | `1` email:pass · `2` user:pass · `3` email:pass:name · `4` PII+SSN · `5` PII+SSN+CC · `6` 仅密码 | `1` |
| `-c, --country` | 国家代码(`us`, `uk`, `fr`, `de`, `ru`, `ar`, `jp`, `br`, `in`) | 全球 |
| `-o, --output` | 输出文件路径 | `combolist.txt` |
| `--unique` / `--no-unique` | 对条目去重 | 开启 |
| `--min-length` | 最小密码长度(password spraying/cracking 列表) | `0` |
| `--seed` | 用于可复现输出的随机种子 | 随机 |
| `-q, --quiet` | 抑制示例输出 | 关闭 |
| `--version` | 显示版本号 | — |
## 示例输出
### 格式 1 — email:password
```
marina.silva89@gmail.com:Summer1987!
lucas.oliveira73@yahoo.com.br:P@ssw0rd1992
joao24@bol.com.br:Admin%2001@
```
### 格式 4 — 完整 PII + SSN
```
james.smith42@gmail.com:Winter1998!:James Smith:+1-305-472-8910:7423 Main St, Miami, FL 33101:492-81-7037
```
### 格式 5 — 完整 PII + SSN + CC
```
maria.garcia22@yahoo.com:Passw0rd1974:Maria Garcia:+1-818-739-2041:1529 Oak Ave, Los Angeles, CA 90012:618-53-2091:4532418573947267:08/28:342
```
## 输出格式详情
| 模式 | 字段 |
|------|--------|
| **1** | `email:password` |
| **2** | `username:password` |
| **3** | `email:password:full_name` |
| **4** | `email:password:full_name:phone:address:ssn` |
| **5** | `email:password:full_name:phone:address:ssn:cc_number:cc_expiry:cc_cvv` |
| **6** | `password`(每行一个 — 字典 / hashcat / password spraying) |
PII 格式(4–5)可能会追加 `Q:security_question A:answer`(30% 的概率)。
## 国家代码
| 代码 | 国家 | 包含的域名 |
|------|---------|-----------------|
| `us` | 美国 | gmail, yahoo, hotmail, aol, icloud |
| `uk` | 英国 | btinternet, virginmedia, sky, talktalk |
| `fr` | 法国 | orange, free, sfr, wanadoo, laposte |
| `de` | 德国 | t-online, web, gmx, freenet, 1und1 |
| `ru` | 俄罗斯 | mail, yandex, rambler, bk |
| `jp` | 日本 | yahoo.co.jp, docomo, ezweb, softbank |
| `br` | 巴西 | bol, uol, ig, globo, terra |
| `in` | 印度 | rediffmail, indiatimes, sify, yahoo.co.in |
| `ar` | 中东 | outlook.sa, yahoo, hotmail |
留空表示全球(加权分布)。
## 环境要求
- Python 3.6+
- 仅标准库 — 零依赖
## Wiki
请查看 [wiki](https://github.com/Adam-ZS/credforge/wiki) 了解使用场景、集成方案和常见问题。
## 免责声明
CredForge 生成的所有凭证均为**合成且随机生成的**。它们不对应任何真实的个人或账户。没有数据来源于真实的泄露事件。此工具仅供**授权的安全测试、模拟演练和教育目的使用。**
## 许可证
[MIT](LICENSE) — © 2026 Adam ZS
标签:Python, 凭据生成, 安全测试, 攻击性安全, 数据生成, 无后门, 逆向工具