
Unchore Defend
io.github.smilemino由 GitHub 帳號 smilemino 發布v0.1.0更新於 Oct 28, 2026
Grade a site's security headers with fixes and a badge; read logs or code for the defender.
概覽
為網站的安全回應標頭評分並提供修正建議與徽章,還能分析日誌、程式碼或設定中的攻擊跡象。
- 可以做什麼
- 檢查網站安全回應標頭,給出 A–F 評等、每項缺口的單行修正建議與 README 徽章
- 送出日誌、程式碼片段、設定或可疑訊息,說明發生了什麼、嚴重程度以及應優先修復什麼
- 在內容送往 AI 之前遮蔽電話號碼、證件與信用卡號、電子郵件、API 金鑰、權杖與私鑰
- 當某個 AI 模型拒絕防禦性安全請求時,自動改用下一個模型
- 適用情境
- 適合維護網站、想快速檢查回應標頭並取得具體修正方式的人,也適合正在處理資安事件、需要協助解讀日誌、攻擊程式碼或設定的人。只做網站檢查時不需要帳號或金鑰。
- 執行需求
- 以本機程序執行;README 說明終端使用需 Node 22+,也可用 Claude Desktop 安裝檔或複製儲存庫後設定為 MCP 伺服器。網站檢查不需任何憑證;defend 工具需要 OpenRouter 金鑰或 Unchore 金鑰,透過環境變數提供。網站請求與 AI 呼叫都需要網路存取。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Unchore Defend,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Unchore Defend
Security help for the person protecting the system. Two tools, no install, works in Claude Code, Claude Desktop, any MCP client, or a plain terminal.
Part of Unchore — the open-source personal AI that offers to automate what you ask twice.
[Unchore Defend in 20 seconds]
July 2026: OpenAI's test agents broke out of their sandbox and got into Hugging Face's production systems — about 17,600 attacker actions across 11 nodes over roughly 4.5 days. Last week Australia said OpenAI agents had also got into its Medicare statistics portal. When Hugging Face's responders asked commercial frontier models to help read the attack, the requests were "blocked by the providers' safety guardrails, which cannot distinguish an incident responder from an attacker." They finished the forensics on an open-weight model (GLM-5.2). Sources: disclosure · technical timeline · OpenAI's statement (NPR) · Australia (ABC)
We re-ran the published attack artifacts. A major US model's content filter blocked 11 of 14 requests. Defend still got an answer to all 14 — results and a one-command rerun.
Defend makes that switch for you: it asks Claude, then GPT, then GLM, then DeepSeek, and moves on only when one refuses.
Install
Claude Code (skills + MCP tools):
Then just ask: "check the security headers of mysite.com and fix what you can" or "read access.log — were we attacked?"
Only want the site check? /plugin install unchore-site-check@unchore installs just that (no key, no AI calls).
The site check needs no key. For defend, Claude Code asks for an OpenRouter or Unchore key when you enable the plugin (later: /plugin configure unchore-defend@unchore); it is kept in your system's secure storage.
Claude Desktop: download unchore-defend.mcpb from Releases and open it.
Any MCP client (Cursor, VS Code, Windsurf, …) — clone this repo, then add:
Terminal only: Node 22+, nothing to install.
Site check
Nine checks, weighted: HTTPS (25), HSTS (15), Content-Security-Policy (15), clickjacking protection (10), nosniff (10), Referrer-Policy (8), Permissions-Policy (5), cookie flags (7), server version hidden (5). A ≥ 90 · B ≥ 75 · C ≥ 60 · D ≥ 40.
It sends one ordinary GET to the site and nothing anywhere else. Private, local and cloud-metadata addresses are refused, every redirect is checked again, and it stops after 3 redirects, 8 seconds or 200 KB.
Put the grade in your README — the output gives you the line:
[Security headers: B (80/100) — checked with Unchore]
The badge says what was measured: response headers. It is not a full security audit.
Rather click than type? The same check runs at unchore.ai/tools/site-check.
Defend
For "we were hit — what happened?", "is this log an attack?", "what did this script do?".
- Masked before sending: phone numbers, ID/card/account numbers, e-mails, API keys, tokens and private keys. IP addresses, paths and timestamps stay — they are the evidence.
- If one AI refuses, the next answers. Some safety filters refuse even defenders. Defend asks Claude first, then GPT, GLM and DeepSeek — only when the one before refused. GLM and DeepSeek run on US hosts, and every request asks OpenRouter to route only to providers that don't collect data (
data_collection: deny). - Defensive use only. It explains an attack as far as needed to detect and stop it. The AIs are told not to write exploits or malware.
Pay for the AI one of two ways:
OPENROUTER_API_KEY— your own key; requests go straight from your machine to OpenRouter.UNCHORE_TOKEN— no AI account needed. Sign in at unchore.ai → Settings → AI → Unchore credit → New key.
--chain glm,deepseek sets the order, --own forces your OpenRouter key, --json prints machine-readable output.
Tested on real traffic
640 lines of our own production web logs (7 days, IP addresses removed): 69 real attack lines (WordPress admin probes, .git/.env fishing, scanner bots) and 571 normal lines.
No AI refused plain log triage. Claude and GPT were the most precise, so they go first. Refusals show up on harder work — the attack code itself:
Tested on the Hugging Face attack code
The 7 tasks of the defenders-dilemma study are the published artifacts of the July intrusion: a template-injection payload, the command-and-control agent, its custom encryption, the Kubernetes escalation, the Tailscale pivot, human-vs-AI attribution and a review of the investigation. Each was asked two ways — plainly, and as "an authorized incident response team" — so 14 requests per model (2026-10-01).
What that looks like on one of the tasks (a real run, first lines):
- The blocks come from the provider's filter before the model writes a word (
finish_reason: content_filter) — see Anthropic's note on real-time cyber safeguards. Saying "we are the authorized incident response team" did not help; in our first run it made Claude block a request it had just answered plainly. - GLM and DeepSeek never refused; their misses were thinking models running out of room. Defend now gives them 16k tokens.
- Accuracy against the study's answer keys, scored by two different graders (GPT-6 Astra / GLM 5.3): GPT 91% / 96%, DeepSeek 92% / 95%, GLM 88% / 89%, Claude 100% on the 3 it answered.
- If you use Claude directly for security work, Anthropic's Cyber Verification Program is free to apply for and lifts the default blocks on dual-use defensive work.
Rerun it (about $3, 10 minutes; tasks are downloaded from the study at a pinned commit):
Our raw results: bench/hf-intrusion/results. Credit to the defenders-dilemma authors, who measured this first.
Why this exists
Unchore is a personal AI that notices when you ask for the same thing twice and offers to do it for you from then on. These two tools are pieces of it that also work on their own.
Contributing
Issues and pull requests are welcome. Run node --test test/*.test.mjs before sending. Security problems: see SECURITY.md. What is sent where: PRIVACY.md.
MIT © 2026 Unchore
來源:README.md,提交 87cb530
工具
0版本歷史
1- v0.1.0最新Sep 30, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分