MM-Manuel/StaticAnalyst
GitHub: MM-Manuel/StaticAnalyst
一款轻量级的 Windows 可执行文件静态分析工具,通过提取可疑网络连接和 DLL 加载信息并结合可扩展的行为签名库来评估文件潜在风险。
Stars: 2 | Forks: 0
# StaticAnalyst
**StaticAnalyst** 是一个旨在对可执行文件执行静态分析的 Python 脚本。它会提取潜在的恶意 URL、IP 地址和 DLL 加载,同时使用内置(但可扩展/自定义)的行为评估机制(`signatures.json`)来检测高风险的 Windows API、可疑命令以及已知的威胁组合(例如勒索软件、键盘记录器或进程注入)。此外,它还会计算文件的哈希值,以便自动与 VirusTotal 的数据库进行交叉比对。你可以通过 (`TestExeFile.dll`) 来测试检测功能,它应该会触发特定的标记和可疑行为指标(该文件只是一个扩展名为 dll 的纯文本文件,无法被执行)。
## 环境要求
要成功运行 StaticAnalyst,你需要:
* **操作系统:** Windows 10 或 11。
* **Python:** 系统中需安装 3.8 或更高版本(请确保在安装过程中勾选了 **"Add Python to PATH"**)。
* **Python 库:**
* `requests`(在使用 `.bat` 启动器时会自动检查并安装)。
## 运行方式
### 简单方式
双击运行 StaticAnalyst.bat,这个原生的 Windows 脚本会自动检查你的依赖项并运行 Python 脚本本身。
### 手动方式
1. 确保你的系统上已安装 **Python**。
2. 克隆此仓库或下载源代码:
git clone https://github.com/MM-Manuel/StaticAnalyst.git
cd StaticAnalyst
3. 安装所需的依赖项:
pip install requests
4. 运行脚本:
python main.py
## 什么是 VirusTotal API 以及如何获取 API Key?
### 什么是 VirusTotal API?
**VirusTotal** 是一项免费的在线服务,利用 70 多种防病毒引擎和域名阻止列表来分析文件和 URL 中的病毒、恶意软件和其他安全风险。
**VirusTotal API** 允许开发者以编程方式查询其庞大的威胁情报数据库。在此工具中,该 API 用于发送计算出的文件 SHA-256 哈希值,以检查它是否已被全球网络安全社区标记为恶意文件,而无需实际上传原始文件。
### 如何获取免费的 API Key(分步指南)
获取 VirusTotal API key 完全免费,只需不到 2 分钟:
1. **创建账户:**
访问 [VirusTotal.com](https://www.virustotal.com/) 并点击右上角的 **Sign Up** 注册一个免费账户。
2. **确认你的电子邮箱:**
检查你的收件箱并验证你的电子邮件地址以激活账户。
3. **查找你的 API Key:**
* 登录 VirusTotal。
* 点击右上角的**个人资料图标/用户名**。
* 从下拉菜单中选择 **API Key**。
4. **复制你的 Key:**
你会看到一长串字母数字字符串(例如 `65ea4c7c3d83j25k2...`)。复制此字符串——这就是你的个人 API key。
### 如何在此脚本中使用它
当你运行 `main.py` 时,脚本会在控制台中提示你:
```
If you want a VirusTotal filehash analysis paste your API key and press enter.
If not, leave empty and press enter.
> API Key:
```
## 致谢、限制与 VirusTotal API 使用说明
本项目集成了 **VirusTotal Public API**,用于交叉比对静态分析期间获得的哈希值 (SHA256)。使用此工具时,用户必须了解 VirusTotal 政策规定的以下条件和限制:
* **非商业用途:** 此脚本仅出于教育目的和个人研究而开发。严禁将 VirusTotal Public API 用于商业目的或集成到付费产品中。
* **速率限制:** Public API 施加了严格的技术限制。目前,它允许**每分钟最多 4 次请求**和**每天 500 次请求**。如果批量分析多个文件,脚本可能会出现暂时暂停或报错 (HTTP 429) 以遵守这些限制。
* **数据隐私:** 使用此脚本查询哈希值时,搜索信息将发送到 VirusTotal 的服务器。VirusTotal 会与此全球网络安全社区共享此遥测数据和分析结果。强烈建议不要使用此工具分析专有或机密软件,或包含个人身份信息的文件。
* **知识产权:** 此脚本通过网络显示的所有有关声誉、防病毒检测和判定的信息均归 VirusTotal 及其各自的合作伙伴扫描引擎所有。
有关更多信息,请参阅 [VirusTotal 服务条款](https://docs.virustotal.com/docs/terms-of-service)。
**除了可选的 VirusTotal API 集成之外,StaticAnalyst 的所有其他内容均可 100% 免费在任何地方使用、扩展和自定义,包括用于商业、盈利或企业环境。**
## 展示你的支持!
如果你觉得 **StaticAnalyst** 有用,请考虑在 GitHub 上给它点个 **Star**!这有助于提升项目的知名度,并激励进一步的开发。
如果你发现错误或有功能需求,欢迎提交 **Issue**!
标签:Ask搜索, HTTP工具, Python, VirusTotal, 云安全监控, 威胁情报, 开发者工具, 无后门, 逆向工具, 静态分析