Gutem/abuse-ch-sdk
GitHub: Gutem/abuse-ch-sdk
abuse.ch 威胁情报平台的统一 JavaScript 客户端,封装 MalwareBazaar、URLhaus、ThreatFox 和 Feodo Tracker 四大数据源的查询接口并标准化 IOC 输出。
Stars: 1 | Forks: 0
# @gutem/abuse-ch
abuse.ch 威胁情报 API 客户端 — **MalwareBazaar**、**URLhaus**、**ThreatFox**、**Feodo Tracker**。
零依赖。原生 `fetch()`。支持 Bun、Node 18+、Deno 和浏览器。
## 安装
```
bun add @gutem/abuse-ch
npm install @gutem/abuse-ch
```
## 快速开始
```
import { searchByHash, lookupURL, feodoTrackerIPs } from '@gutem/abuse-ch'
// MalwareBazaar — look up a sample by hash
const info = await searchByHash('094fd325049b8a9cf6d3e5ef2a6d4cc...')
console.log(info.signature, info.tags)
// URLhaus — check a malicious URL
const urlInfo = await lookupURL('http://evil.com/payload.exe')
console.log(urlInfo.threat, urlInfo.url_status)
// Feodo Tracker — get C2 IP blocklist
const ips = await feodoTrackerIPs()
console.log(ips.length, 'botnet C2 IPs')
```
## 认证
在 [auth.abuse.ch](https://auth.abuse.ch/) 注册,然后:
```
export ABUSE_CH_KEY="your-api-key"
```
对于大多数读取操作,该密钥是可选的,但在调用 `downloadSample` 和查询 ThreatFox 时是必需的。
## API
### MalwareBazaar
| 函数 | 描述 |
|----------|-------------|
| `searchByHash(hash)` | 通过 SHA256/SHA1/MD5 查询文件元数据 |
| `downloadSample(sha256, outputDir?)` | 下载恶意软件样本(zip 格式,密码:“infected”) |
| `recentDetections({hours?, limit?})` | 最新标记的恶意软件 |
| `recentSamples(selector?)` | 所有近期添加的文件 |
| `searchByTag(tag, limit?)` | 通过标签搜索(例如 “TrickBot”、“exe”) |
| `searchBySignature(sig, limit?)` | 通过恶意软件家族搜索(例如 “Emotet”) |
| `searchByFileType(ext, limit?)` | 通过文件类型搜索(例如 “exe”、“elf”) |
| `searchByClamAV(sig, limit?)` | 通过 ClamAV 签名搜索 |
| `searchByImphash(hash, limit?)` | 通过 PE 导入哈希搜索 |
| `searchByTLSH(hash, limit?)` | 通过 TLSH 搜索 |
| `searchByYARA(rule, limit?)` | 通过 YARA 规则名称搜索 |
### URLhaus
| 函数 | 描述 |
|----------|-------------|
| `lookupURL(url)` | 检查 URL |
| `lookupHost(host)` | 检查主机/域名 |
| `recentURLs(limit?)` | 最新提交记录 |
| `downloadPayload(sha256, outputDir?)` | 下载恶意软件 Payload |
| `urlhausByTag(tag, limit?)` | 通过标签搜索 URL |
| `urlhausBySignature(sig, limit?)` | 通过恶意软件家族搜索 URL |
### ThreatFox
| 函数 | 描述 |
|----------|-------------|
| `searchIOC(query, type?)` | 搜索 IOC(IP、域名、URL、哈希) |
| `recentIOCs(days?)` | 近期共享的 IOC |
| `threatFoxByTag(malware, limit?)` | 通过恶意软件家族搜索 |
### Feodo Tracker
| 函数 | 描述 |
|----------|-------------|
| `feodoTrackerIPs()` | 推荐的 C2 IP 黑名单 |
| `feodoFetchIOCs()` | 标准化的 IOC 数组 |
### 标准化的 IOC
| 函数 | 描述 |
|----------|-------------|
| `urlhausFetchIOCs()` | URLhaus → `{type, value, label}[]` |
| `bazaarFetchIOCs()` | MalwareBazaar → `{type, value, label}[]` |
| `threatFoxFetchIOCs()` | ThreatFox → `{type, value, label}[]` |
## 许可证
MIT
标签:API客户端, DAST, MITM代理, TypeScript, 威胁情报, 安全SDK, 安全插件, 开发者工具, 恶意软件分析, 数据可视化, 网络安全, 自定义脚本, 隐私保护