渊照 - 专业暗链扫描工具
项目链接:https://github.com/BINBIN02/YuanZhao
渊照 - 专业暗链扫描工具
「渊照」是一款功能强大的专业暗链扫描工具,专注于检测网站、HTML文件或目录中的隐蔽链接、隐藏元素和恶意代码。该工具能够智能识别扫描目标类型(本地文件/目录、内网URL、公网URL),并自动调整扫描策略以获得最佳效果,是安全人员进行网站安全审计和应急响应的理想工具。
功能特性
智能目标识别与处理
- 多类型目标支持:自动识别和扫描本地文件、本地目录、内网URL和公网URL
- 差异化扫描策略:根据目标类型应用最优扫描策略
- 递归目录扫描:支持可配置的扫描深度
- 文件过滤机制:支持通过通配符排除特定文件或目录
核心扫描能力
- 多层次检测机制:HTML代码检测、JavaScript代码分析、CSS代码检测、元标签扫描、注释内容分析
- 高级威胁识别:加密/编码链接检测、可疑域名检测、随机生成域名检测、短链接服务检测、非标准端口检测、可疑查询参数检测
- 特殊隐藏手法检测:CSS隐藏技术、颜色隐藏、零宽字符隐藏、字体大小隐藏等
- 关键字匹配系统:支持CSV格式自定义关键字文件,包含关键字、类别和风险权重
- 智能风险评分:基于多维度风险评估
无头浏览器增强检测
- 动态内容捕获:使用Chrome无头浏览器执行JavaScript并捕获动态内容
- DOM操作监控:跟踪动态DOM修改
- iframe深度分析:渲染和分析iframe内容
- 网络请求捕获:监控HTTP请求和重定向链
全面的报告系统
- 多种报告格式:文本报告(txt)、HTML报告(html)、JSON报告(json)、CSV报告(csv)
- 丰富的报告内容:扫描概览、问题详情、风险评估、上下文展示
- 来源类型标注:在可疑链接中增加
context_type字段(如html/js/css/comments),用于区分链接的来源场景,便于后续数据分析与过滤
灵活的配置选项
- 多种扫描模式:fast/standard/deep
- 性能优化选项:可配置并发线程数、请求超时设置、代理服务器支持
安装指南
环境要求
- Python 3.8+
安装依赖
1 | |
使用方法
查看帮助信息
1 | |
完整使用案例命令
1. 本地文件扫描场景
1 | |
2. 本地目录扫描场景
1 | |
3. 网络URL扫描场景
1 | |
4. 高级功能场景
1 | |
5. 特定场景优化命令
1 | |
自定义关键字文件格式
1 | |
类别可选值:gambling (博彩)、porn (色情)、malware (恶意软件)、phishing (钓鱼)、other (其他)
风险权重范围:1-10(10为最高风险)
主要参数说明
基本参数
target: 扫描目标(文件路径、目录路径或URL)- 必需参数-d, --depth: 递归扫描深度(默认:3,0表示仅扫描当前文件/目录)-m, --mode: 扫描模式(fast/standard/deep,默认:deep)-t, --threads: 并发线程数(默认:8)
报告相关参数
-o, --output: 报告输出目录(默认:./reports)-f, --format: 报告格式(txt/html/json/csv,默认:txt)
网络相关参数
--timeout: 请求超时时间(秒,默认:30)。公网目标默认使用此值,内网目标未显式设置internal_timeout时按较长超时(约为全局超时的两倍)。--proxy: 代理设置(支持带认证与不带认证的HTTP代理),示例:http://127.0.0.1:8080或http://user:pass@host:8080
高级参数
--keyword-file: 自定义关键字文件路径--exclude: 排除的文件或目录--verbose: 显示详细日志信息--no-color: 禁用彩色输出(适用于自动化脚本)
无头浏览器参数
--headless: 启用无头浏览器扫描--browser-type: 无头浏览器类型(支持: chrome,默认: chrome)--js-wait: JavaScript执行等待时间(秒,默认: 3)--headless-timeout: 无头浏览器超时时间(秒,默认: 60)--headless-binary: Chrome二进制路径(例如:C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe)--headless-driver: ChromeDriver路径(例如:C:\\drivers\\chromedriver.exe)
常见问题解答
Q: 扫描结果中的误报如何处理?
A: 可以通过创建自定义关键字文件调整特定关键词的风险权重来减少误报,或结合扫描模式选择更精确的扫描策略。
Q: 如何提高大型网站的扫描效率?
A: 增加线程数、设置合理的爬取深度,或先使用基础模式(fast)进行初步筛选。对于公网网站,建议控制扫描范围。
Q: 为什么有些动态生成的链接没被检测到?
A: 启用无头浏览器模式--headless并适当增加JavaScript执行等待时间--js-wait。
Q: 使用无头浏览器时需要注意什么?
A: 使用无头浏览器会增加资源消耗和时间,建议适当降低线程数,为复杂页面增加等待时间,仅在必要时启用。
项目结构
1 | |
许可证与免责声明
本工具仅供安全测试和应急响应使用,请确保您有足够的授权对目标进行扫描,避免对未经授权的系统进行测试。
开发者提示(工具接口)
- CSS工具正式接口:
extract_css_properties/remove_css_comments/extract_css_comments - 兼容别名(为支持历史导入):
extract_properties/remove_comments/extract_comments(建议迁移到正式接口,未来版本可能逐步移除)
开发者选项(日志与报告)
debug_log_wait_ms:调试读取日志的初始等待时间(毫秒),默认 1500debug_log_checks:日志稳定性检查次数,默认 3debug_log_interval_ms:每次稳定性检查的间隔(毫秒),默认 500- 提取统计日志级别:常规运行为
debug(匹配数与总提取数),在--verbose场景下查看更详细日志 - 报告来源字段:
context_type(html/js/css/comments)与source_tag(debug/normal)用于区分来源与路径
Star History

渊照 - 专业暗链扫描工具
https://www.305871230.xyz/posts/3560217949/