dragnet-dev/dragnet
GitHub: dragnet-dev/dragnet
一个开源威胁情报聚合引擎,自动轮询数十个情报源并将事件规范化后生成多平台可部署的 Sigma 检测规则、IOC 情报和 STIX 2.1 数据包。
Stars: 0 | Forks: 0
# dragnet
[](https://github.com/dragnet-dev/dragnet/actions/workflows/ci.yml)
[](https://github.com/dragnet-dev/dragnet/actions/workflows/build.yml)
[](LICENSE)
[](https://goreportcard.com/report/github.com/dragnet-dev/dragnet)
[](https://pkg.go.dev/github.com/dragnet-dev/dragnet)
[](https://github.com/dragnet-dev/dragnet/releases)
**[Dragnet](https://dragnet.dev) 背后的聚合引擎。** 轮询约 70 个威胁情报源,将事件去重整合为规范 schema,并为所有主流 SIEM 生成随时可部署的检测规则,以及 IOC feed 和 STIX 2.1 bundles。
输出结果每 6 小时通过 cron 定时提交至 [dragnet-dev/haul](https://github.com/dragnet-dev/haul),并供组织内的其他项目使用:
[port](https://github.com/dragnet-dev/port) (Web UI)、
[buoy](https://github.com/dragnet-dev/buoy) (用于 AI 编程代理的 MCP)、
[scope](https://github.com/dragnet-dev/scope) (VS Code 扩展) 和
[trawl](https://github.com/dragnet-dev/trawl) (GitHub Action)。
## 模块
| 模块 | 涵盖内容 |
|--------------|----------------------------------------------------------|
| `supply` | npm / PyPI / cargo / maven / nuget / rubygems / go / 等 |
| `malware` | Loader、RAT、信息窃取程序、Web Shell |
| `ransomware` | 活跃勒索活动、泄露网站、TTPs |
| `cve` | KEV 列表中及被利用的各供应商产品 CVE |
| `container` | 存在漏洞的基础镜像、EOL Linux 发行版、Trivy DB tier-2/3 |
## 子命令
```
dragnet validate --module all # validate incident YAMLs against the schema
dragnet sync --module supply # poll sources for that module
dragnet enrich --cross-domain # link actors / shared IOCs across modules
dragnet generate --module all --backends all --layers all
# emit Sigma rules, compiled SIEM dialects,
# IOC feeds, STIX 2.1, and incidents/index.json
dragnet update-popular # refresh the "popular packages" baseline
# (download counts, used to score impact)
```
典型的端到端运行流程为 `validate → sync → enrich → generate`。`dragnet-dev/haul/.github/workflows/sync.yml` 中的 cron 会以 6 小时为周期精确执行此流程。
## 来源(精选)
OSV · GHSA · NVD · CISA KEV · MSRC · OSSF malicious-packages · npm / PyPI /
cargo / maven registries · MITRE ATT&CK · Trivy DB · Hugging Face ·
AttackerKB · deps.dev · Snyk · VulnCheck · Docker Hub · ransomware.live ·
约 30 个供应商安全博客。
部分来源需要 API 密钥;请在环境变量中进行设置:
| 变量 | 来源 |
|------------------------|-------------------------|
| `GITHUB_TOKEN` | `actions/setup-go` 速率限制,GHSA,GitHub Actions SHA 监控 |
| `ATTACKERKB_API_KEY` | AttackerKB 扩展结果(可选;不设置时也可使用受速率限制的子集) |
## 后端
Sigma 规则被编译为:KQL/Sentinel · Splunk · Elastic · Wazuh ·
Chronicle · Suricata · Snort · CrowdStrike (LogScale + IOC) · QRadar ·
Datadog。请参见 `internal/backends/registry.go`。
## 输出结构
`dragnet generate` 会写入到工作目录中,并使用 [haul](https://github.com/dragnet-dev/haul) 所期望的布局:
```
{module}/
incidents/index.json # IncidentIndex consumed by port + buoy + scope + trawl
rules/sigma/ # Source Sigma rules
rules/{backend}/ # Compiled per-backend rules
feeds/ # IOC feeds (domains.txt, ips.txt, sha256.txt, unified.json, stix.json)
incidents/index.json # Cross-module RootIndex
```
JSON 的结构由 `internal/index/generator.go` 定义。下游消费者(特别是 `port/src/types.ts`)会对其进行镜像;CI 固件会将真实的 `index.json` 通过 TS 类型进行往返测试,以捕获任何不一致。
## 构建
```
go build ./...
go test ./...
go build -o dragnet . # the CLI binary (gitignored; `make` it locally or grab a release)
```
编译后的二进制文件**绝不提交**;发布构件由 `.github/workflows/build.yml` 在 `v*` 标签上生成 (linux/amd64, darwin/{amd64,arm64}, windows/amd64)。
## 配置
`dragnet.yaml.example` 是带有注释的模板。在本地开发运行时,请将其复制为 `dragnet.yaml`。`haul` 的同步工作流所使用的实时配置文件位于 [`dragnet-dev/haul/dragnet.yaml`](https://github.com/dragnet-dev/haul/blob/main/dragnet.yaml)。
`dragnet.yaml` 本身已被 gitignore;此仓库仅发布 `.example` 文件。
## 安全性
- 所有出站 HTTP 均使用对 SSRF 安全的传输方式,针对那些会跟踪任意上游 URL(博客 RSS 源)的来源:在 dialer 层拒绝私有/回环/链路本地目标;请求体大小上限为 5 MiB。请参见 `internal/sources/blogs/client.go`。
- IOC 规范化器(`internal/iocutil`)在生成的规则中包含任何指标之前,会将其与知名基础设施(Google DNS、RFC1918、供应商 Sinkhole 范围)的白名单进行比对,以防冲突。
- 无遥测,无远程崩溃报告,除了从环境变量中读取的各来源 API 密钥外,无任何身份验证。
发现安全问题?请发送邮件至 security@dragnet.dev。
## 仓库布局
```
cmd/ Cobra subcommands (sync, generate, validate, enrich, update-popular)
internal/
sources/ ~70 source-specific clients implementing sources.Source
backends/ ~11 SIEM backends implementing backends.Backend
sigma/ Sigma rule generator (canonical IOC normaliser)
iocutil/ Shared IOC cleaner (used by sources + sigma)
incident/ Canonical schema + YAML loader/merger
ioc/ IOC export formats (text, JSON, STIX)
index/ index.json generator (consumed by port/buoy/scope/trawl)
enrichment/ Cross-domain actor + shared-IOC linking
actor/ ATT&CK actor profile store
confidence/ Source-quality confidence scoring
container/ Container-specific tiering (Trivy + EOL + KEV)
popularity/ Package popularity + impact rating
state/ Incremental sync state
stix/ STIX 2.1 bundle builder
typosquat/ Typosquat candidate detection
deconflict/ IOC allowlists (private IPs, well-known domains)
schema/ JSON Schema for incidents (embed.go vendored at runtime)
```
## 许可证
MIT。详见 [LICENSE](./LICENSE)。
标签:AI编程助手, CISA项目, CVE追踪, DAST, DNS 反向解析, DNS 解析, EVTX分析, GitHub Action, Go语言, GPT, HTTP工具, IOC指标, IP 地址批量处理, KEV, MCP, RAT, Sigma规则, STIX 2.1, VS Code扩展, WebShell, 信息窃取器, 勒索软件监控, 包管理器监控, 威胁情报聚合, 安全数据规范化, 安全规则生成, 定时任务, 恶意软件分析, 数据去重, 无线安全, 日志审计, 漏洞管理, 目标导入, 程序破解, 网络信息收集, 网络威胁情报, 防御 evasion