攻击面管理平台 (ASM) | 自动化资产发现与漏洞扫描系统
功能特性 • 资产搜索 • 快速开始 • 文档 • 反馈与贡献
关键词: ASM | 攻击面管理 | 漏洞扫描 | 资产发现 | 资产搜索 | Bug Bounty | 渗透测试 | Nuclei | 子域名枚举 | EASM
仅用于 UI 展示,未接入后端数据库
现代化 UI
- 技术文档 - 技术文档导航(持续完善中)
- 快速开始 - 一键安装和部署指南
- 版本管理 - Git Tag 驱动的自动化版本管理系统
- Nuclei 模板架构 - 模板仓库的存储与同步
- 字典文件架构 - 字典文件的存储与同步
- 扫描流程架构 - 完整扫描流程与工具编排
| 功能 | 状态 | 工具 | 说明 |
|---|---|---|---|
| 子域名扫描 | 已完成 | Subfinder, Amass, PureDNS | 被动收集 + 主动爆破,聚合 50+ 数据源 |
| 端口扫描 | 已完成 | Naabu | 自定义端口范围 |
| 站点发现 | 已完成 | HTTPX | HTTP 探测,自动获取标题、状态码、技术栈 |
| 指纹识别 | 已完成 | XingFinger | 2.7W+ 指纹规则,多源指纹库 |
| URL 收集 | 已完成 | Waymore, Katana | 历史数据 + 主动爬取 |
| 目录扫描 | 已完成 | FFUF | 高速爆破,智能字典 |
| 漏洞扫描 | 已完成 | Nuclei, Dalfox | 9000+ POC 模板,XSS 检测 |
| 站点截图 | 已完成 | Playwright | WebP 高压缩存储 |
| 功能 | 状态 | 说明 |
|---|---|---|
| 目标管理 | 已完成 | 多层级组织,支持域名/IP 目标 |
| 资产快照 | 已完成 | 扫描结果对比,追踪资产变化 |
| 黑名单过滤 | 已完成 | 全局 + Target 级,支持通配符/CIDR |
| 定时任务 | 已完成 | Cron 表达式,自动化周期扫描 |
| 分布式扫描 | 已完成 | 多 Worker 节点,负载感知调度 |
| 全局搜索 | 已完成 | 表达式语法,多字段组合查询 |
| 通知推送 | 已完成 | 企业微信、Telegram、Discord |
| API 密钥管理 | 已完成 | 可视化配置各数据源 API Key |
完整的扫描流程包括:子域名发现、端口扫描、站点发现、指纹识别、URL 收集、目录扫描、漏洞扫描等阶段
flowchart LR
START["开始扫描"]
subgraph STAGE1["阶段 1: 资产发现"]
direction TB
SUB["子域名发现<br/>subfinder, amass, puredns"]
PORT["端口扫描<br/>naabu"]
SITE["站点识别<br/>httpx"]
FINGER["指纹识别<br/>xingfinger"]
SUB --> PORT --> SITE --> FINGER
end
subgraph STAGE2["阶段 2: 深度分析"]
direction TB
URL["URL 收集<br/>waymore, katana"]
DIR["目录扫描<br/>ffuf"]
SCREENSHOT["站点截图<br/>playwright"]
end
subgraph STAGE3["阶段 3: 漏洞检测"]
VULN["漏洞扫描<br/>nuclei, dalfox"]
end
FINISH["扫描完成"]
START --> STAGE1
FINGER --> STAGE2
STAGE2 --> STAGE3
STAGE3 --> FINISH
style START fill:#34495e,stroke:#2c3e50,stroke-width:2px,color:#fff
style FINISH fill:#27ae60,stroke:#229954,stroke-width:2px,color:#fff
style STAGE1 fill:#3498db,stroke:#2980b9,stroke-width:2px,color:#fff
style STAGE2 fill:#9b59b6,stroke:#8e44ad,stroke-width:2px,color:#fff
style STAGE3 fill:#e67e22,stroke:#d35400,stroke-width:2px,color:#fff
style SUB fill:#5dade2,stroke:#3498db,stroke-width:1px,color:#fff
style PORT fill:#5dade2,stroke:#3498db,stroke-width:1px,color:#fff
style SITE fill:#5dade2,stroke:#3498db,stroke-width:1px,color:#fff
style FINGER fill:#5dade2,stroke:#3498db,stroke-width:1px,color:#fff
style URL fill:#bb8fce,stroke:#9b59b6,stroke-width:1px,color:#fff
style DIR fill:#bb8fce,stroke:#9b59b6,stroke-width:1px,color:#fff
style SCREENSHOT fill:#bb8fce,stroke:#9b59b6,stroke-width:1px,color:#fff
style VULN fill:#f0b27a,stroke:#e67e22,stroke-width:1px,color:#fff
详细说明请查看 扫描流程架构文档
- 多节点扫描 - 支持部署多个 Worker 节点,横向扩展扫描能力
- 本地节点 - 零配置,安装即自动注册本地 Docker Worker
- 远程节点 - SSH 一键部署远程 VPS 作为扫描节点
- 负载感知调度 - 实时感知节点负载,自动分发任务到最优节点
- 节点监控 - 实时心跳检测,CPU/内存/磁盘状态监控
- 断线重连 - 节点离线自动检测,恢复后自动重新接入
flowchart TB
subgraph MASTER["主服务器 (Master Server)"]
direction TB
REDIS["Redis 负载缓存"]
subgraph SCHEDULER["任务调度器 (Task Distributor)"]
direction TB
SUBMIT["接收扫描任务"]
SELECT["负载感知选择"]
DISPATCH["智能分发"]
SUBMIT --> SELECT
SELECT --> DISPATCH
end
REDIS -.负载数据.-> SELECT
end
subgraph WORKERS["Worker 节点集群"]
direction TB
W1["Worker 1 (本地)<br/>CPU: 45% | MEM: 60%"]
W2["Worker 2 (远程)<br/>CPU: 30% | MEM: 40%"]
W3["Worker N (远程)<br/>CPU: 90% | MEM: 85%"]
end
DISPATCH -->|任务分发| W1
DISPATCH -->|任务分发| W2
DISPATCH -->|高负载跳过| W3
W1 -.心跳上报.-> REDIS
W2 -.心跳上报.-> REDIS
W3 -.心跳上报.-> REDIS
- 多类型搜索 - 支持 Website 和 Endpoint 两种资产类型
- 表达式语法 - 支持
=(模糊)、==(精确)、!=(不等于)操作符 - 逻辑组合 - 支持
&&(AND) 和||(OR) 逻辑组合 - 多字段查询 - 支持 host、url、title、tech、status、body、header 字段
- CSV 导出 - 流式导出全部搜索结果,无数量限制
# 基础搜索
host="api" # host 包含 "api"
status=="200" # 状态码精确等于 200
tech="nginx" # 技术栈包含 nginx
# 组合搜索
host="api" && status=="200" # host 包含 api 且状态码为 200
tech="vue" || tech="react" # 技术栈包含 vue 或 react
# 复杂查询
host="admin" && tech="php" && status=="200"
url="/api/v1" && status!="404"- 数据统计 - 资产/漏洞统计仪表盘
- 实时通知 - WebSocket 消息推送
- 通知推送 - 实时企业微信,tg,discard消息推送服务
- 操作系统: Ubuntu 20.04+ / Debian 11+
- 系统架构: AMD64 (x86_64) / ARM64 (aarch64)
- 硬件: 2核 4G 内存起步,20GB+ 磁盘空间
# 克隆项目
git clone https://github.com/yyhuni/xingrin.git
cd xingrin
# 安装并启动(生产模式)
sudo ./install.sh
# 中国大陆用户推荐使用镜像加速(第三方加速服务可能会失效,不保证长期可用)
sudo ./install.sh --mirror--mirror 参数说明
- 自动配置 Docker 镜像加速(国内镜像源)
- 加速 Git 仓库克隆(Nuclei 模板等)
- Web 界面:
https://ip:8083 - 默认账号: admin / admin(首次登录后请修改密码)
# 启动服务
sudo ./start.sh
# 停止服务
sudo ./stop.sh
# 重启服务
sudo ./restart.sh
# 卸载
sudo ./uninstall.sh- 发现 Bug,有新想法,比如UI设计,功能设计等 欢迎点击右边链接进行提交建议 Issue 或者公众号私信
- 微信公众号: 塔罗安全学苑
- 微信群去公众号底下的菜单,有个交流群,点击就可以看到了,链接过期可以私信我拉你
| 指纹库 | 数量 |
|---|---|
| ehole.json | 21,977 |
| ARL.yaml | 9,264 |
| goby.json | 7,086 |
| FingerprintHub.json | 3,147 |
关注公众号回复「指纹」即可获取
如果这个项目对你有帮助,谢谢请我能喝杯蜜雪冰城,你的star和赞助是我免费更新的动力
重要:请在使用前仔细阅读
- 本工具仅供授权的安全测试和安全研究使用
- 使用者必须确保已获得目标系统的合法授权
- 严禁将本工具用于未经授权的渗透测试或攻击行为
- 未经授权扫描他人系统属于违法行为,可能面临法律责任
- 开发者不对任何滥用行为负责
使用本工具即表示您同意:
- 仅在合法授权范围内使用
- 遵守所在地区的法律法规
- 承担因滥用产生的一切后果
如果这个项目对你有帮助,请给一个 Star 支持一下!
本项目采用 GNU General Public License v3.0 许可证。
- 个人学习和研究
- 商业和非商业使用
- 修改和分发
- 专利使用
- 私人使用
- 开源义务:分发时必须提供源代码
- 相同许可:衍生作品必须使用相同许可证
- 版权声明:必须保留原始版权和许可证声明
- 责任免除:不提供任何担保
- 未经授权的渗透测试
- 任何违法行为