AllainDB/numint
GitHub: AllainDB/numint
NUMINT 是一款轻量级 OSINT 工具,通过离线解析与实时情报相结合的方式,帮助调查人员快速甄别可疑电话号码的归属地、线路类型和欺诈风险。
Stars: 0 | Forks: 0
# NUMINT — 电话号码情报
一款轻量级的 OSINT 工具,用于对可疑电话号码进行初步甄别。输入一个号码,即可获取其
归属地、线路类型、运营商、VOIP 状态以及基于信誉的欺诈信号——这种快速
检查有助于识别语音钓鱼、短信钓鱼和诈骗回拨号码。

**在线演示:** https://allainborno.tech/numint
## 动机
诈骗和网络钓鱼操作通常依赖于一次性的 VOIP 号码和曾被滥用过的线路。对号码进行快速、
客观的分析——了解其归属地、是否为 VOIP,以及是否有欺诈
历史——可以加快甄别速度。NUMINT 仅提取合法的、公开的数据,并刻意避免
夸大其分析结果。
## 功能
- 号码验证、格式化及归属地(国家 + 美国区号对应城市)
- 线路类型检测:手机 / 固话 / VOIP / 免费电话
- 实时运营商查询和 VOIP / 一次性号码检测
- 基于信誉的欺诈评分(0-100),带有近期滥用和垃圾电话发送者标记
- 风险判定 - **低 / 中 / 高** - 在没有实时数据时如实显示 **未知**
- 用于手动 OSINT 后续跟进的足迹搜索链接
- 宽容的输入解析(`3055551234`、`305-555-1234`、`+13055551234` 等)
## 工作原理
分为两层:
- **离线引擎** - `libphonenumber` 解析并验证号码,无需外部调用即可解析区号
归属地。
- **实时情报** - Cloudflare Worker 代理 IPQualityScore API 以获取运营商、
VOIP 和欺诈数据。
判定结果特意保持保守。在没有实时信誉数据的情况下,看似正常的号码
会显示为 **未知**,而不是虚假的“安全”。有了实时数据后,欺诈评分和信誉标记
将驱动真实的 低 / 中 / 高 判定。
## 安全与设计
- **API 密钥永远不会暴露。** IPQS 密钥仅作为 Cloudflare Worker 密钥存在 - 绝不会出现在
前端或代码仓库中。浏览器调用 Worker;由 Worker 调用 IPQS。
- **CORS 作用域限制。** Worker 仅响应来自项目自身域名的请求。
- **仅限公开数据。** 不抓取泄露的数据转储或人物搜索 PII 经纪商的数据。
- **诚实的信号。** 诈骗评分是一种用于提高警惕的启发式方法 - 它绝不声称是确凿证据。
## 技术栈
原生 JavaScript、`libphonenumber-js`、Cloudflare Workers、IPQualityScore API。
Python CLI 版本使用 `phonenumbers` 库。
## 文件
| 文件 | 用途 |
|------|---------|
| `numint.html` | Web 应用 - 纯静态,可托管于任何地方 |
| `numint-worker.js` | Cloudflare Worker - 将 `IPQS_KEY` 设置为 secret,并将 Worker URL 粘贴到 `numint.html` 中 |
| `phone_osint.py` | 命令行版本 |
| `requirements.txt` | CLI 的 Python 依赖项 |
| `numint.jpg` | 上方使用的截图 |
## 设置 (CLI)
```
pip install -r requirements.txt
python3 phone_osint.py "3055551234" --region US
```
## 路线图
- 在 Worker 上进行速率限制(基于 IP 的节流),以防止公共 endpoint 被滥用并保护 API 额度
- 批量查询以检查号码列表
- 其他信誉数据源
## 负责任地使用
此工具用于对您有正当理由检查的号码进行甄别和研究。信誉数据是
概率性的 - 请将评分视为线索,而非最终定论。
标签:ESC4, OSINT, 反欺诈, 后端开发, 数据可视化, 电话号码查询, 程序员工具, 网络钓鱼防护, 逆向工具