mcpField
L
LLMVerify

LLMVerify

本地服务
github.com/subodhkc安全183 周前更新

关于 LLMVerify

LLMVerify 是面向 LLM 应用的本地优先验证层,供需要检查模型输入与输出风险的开发者使用。它以本地模式执行基于规则的安全检查,并内置 MCP 服务供兼容客户端调用。

主要功能

  1. 01幻觉与安全风险检查
  2. 02提示注入与越狱检测
  3. 03PII 检测与脱敏
  4. 04修复格式错误的 JSON
  5. 05监控 LLM 延迟与行为
  6. 06本地审计日志

适用场景

  1. 01向用户展示前检查模型回复
  2. 02发送给 LLM 前检查用户输入
  3. 03遮蔽生成文本中的个人信息
  4. 04运行模型回归检查

MCP 相关

内置 MCP 服务提供六种工具,用于内容验证、幻觉风险评估、提示注入检查、PII 检查与脱敏,以及能力查询。服务通过 stdio 通信,不发起出站网络请求。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"subodhkc-llmverify": {
"command": "npx",
"args": [
"-y",
"llmverify"
],
"env": {
"LLMVERIFY_MCP_MAX_INPUT_CHARS": "<LLMVERIFY_MCP_MAX_INPUT_CHARS>",
"LLMVERIFY_MCP_TIMEOUT_MS": "<LLMVERIFY_MCP_TIMEOUT_MS>",
"LLMVERIFY_MCP_MAX_OUTPUT_ITEMS": "<LLMVERIFY_MCP_MAX_OUTPUT_ITEMS>",
"LLMVERIFY_MCP_MAX_TEXT_FIELD_CHARS": "<LLMVERIFY_MCP_MAX_TEXT_FIELD_CHARS>",
"LLMVERIFY_HOME": "<LLMVERIFY_HOME>",
"LLMVERIFY_AUDIT_DIR": "<LLMVERIFY_AUDIT_DIR>",
"LLMVERIFY_LOG_DIR": "<LLMVERIFY_LOG_DIR>",
"LLMVERIFY_BASELINE_DIR": "<LLMVERIFY_BASELINE_DIR>",
"LLMVERIFY_USAGE_FILE": "<LLMVERIFY_USAGE_FILE>",
"LLMVERIFY_AUDIT_HASH_KEY": "<LLMVERIFY_AUDIT_HASH_KEY>",
"LLMVERIFY_AUDIT_NO_CONTENT_HASH": "<LLMVERIFY_AUDIT_NO_CONTENT_HASH>"
}
}
}
}
启动命令npx -y llmverify
需要配置的环境变量
LLMVERIFY_MCP_MAX_INPUT_CHARSMax characters accepted in a content/input argument
LLMVERIFY_MCP_TIMEOUT_MSPer-tool wall-clock timeout in milliseconds
LLMVERIFY_MCP_MAX_OUTPUT_ITEMSCap on any single output array
LLMVERIFY_MCP_MAX_TEXT_FIELD_CHARSCap on any single text field in output
LLMVERIFY_HOMEBase directory for engine local state
LLMVERIFY_AUDIT_DIRAudit JSONL directory
LLMVERIFY_LOG_DIROperational log directory
LLMVERIFY_BASELINE_DIRDrift baseline directory
LLMVERIFY_USAGE_FILEUsage counter file
LLMVERIFY_AUDIT_HASH_KEY密钥Enables keyed hmac-sha256 content hashes in audit records
LLMVERIFY_AUDIT_NO_CONTENT_HASHSet to 1 to disable content hashes in audit records

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmllmverify1.8.0

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
isJSONboolean否声明内容预期为 JSON。会对非 JSON 输入启用 JSON 验证器,并影响运行哪些引擎。
contentstring是要评估的 AI 生成文本。绝不会执行。
profileenum否应用于此调用的 CSM6 评估配置(config.csm6.profile)。baseline | high_risk | finance | health | research
skipEnginesarray否此调用中要跳过的引擎标识符。适配器会将公开 ID jsonValidator 映射为引擎内部 ID "json"。跳过的引擎会以其引擎内部名称列在 notChecked 中,绝不会报告为成功。
expectedSchemaobject否供 JSON 验证器检查 content 的 JSON Schema 对象。仅在 isJSON: true 时有意义。
requireAuditPersistenceboolean否必须提供证据的模式。为 true 时,除非审计记录确实已 PERSISTED,否则工具会失败(FAILED、DISABLED 和 NOT_ATTEMPTED 都会升级为类型化错误)。

详细介绍

llmverify

你发布了一项 AI 功能。就在同一天,你的大模型编造了引用内容、泄露了客户的电子邮箱,还听从了埋藏在用户输入中的提示词注入攻击。llmverify 是一层安全防护,位于你的大模型与用户之间。

为任何大模型提供本地优先的验证、PII 脱敏、提示词注入防御和运行时监控。只需执行一次 npm install。零遥测。免费套餐无需 API 密钥。

npm version CI License: MIT

最后更新: 2026 年 8 月 21 日 版本: 1.7.0 Node: >= 18.0.0 许可证: MIT


链接


问题所在

你使用 GPT-4、Claude、Gemini 或任何大模型进行开发。模型会:

  • 编造不存在的事实和引用。
  • 泄露 PII——在回复中泄露电子邮箱、电话号码、SSN、API 密钥。
  • 听从提示词注入——用户诱骗模型忽略你的指令。
  • 返回有问题的 JSON,导致解析器崩溃。
  • 质量随时间变化,却无人察觉,直到用户投诉。

你需要在模型与用户之间设置一道防护栏。这就是 llmverify。


