这是一个使用 Google Gemini API 对网站的 JavaScript 文件进行安全分析的 Python 工具。它可以帮助开发者和安全研究人员快速识别 JS 代码中潜在的安全漏洞。
- URL 分析: 输入一个网站 URL,工具会自动提取页面中所有的 JavaScript 743D 件链接。
- 交互式选择: 在分析前,您可以从提取的 JS 文件列表中选择一个、多个或全部文件进行分析。
- 深度 AI 分析:
- 智能分块: 自动将大型 JS 文件分割成小块,以适应 API 的输入限制。
- 两阶段总结: 在对代码块进行初步分析后,会再次调用 AI 对所有分析结果进行最终总结,生成一份全面、连贯的报告。
- 精确定位: 最终报告会包含具体的代码片段和行号(如果可用),方便快速定位问题。
- 精美报告: 分析结果会自动生成为带有 CSS 样式的 HTML 页面,并保存在
reports/
目录下,同时自动在浏览器中打开。 - 高度可配置:
- 健壮的网络支持:
- 通过为 gRPC 设置
https_proxy
环境变量,实现了对 Gemini API 调用的可靠代理 - 自动忽略SSL证书验证问题,支持自签证书和过期证书的网站分析
- 解决了在各种复杂网络环境下的连接问题
- 通过为 gRPC 设置
- 完全自定义: 可以在
config.ini
中自定义 API 密钥、模型、代理、分块大小以及用于不同分析阶段的提示词。
- 健壮的网络支持:
.
├── .gitignore # Git 忽略文件,保护敏感信息和生成的文件
├── config.ini # 您的个人配置文件 (需要自行创建或从 example 复制)
├── config.ini.example # 配置文件模板
├── main.py # 主程序脚本
├── README.md # 项目说明文件
└── requirements.txt # Python 依赖库
-
克隆仓库:
git clone https://github.com/Xc1Ym/js_analysis cd js_analysis
-
安装依赖: 建议在 Python 虚拟环境中进行安装。
pip install -r requirements.txt
-
创建配置文件: 复制
config.ini.example
文件并将其重命名为config.ini
。cp config.ini.example config.ini
-
编辑配置文件: 打开
config.ini
文件,并填入您的个人信息:api_key
: 您的 Google Gemini API 密钥。[Proxy]
: 如果您需要通过代理访问 Gemini API,请配置type
,host
, 和port
。如果不需要,请将type
留空。
在项目根目录下运行以下命令:
python main.py
程序将提示您输入要分析的网站 URL。之后,按照屏幕上的指示选择要分析的 JS 文件即可。分析完成后,HTML 报告会自动在您的默认浏览器中打开。
-
[Gemini]
api_key
: (必需) 你的 Gemini API 密钥。model
: 使用的 Gemini 模型,推荐gemini-1.5-flash
。max_chunk_size
: 发送给 API 的单个代码块的最大字符数。
-
[Proxy]
type
: 代理类型, "http"。如果不需要代理,请将此项留空或删除此项。host
: 代理服务器地址。(不使用代理时可留空)port
: 代理服务器端口。(不使用代理时可留空)
不使用代理(直连):
[Proxy]
type =
host =
port =
或者直接将 type
项留空:
[Proxy]
type =
使用HTTP代理:
[Proxy]
type = http
host = 127.0.0.1
port = 7890
- [Prompt]
custom_prompt
: 用于分析第一个(或唯一一个)代码块的提示词。chunk_prompt
: 用于分析后续代码块的提示词。summary_prompt
: 用于对所有分块分析结果进行最终总结的提示词。