
HEARTH
io.github.THORCollective由 GitHub 账号 THORCollective 发布v0.1.1更新于 Nov 11, 2026
Search community threat hunting hypotheses by keyword, threat actor, or the log sources you have.
发布方自己的服务:Hearth
概览
以只读方式访问 HEARTH 社区威胁狩猎假设库,让助手搜索狩猎方案并按攻击者或日志来源匹配。
- 可以做什么
- 按关键词搜索狩猎方案,可按类别、战术和数据来源筛选
- 查看单条狩猎方案全文:假设、意义、备注、查询语句和参考
- 按攻击者名称、别名或 ATT&CK 组织 ID 查找狩猎方案,含覆盖情况与缺口
- 列出团队凭现有日志来源可执行的狩猎方案,以及各自缺少什么
- 适用场景
- 适合在规划检测或威胁狩猎工作时,查看社区针对某个攻击者、技术或现有日志已有哪些方案。也适合评估当前日志来源能支撑哪些狩猎。
- 运行要求
- 需要 Node.js 20 或更高版本,通过 npx 以 stdio 在本地运行。无需账号、API 密钥或声明的环境变量。除非设置 HEARTH_OFFLINE=1,否则需要网络以进行每日数据变更检查;可选 HEARTH_DATA_URL 和 HEARTH_CACHE_DIR 设置。
安装
在 SourceWeft 中
- 打开 控制台中的 HEARTH,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
HEARTH MCP server
Ask your AI assistant what to hunt for. This MCP server gives Claude, Cursor, VS Code and other MCP clients read-only access to HEARTH, the community library of threat hunting hypotheses.
Questions you can ask:
- "What can I hunt for Volt Typhoon with firewall and appliance logs?"
- "Find hunts for macOS persistence."
- "We only have Windows endpoint and identity logs. Which hunts can we run fully?"
- "Show me H432."
Tools
Every tool is read-only. Retired hunts are hidden unless you ask for them.
Install
You need Node.js 20 or later. Each snippet runs the published package with npx.
Claude Code
Claude Desktop
Add this to claude_desktop_config.json (Settings → Developer → Edit Config), then restart Claude Desktop:
Cursor
Add this to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json for every project:
VS Code
Add this to .vscode/mcp.json in your workspace:
Settings
Set them in your client's config, for example "env": { "HEARTH_OFFLINE": "1" } next to "args".
Locked-down setup (enterprise)
For teams that review every change before it reaches analysts:
- Pin the version.
npx -y @thorcollective/hearth-mcpalways fetches the latest release. Name an exact version instead, and nothing changes until you choose to upgrade. - Turn off the network.
HEARTH_OFFLINE=1stops the daily check, so the server only uses the hunt data that shipped with the version you pinned. - Or use your own mirror. Set
HEARTH_DATA_URLto an internal copy of the site's data files, which you update on your own schedule. - Verify the package. After installing, run
npm audit signaturesto check that the package was built from this repository by GitHub Actions.
For example, in Claude Desktop:
Releases lists every version.
Other clients
Any MCP client that supports stdio servers can run the same command: npx -y @thorcollective/hearth-mcp.
Privacy and security
- No telemetry. The server sends nothing anywhere.
- One small network check a day. At most once every 24 hours the server asks hearth.thorcollective.com whether the hunt data has changed. It uses conditional requests, so usually nothing is downloaded. It sends only those requests and a
hearth-mcp/<version>user agent. - Works offline. If the site can't be reached, or sends data that fails validation, the server keeps using its last good copy, falling back to the snapshot bundled with each release.
- Hunt text is treated as untrusted. Hunts are written by the community:
- The server makes hidden and right-to-left characters visible, and removes hidden text.
- It caps field lengths.
- It labels every hunt text field as untrusted, so your assistant reads it as data, not instructions.
- New hunts are also checked for prompt-injection text in CI before they merge.
- Review detection queries before you run them, as you would any query from the internet.
- Verify the package: releases are published from GitHub Actions with npm provenance. Run
npm audit signaturesafter installing to check it.
Develop
From the repository root:
The server reuses the site's own logic from src/lib, so search behaves the same way in both.
Golden queries
mcp/golden/ holds real analyst questions and the hunts a good answer must include. Adding one is the most useful way to improve search. See golden/README.md.
Releasing
Maintainers only:
- Bump
versioninmcp/package.json,mcp/server.jsonand the pinned example under Locked-down setup in this README. A test fails if any of them differ. - Merge to
main. - Push a tag named
mcp-v<version>, for examplemcp-v0.1.0.
The publish workflow then:
- Waits for approval in the
npm-publishenvironment. - Publishes to npm with provenance, using trusted publishing (no npm token is stored).
- Waits for npm to serve the new version, which can take several minutes.
- Lists the release in the MCP Registry as
io.github.THORCollective/hearth.
If the run fails after the npm publish, use Re-run failed jobs. A version already on npm is never published twice, so the re-run picks up at the registry step.
来源:mcp/README.md,提交 b1fe49e
工具
0版本历史
1- v0.1.1最新Nov 11, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分