JsOwl — JavaScript 信息收集与敏感信息扫描器

JsOwl 是一个使用 Go 编写的高性能 JavaScript 信息收集与安全分析工具,同时也是一个可复用的 Go 库。它自动收集目标站点的页面、JavaScript、Webpack/RequireJS chunk 与 SPA 运行时资源,通过正则与 AST(Tree-sitter)提取 API 端点、参数、路由和敏感信息(密钥、Token、身份证、内网 IP 等),并生成 JSON 与自包含的交互式 HTML 报告——是 Web 安全测试、渗透测试信息收集阶段和攻击面梳理的自动化利器。
免责声明:仅可用于已获得明确授权的安全测试环境。报告会保留完整敏感值,请严格限制访问并妥善清理。
核心能力
快速开始
需要 Go 1.25+ 与 C 编译器(JavaScript AST 使用 Tree-sitter,必须启用 CGO):
git clone https://github.com/youmulijiang/jsowl.git
cd jsowl
go build -o jsowl ./cmd/jsowl
扫描一个目标:
jsowl -u https://example.com # 基础扫描
jsowl -u https://example.com -m browser # 强制浏览器渲染模式
jsowl -u https://example.com --login # 手动登录后带会话扫描
jsowl --login # 不指定 URL:打开浏览器自行导航,登录后扫描当前页
jsowl -u https://example.com --aff # 开启运行时自动填表与交互
jsowl -l targets.txt -o reports # 批量目标 + 自定义输出目录
jsowl --check # 检查配置、规则与本地浏览器
扫描完成后在 jsowl-report/example.com/ 下生成 report.html(交互式总览入口)、report.json 与分项报告。
示例输出
https://example.com/ [18240] [200] [text/html; charset=utf-8]
[200] GET https://api.example.com/v2/user/info [runtime]
jsowl-report/
└── example.com/
├── report.html # 交互式总览 + 分项报告导航
├── report.json # 完整 JSON 结果
├── API报告.html / url.txt / 敏感信息.txt ...
└── js/ # 下载保存的脚本与 chunk
文档
生态
- HaE — 规则格式来源,直接复用其规则库文件
- Rod — 浏览器自动化
- Tree-sitter — JavaScript AST 解析
- 自动填表算法适配自 projectdiscovery/katana(MIT)