安装

npm install llmverify

所有操作都在本地运行。免费套餐不会发出任何网络请求,也无需 API 密钥。免费套餐限额:每天 500 次验证调用(在本地跟踪,从不发送到任何地方)。


功能一览

功能一行示例功能说明
verify(content)await verify(aiResponse)执行幻觉、一致性、安全性和 CSM6 检查;返回风险等级和发现项
isInputSafe(input)isInputSafe(userMessage)在提示词注入、越狱和恶意输入到达模型之前将其拦截
redactPII(text)redactPII(aiResponse)屏蔽电子邮箱、电话号码、SSN、信用卡号和 API 密钥
containsPII(text)containsPII(text)如果存在 PII,则返回 true
detectAndRepairJson(...)detectAndRepairJson(prompt, response)检测并修复有问题的 JSON 输出
monitorLLM(client)monitorLLM(openaiClient)包装任意大模型客户端;跟踪延迟、令牌漂移和行为变化
sentinel.quick(...)await sentinel.quick(client, model)在用户看到更改之前,针对模型运行回归测试
classify(...)classify(prompt, response)意图检测、幻觉信号和指令遵循情况
auditLog(event)auditLog({ ... })追加一条仅含哈希的本地审计记录,作为 SOC 2 / HIPAA / GDPR 证明材料
run、prodVerify、ciVerifyawait prodVerify(content)为开发、生产、严格、快速和 CI 场景预设的流水线

快速开始(30 秒)

const { verify, isInputSafe, redactPII } = require('llmverify');

// 1. Block prompt injection before it reaches the model.
if (!isInputSafe(userMessage)) {
  return { error: 'Invalid input detected' };
}

// 2. Verify the model's output.
const aiResponse = await yourLLM.generate(userMessage);
const result = await verify(aiResponse);

if (result.risk.level === 'critical') {
  return { error: 'Response failed safety check' };
}

// 3. Strip PII before the response reaches a user or a log.
const { redacted } = redactPII(aiResponse);
console.log(redacted);

只需三行,就能在你的大模型与用户之间加入安全防护。无需配置文件,也无需 API 密钥。


工作原理

llmverify 在本地运行确定性的模式匹配引擎——不会调用模型,免费套餐也不会访问网络。相同输入加相同规则,结果始终相同。每项结果都包含明确的 limitations 数组,说明检查了哪些内容、未检查哪些内容,确保你不会把良好评分误认为保证。

框架对齐(仅基线映射,不代表认证):

  • OWASP LLM Top 10
  • NIST AI RMF
  • EU AI Act
  • ISO 42001
  • CSM6(HAIEC 的 38 条规则控制集)

CLI

# Verify a string from the terminal.
npx llmverify verify "The capital of France is London."

# Start a local HTTP API for IDE / tool integration (localhost only by default).
npx llmverify-serve --port=9009

# Expose to the network only on a trusted network. There is no auth on the API.
npx llmverify-serve --host=0.0.0.0 --port=9009

服务默认绑定到 127.0.0.1,将 CORS 限制为 localhost 来源,并对客户端进行速率限制(100 次请求 / 60s)。它需要 express(默认安装的可选依赖)。


MCP 服务

llmverify 内置了 Model Context Protocol 服务——同一引擎通过 stdio 向兼容 MCP 的 Agent 和 IDE 开放:

npx llmverify mcp
// MCP client config
{
  "mcpServers": {
    "llmverify": {
      "command": "npx",
      "args": ["-y", "llmverify", "mcp"]
    }
  }
}

六种工具:verify_llm_content、assess_hallucination_risk、check_prompt_injection、check_pii、redact_pii、get_llmverify_capabilities。仅使用 stdio,不进行任何出站网络通信,输入和输出均有界,响应经过 PII 过滤,并采用诚实的 notChecked/审计语义。

需要 Node.js ≥ 20(这是 MCP SDK 的最低版本要求;其余软件包支持 ≥ 18)。MCP SDK 和 zod 是常规依赖项——mcp 命令会延迟加载它们,因此其他命令不会产生任何启动开销。

完整的工具参考和安全模型请参阅 docs/MCP.md。


限制

llmverify 是一个分流工具,不是真相判定器。请如实看待它能做什么、不能做什么:

  • 它无法确凿证明内容存在幻觉。 幻觉信号基于模式。「法国的首都是伦敦」得分较低,因为这段文字看起来前后一致。验证事实真伪需要你提供源文档。
  • 它不能替代人工审查。 用它进行分流,而不是审批。
  • PII 检测基于正则表达式。 它能识别标准格式(电子邮件、美国电话号码、SSN、信用卡和常见 API 密钥),但无法识别经过混淆、嵌入图像或编码的 PII。对于标准格式,准确率约为 90%;对于变体,准确率较低。
  • 提示词注入检测基于模式。 新型或经过混淆的注入可能绕过检测。
  • 免费层完全在本地运行。 ML 增强功能需要付费层和显式 API 密钥;免费层绝不发起网络请求,也绝不向任何地方发送数据。

如果某项声明很重要,请自行核实。llmverify 可以缩小风险范围,但无法消除风险。


文档


HAIEC 的一部分

llmverify 是 HAIEC(Human AI Evidence Company)AI 治理平台的一部分。可将它与 AI Security Scanner、CI/CD pipeline integration 和 Runtime Injection Testing 配合使用。


支持


许可证

MIT — 请参阅 LICENSE。


建议(不构成法律建议): 对每个传递给用户的模型输出运行 verify(),对每个传递给模型的用户输入运行 isInputSafe()。将风险级别视为分流信号,而非审批结论。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。