AllainDB/numint

GitHub: AllainDB/numint

NUMINT 是一款轻量级 OSINT 工具,通过离线解析与实时情报相结合的方式,帮助调查人员快速甄别可疑电话号码的归属地、线路类型和欺诈风险。

Stars: 0 | Forks: 0

# NUMINT — 电话号码情报 一款轻量级的 OSINT 工具,用于对可疑电话号码进行初步甄别。输入一个号码,即可获取其 归属地、线路类型、运营商、VOIP 状态以及基于信誉的欺诈信号——这种快速 检查有助于识别语音钓鱼、短信钓鱼和诈骗回拨号码。 ![NUMINT 截图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/cdf4bb0549223608.jpg) **在线演示:** 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, 反欺诈, 后端开发, 数据可视化, 电话号码查询, 程序员工具, 网络钓鱼防护, 逆向工具