malx-labs/malx-ioc-extractor
GitHub: malx-labs/malx-ioc-extractor
一款轻量级可扩展的静态 IOC 提取引擎,专为企业 SOC 自动化和 DFIR 工作流设计,无需沙箱即可安全快速地从 PE 文件和文本中提取失陷指标。
Stars: 1 | Forks: 1
# malx‑ioc‑extractor
**针对二进制文件、文本和工件的静态 IOC 提取 —— 快速、安全且开源。**
malx‑ioc‑extractor 是一个轻量级、可扩展的引擎,通过纯静态分析提取失陷指标。无需执行。无需沙箱。零风险。
专为 DFIR 工作流、SOC 自动化和大规模威胁分析而构建。
其设计旨在:
- **安全** — 绝不执行不受信任的代码
- **快速** — 专为自动化和流水线构建
- **可扩展** — 插入您自己的正则表达式、解析器和规则
- **开发者友好** — 简洁的 API、CLI 和示例
- **开源** — 提取引擎免费;富化功能位于 MalX 云平台中
该项目是 MalX Labs 生态系统的基础,用于构建可扩展、现代化的威胁分析工具。
## 功能特性
### IOC 提取
- Windows PE 文件 (.exe, .dll)
- 原始文本
- 从二进制文件中提取的字符串
- 缓存以提高性能
### 检测项
- URL
- 域名
- IPv4 / IPv6 地址
- 文件路径
- 哈希 (MD5 / SHA1 / SHA256 / SHA512 / 通用 Hex)
- 电子邮件地址
- Base64
### 静态 PE 解析
- 导入表
- 节区
- 资源
- 元数据
### 开发者友好
- 简洁的 JSON 输出
- CLI + Python API
- 模块化、可扩展的规则系统
- 极少的依赖占用
### 安全至上
- 零恶意软件执行
- 对不受信任的输入安全
- 确定性行为
### 为什么仅支持静态分析?
静态分析确保了安全性、确定性和对 CI 的友好。没有沙箱,没有执行,也没有触发恶意软件行为的风险。
## 快速入门
### 安装
```
pip install iocx
```
### 从文件提取 IOC
```
iocx suspicious.exe
```
### 从文本提取
```
echo "Visit http://bad.example.com" | iocx -
```
### Python API
```
from iocx import extract
results = extract("suspicious.exe")
print(results)
```
## 输出示例
```
{
"file": "suspicious.exe",
"type": "PE",
"iocs": {
"urls": ["http://malicious.example.com"],
"domains": ["malicious.example.com"],
"ips": ["45.77.12.34"],
"hashes": ["d41d8cd98f00b204e9800998ecf8427e"],
"emails": [],
"filepaths": [
"c:\\windows\\system32\\cmd.exe",
"d:\\temp\\payload.bin"
],
"base64": []
},
"metadata" : {
"file_type": "PE",
"imports": [
"KERNEL32.dll",
"msvcrt.dll"
],
"sections": [
".text",
".data",
".rdata",
".pdata",
".xdata",
".bss",
".idata",
".CRT",
".tls",
".reloc",
"/4",
"/19",
"/31",
"/45",
"/57",
"/70",
"/81",
"/97",
"/113"
],
"resource_strings": []
}
}
```
## 架构
```
malx-ioc-extractor/
│
├── examples/ # Sample files + generators
├── tests/ # Unit and integration tests
├── iocx
├── extractors/ # Regex-based IOC detectors
├── parsers/ # PE parsing, string extraction
├── validators/ # Normalisation + dedupe
├── cli/ # Command-line interface
```
该引擎特意设计为模块化,以便轻松扩展或替换组件。
## 扩展引擎
您可以添加自定义:
- 正则表达式检测器
- 文件解析器
- 标准化逻辑
### 注册自定义检测器
第二个参数是一个检测器函数(一个接收输入并返回提取值的可调用对象):
```
from iocx.detectors import register_detector
def extract(data):
# custom extraction logic here
return ["wallet123"]
register_detector("crypto_wallet", extract)
```
## 安全测试(无需恶意软件)
所有测试样本均为:
- 合成的
- 良性的
- 公开安全的 (EICAR, GTUBE)
- 旨在避免意外处理恶意软件
## 贡献
我们欢迎:
- 新的 IOC 检测器
- 解析器改进
- Bug 报告
- 文档更新
- 合成测试样本
请参阅 CONTRIBUTING.md 获取完整指南。
## 安全
如果您发现安全问题,请勿开启 GitHub issue。
请遵循 SECURITY.md 中的说明。
## 相关项目
- malx-core — 基础原语
- malx-utils — 共享工具
- malx-sandbox — 动态分析环境
- malx-forge — 对抗性载荷工具
- malx-archive — 研究 + PoC
## 许可证
根据 MIT 许可证授权。有关详细信息,请参阅 LICENSE。
标签:DAST, DNS 反向解析, DNS通配符暴力破解, IOC提取, IP 地址批量处理, PE文件分析, Python, SOC自动化, 二进制分析, 二进制发布, 云安全监控, 云安全运维, 云资产清单, 入侵指标, 威胁情报, 安全运营, 库, 应急响应, 开发者工具, 开源工具, 恶意软件分析, 扫描框架, 文本分析, 文档结构分析, 无后门, 网络信息收集, 网络安全, 自动提取, 逆向工具, 逆向工程, 配置审计, 隐私保护, 静态分析