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

已驗證STDIO僅桌面知識與記憶安全與監控

概覽

AI 產生的概覽

以唯讀方式存取 HEARTH 社群威脅狩獵假設庫,讓助理搜尋狩獵方案並依攻擊者或日誌來源媒合。

可以做什麼
  • 依關鍵字搜尋狩獵方案,可依類別、戰術與資料來源篩選
  • 檢視單一狩獵方案全文:假設、重要性、備註、查詢語句與參考資料
  • 依攻擊者名稱、別名或 ATT&CK 群組 ID 尋找狩獵方案,含涵蓋範圍與缺口
  • 列出團隊以現有日誌來源可執行的狩獵方案,以及各自缺少什麼
適用情境
適合在規劃偵測或威脅狩獵工作時,查看社群針對某個攻擊者、技術或現有日誌已有哪些方案。也適合評估目前日誌來源能支援哪些狩獵。
執行需求
需要 Node.js 20 或更新版本,透過 npx 以 stdio 在本機執行。不需帳號、API 金鑰或宣告的環境變數。除非設定 HEARTH_OFFLINE=1,否則需要網路以進行每日資料變更檢查;另有選用的 HEARTH_DATA_URL 與 HEARTH_CACHE_DIR 設定。
安裝前請注意
狩獵文字由社群撰寫,應視為不可信內容;執行偵測查詢前請自行審閱。除非啟用離線模式,伺服器每天最多一次連線 hearth.thorcollective.com;自訂的 HEARTH_DATA_URL 鏡像必須使用 https。受限環境建議固定版本並驗證套件簽章。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 HEARTH,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

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

ToolWhat it does
search_huntsRanked keyword search, with filters for category, tactic and data sources.
get_huntOne hunt in full: hypothesis, why it matters, notes, queries and references.
hunts_for_actorHunts for a threat actor by name, alias or ATT&CK group ID. Includes coverage and gaps.
hunts_for_datasourcesHunts your team can run with the log sources it has, and what each one is missing.

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

sh
claude mcp add hearth -- npx -y @thorcollective/hearth-mcp

Claude Desktop

Add this to claude_desktop_config.json (Settings → Developer → Edit Config), then restart Claude Desktop:

json
{  "mcpServers": {    "hearth": {      "command": "npx",      "args": ["-y", "@thorcollective/hearth-mcp"]    }  }}

Cursor

Add this to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json for every project:

json
{  "mcpServers": {    "hearth": {      "command": "npx",      "args": ["-y", "@thorcollective/hearth-mcp"]    }  }}

VS Code

Add this to .vscode/mcp.json in your workspace:

json
{  "servers": {    "hearth": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@thorcollective/hearth-mcp"]    }  }}

Settings

Environment variableEffect
HEARTH_OFFLINE=1Never touch the network; serve the bundled snapshot or the last download.
HEARTH_DATA_URLFetch data from a mirror instead of https://hearth.thorcollective.com/. Must be https (http only for localhost).
HEARTH_CACHE_DIRWhere downloaded data is kept. Defaults to your platform's cache folder (~/Library/Caches/hearth-mcp on macOS).

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-mcp always fetches the latest release. Name an exact version instead, and nothing changes until you choose to upgrade.
  • Turn off the network. HEARTH_OFFLINE=1 stops 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_URL to an internal copy of the site's data files, which you update on your own schedule.
  • Verify the package. After installing, run npm audit signatures to check that the package was built from this repository by GitHub Actions.

For example, in Claude Desktop:

json
{  "mcpServers": {    "hearth": {      "command": "npx",      "args": ["-y", "@thorcollective/[email protected]"],      "env": { "HEARTH_OFFLINE": "1" }    }  }}

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 signatures after installing to check it.

Develop

From the repository root:

sh
npm ci && npm ci --prefix mcpnpm run build --prefix mcp      # bundle to mcp/dist and snapshot site data to mcp/datanpm test                        # unit, golden and stdio protocol testsclaude mcp add hearth-dev -- node "$PWD/mcp/dist/index.js"

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:

  1. Bump version in mcp/package.json, mcp/server.json and the pinned example under Locked-down setup in this README. A test fails if any of them differ.
  2. Merge to main.
  3. Push a tag named mcp-v<version>, for example mcp-v0.1.0.

The publish workflow then:

  1. Waits for approval in the npm-publish environment.
  2. Publishes to npm with provenance, using trusted publishing (no npm token is stored).
  3. Waits for npm to serve the new version, which can take several minutes.
  4. 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
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Nov 11, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Hearth 整合