cite-holmes
cite-holmes 引用验证工具存在多处文档-行为不符:声明纯标准库但 MCP 服务依赖第三方库;声明无 OS 集成但实际调用本地 ollama 和外部裁判端点;声明仅限学术数据库但存在未声明的网络交互。阴影功能占比较高但无恶意证据。
为什么得出这个结论
1/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 27 个一般风险产物,需要结合上下文判断。
没有形成明确的恶意路径。
依赖结构存在,但暂未看到明显高危告警。
风险分是怎么被拉高的
SKILL.md 未声明本地 ollama 调用、外部 judge 端点和 NLI 服务
SKILL.md 声称 pure stdlib,但 MCP server 依赖 fastmcp 第三方库
~/.cache/cite-holmes/ 持久化缓存在文档中未提及
所有网络交互均为学术验证相关,无凭证收割或数据外泄
最关键的证据
未声明的本地 ollama 调用
代码中存在 _embed_ollama 函数(scripts/verify_refs.py,约 line 2020),调用 http://127.0.0.1:11434/api/embed 用于本地嵌入向量计算,但 SKILL.md 未声明任何本地服务交互。
scripts/verify_refs.py:2028 未声明的外部 judge 端点调用
judge_claim_via_endpoint 函数支持调用外部 LLM 裁判服务(--judge-url 参数),可连接 OpenAI 兼容端点或 ollama 原生端点,但文档完全未提及此功能。
scripts/verify_refs.py:2120 未声明的外部 NLI 服务调用
nli_vote 函数调用外部 NLI 服务 (--nli-url),用于第三票聚合,但 SKILL.md 未声明此网络交互。
scripts/verify_refs.py:2075 第三方依赖未在 SKILL.md 声明
SKILL.md 声称 'pure standard library',但 mcp/server.py 实际依赖 fastmcp>=2.0 (见 mcp/pyproject.toml)。MCP server 功能为可选组件。
mcp/pyproject.toml:14 磁盘缓存路径未声明
v1.12 引入的持久化 SQLite 缓存存储在 ~/.cache/cite-holmes/,文档中 Security 章节未提及此持久化行为。
scripts/verify_refs.py:1998 fast-judge 预筛未声明
v3.5.0 的 fast-judge 预筛功能(--fast-judge-url)未在 SKILL.md 声明。
scripts/verify_refs.py:1968 声明能力 vs 实际能力
scripts/verify_refs.py:2970+ open()写入用户指定的输出文件;mcp/sync_engine.sh:6 使用 cp 命令 scripts/verify_refs.py:1952+ 调用本地 ollama (http://127.0.0.1:11434);judge_claim_via_endpoint 调用外部 judge_url mcp/sync_engine.sh 使用 bash,但仅用于发布链同步,非运行时行为 可疑产物与外联
https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills examples/demo_refs.json:2
https://www.nature.com/articles/d41586-026-00969-z examples/demo_refs.json:4
https://skills.sh examples/demo_refs.json:5
https://www.firecrawl.dev/blog/best-claude-code-skills examples/demo_refs.json:6
https://www.anthropic.com/engineering/agent-skills-adoption-survey-2026 examples/demo_refs.json:8
https://doi.org/10.1038/nature12373 examples/end-to-end/exports/report.csv:2
https://doi.org/10.1038/nature12373. examples/end-to-end/exports/report_GB-T7714.txt:1
https://skillhub.cn/skills/indiv-sorsor/cite-holmes examples/end-to-end/report.md:45
https://pubmed.ncbi.nlm.nih.gov/34971386/ examples/medical_refs.json:27
https://zhuanlan.zhihu.com/p/000000000 examples/medical_refs.json:61
https://doi.org/ mcp/verify_refs.py:473
https://skillhub.cn/skills/cite-holmes mcp/verify_refs.py:480
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| fastmcp | >=2.0 | mcp/pyproject.toml | 否 | 仅 MCP server 需要,CLI 独立运行无需此依赖 |
| sqlite3 | stdlib | Python 标准库 | 否 | v1.12 磁盘缓存使用 |
文件构成
mcp/verify_refs.py scripts/verify_refs.py README.md