undeadlist/trust-scan

GitHub: undeadlist/trust-scan

一款免费的 URL 安全扫描器,通过多维度检查和威胁情报源帮助独立开发者在关联账户或分享密钥前判断站点是否可信。

Stars: 3 | Forks: 1

# Trust 扫描 [![由 UndeadList 构建](https://img.shields.io/badge/Built%20by-UndeadList-red?style=flat-square)](https://undeadlist.com) [![许可证: MIT](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](LICENSE) [![在线演示](https://img.shields.io/badge/Live-trustscanpro.com-green?style=flat-square)](https://trustscanpro.com) **这个应用正规吗?连接前请先检查。** Trust Scan 是一款专为独立开发者和 AI 构建者提供的免费 URL 安全扫描器。扫描任何 URL 以检测危险信号、验证域名,并在关联您的账户或分享 API 密钥前做出明智的决策。 由 [UndeadList.com](https://undeadlist.com) 构建 ![Trust Scan 主页](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/897d0d149e191159.png) ![带有 AI 分析的扫描结果](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/82515c3049191207.png) ## 功能特性 ### 安全检查 Trust Scan 会对每个 URL 执行 8 项全面的安全检查: | 检查项 | 描述 | |-------|-------------| | **WHOIS 分析** | 域名年龄、注册详情、注册商、隐私保护状态 | | **SSL 证书** | 有效性、颁发者、过期日期、剩余天数 | | **主机检测** | 服务商标识、免费套餐检测、CDN 检测 | | **内容分析** | 核心页面(隐私政策、服务条款、联系方式、文档、定价) | | **模式匹配** | 40 多种针对诈骗、网络钓鱼、加密货币欺诈和危险信号的模式 | | **GitHub 集成** | 代码库分析、Star、Fork、贡献者、活跃度 | | **Archive.org** | 历史快照、域名年龄验证 | | **威胁情报** | 多源恶意 URL 检测(见下文) | ### 威胁情报源 Trust Scan 查询多个威胁情报数据库: - **URLhaus** - abuse.ch 提供的恶意软件和网络钓鱼 URL 数据库 - **PhishTank** - 社区驱动的网络钓鱼 URL 验证 - **Spamhaus** - 用于域名信誉的 DNS 阻断名单查询 - **AbuseIPDB** - IP 信誉评分(每天 1,000 次免费查询) ### 危险信号检测 检测 40 多种可疑模式,包括: - 网络钓鱼指标(账号威胁、凭据窃取) - 加密货币诈骗模式(空投、抽水池、保本收益) - 虚假紧迫感策略(时间压力、终止威胁) - 在免费托管服务上的虚假企业声明 - 短期域名却声称获得融资/具备规模 - 危险的权限请求(数据库 URL、写入权限) - 克隆/冒充指标 - 带有图库照片的通用推荐语 ### AI 驱动分析 使用 Ollama 的可选服务器端 AI 分析: - 结合上下文的站点类型检测 - 整体风险评估 - 误报识别 - 可操作的建议 - 无需用户 API 密钥 ### 风险评分 基于信任信号和风险标志,评分范围为 0-100: | 分数 | 级别 | 含义 | |-------|-------|---------| | 0-25 | 低 | 看起来正规 | | 26-50 | 中 | 存在一些疑虑,需人工核实 | | 51-75 | 高 | 检测到多个危险信号 | | 76-100 | 极危险 | 存在强烈的诈骗迹象 | ## 快速开始 ### 前置条件 - Node.js 20.18+ 或 22.12+ - PostgreSQL 数据库 - (可选)用于 AI 分析的 Ollama 服务器 - (可选)用于缓存和速率限制的 Upstash Redis ### 安装 ``` # 克隆并安装 git clone https://github.com/undeadlist/trust-scan.git cd trust-scan npm install # 配置环境 cp .env.example .env # 使用你的设置编辑 .env # 设置数据库 npx prisma db push # 运行开发服务器 npm run dev ``` ### 环境变量 ``` # 必需 DATABASE_URL="postgresql://user:password@localhost:5432/trustscan" # 可选 - 增强 WHOIS 数据 API_NINJAS_KEY="" # 可选 - 更高的 GitHub API 速率限制 GITHUB_TOKEN="" # 可选 - AI 分析 (Ollama) OLLAMA_SERVER_URL="" OLLAMA_MODEL="qwen2.5:latest" # 可选 - 缓存与速率限制 (Upstash Redis) UPSTASH_REDIS_REST_URL="" UPSTASH_REDIS_REST_TOKEN="" # 可选 - 威胁情报 API PHISHTANK_KEY="" # PhishTank phishing detection ABUSEIPDB_KEY="" # IP reputation (1,000 free/day) URLHAUS_KEY="" # URLhaus malware database # 注意:Spamhaus DNS 查询无需 API 密钥即可使用 ``` ## 技术栈 - **框架**: Next.js 16 (App Router) - **语言**: TypeScript - **样式**: Tailwind CSS v4 - **数据库**: PostgreSQL + Prisma ORM - **缓存**: Upstash Redis - **AI**: Ollama(可选) - **HTML 解析**: Cheerio - **GitHub API**: Octokit ## 项目结构 ``` trust-scan/ ├── prisma/ │ └── schema.prisma # Database schema ├── src/ │ ├── app/ │ │ ├── api/ │ │ │ ├── scan/route.ts # Main scan endpoint │ │ │ ├── analyze/route.ts # AI analysis endpoint │ │ │ └── config/route.ts # Config endpoint │ │ ├── about/ │ │ ├── faq/ │ │ ├── how-it-works/ │ │ ├── best-practices/ │ │ ├── site-owners/ │ │ ├── privacy/ │ │ ├── terms/ │ │ ├── page.tsx # Home/Scanner │ │ └── layout.tsx │ ├── components/ │ │ ├── Scanner.tsx │ │ ├── Report.tsx │ │ ├── RiskBadge.tsx │ │ └── layout/ │ └── lib/ │ ├── checks/ │ │ ├── whois.ts │ │ ├── ssl.ts │ │ ├── hosting.ts │ │ ├── scraper.ts │ │ ├── patterns.ts # 40+ detection patterns │ │ ├── github.ts │ │ ├── archive.ts │ │ ├── urlhaus.ts # Threat intelligence │ │ ├── phishtank.ts # Phishing detection │ │ ├── spamhaus.ts # DNS blocklist │ │ ├── abuseipdb.ts # IP reputation │ │ ├── threat-cache.ts # Redis caching │ │ └── index.ts │ ├── scoring.ts # Risk calculation │ ├── ai.ts # AI prompt builder │ ├── trustscan.ts # Ollama integration │ ├── types.ts │ └── db.ts ``` ## 使用方法 1. 输入要扫描的 URL 2. 查看风险评分和检测到的危险信号 3. 查看由 AI 驱动的分析(如果已启用) 4. 在进行连接前检查详细的调查结果 ## 缓存与速率限制 - **扫描结果**: 在 PostgreSQL 中缓存 24 小时 - **威胁数据**: 在 Redis 中缓存(正常 1 小时,恶意 24 小时) - **速率限制**: 每个 IP 每分钟 10 次请求(通过 Upstash) ## 开发 ``` # 运行开发服务器 npm run dev # 生产环境构建 npm run build # 启动生产服务器 npm start # 运行 lint npm run lint # 类型检查 npx tsc --noEmit ``` ## Docker 部署 ### 使用 Docker 快速开始 ``` # 克隆仓库 git clone https://github.com/undeadlist/trust-scan.git cd trust-scan # 创建环境文件 cp .env.example .env # 使用你的配置编辑 .env # 使用 Docker Compose 构建并运行 docker compose up -d --build # 初始化数据库模式 (仅首次) docker compose exec trustscan npx prisma db push # 验证应用程序正在运行 curl http://localhost:3002/api/config ``` ### Docker Compose 服务 | 服务 | 描述 | 端口 | |---------|-------------|------| | `trustscan` | Next.js 主应用 | 3002:3000 | | `cloudflared` | Cloudflare 隧道(可选) | - | ### 常用 Docker 命令 ``` # 查看日志 docker compose logs -f trustscan # 重启应用程序 docker compose restart trustscan # 代码更改后重新构建 docker compose up -d --build trustscan # 停止所有服务 docker compose down # 检查容器健康状况 docker compose ps ``` ### 生产环境注意事项 - 确保限制 `.env` 文件的权限:`chmod 600 .env` - 使用云托管的 PostgreSQL(例如 Neon, Supabase)以保证可靠性 - 配置 Upstash Redis 用于速率限制 - 设置 Cloudflare 隧道以实现安全的公共访问,无需端口转发 ## 贡献 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 获取指南。 ## 安全 请参阅 [SECURITY.md](SECURITY.md) 以报告漏洞。 ## 路线图 这是 Trust Scan 的 **v1** 版本 - 一个面向社区的免费扫描器。UndeadList 团队正在积极开发新功能并改进检测模式。敬请期待。 ## 许可证 MIT - 详情请参阅 [LICENSE](LICENSE)。 由 [UndeadList](https://undeadlist.com) 构建 - 独立开发者的跳蚤市场。 **在线地址:** [trustscanpro.com](https://trustscanpro.com) *结果仅供参考。在连接任何服务前,请务必自行研究。*
标签:AbuseIPDB, AI安全, AI风险缓解, API密钥保护, Chat Copilot, GitHub集成, IP 地址批量处理, MIT开源协议, PhishTank, Spamhaus, SSL证书检查, URLhaus, URL安全扫描器, Web安全, WHOIS查询, 信任评估, 信誉评分, 协议探测, 反诈骗, 域名验证, 威胁分析, 威胁情报, 威胁情报, 安全合规, 安全监控, 开发者工具, 开发者工具, 开源安全工具, 恶意URL检测, 测试用例, 独立开发者, 红蓝对抗辅助, 网站安全, 网络代理, 网络安全, 自动化侦查工具, 自动化攻击, 蓝队分析, 请求拦截, 逆向工程平台, 钓鱼检测, 隐私保护, 黑名单检查