背景
有用户反馈,在安装 QVeris 插件(@qverisai/qveris)时被 OpenClaw 安全机制拦截。截图中的拦截提示为:
Environment variable access combined with network send — possible credential harvesting
OpenClaw 认为插件安装包中存在“读取环境变量 + 发送网络请求”的组合模式,可能构成凭据收集风险,因此自动阻止安装。
用户进一步反馈,OpenClaw 审计时发现一个测试文件:
该文件中同时包含:
这类组合触发了 OpenClaw 的安全策略。虽然这不一定代表插件真实恶意,但会让用户在安装阶段直接失败,且给用户造成 API Key 泄露风险的感知。
用户影响
- 用户安装
@qverisai/qveris 时可能被 OpenClaw 拦截,无法完成安装。
- 安全提示中明确提到 possible credential harvesting,会严重影响用户对插件和 QVeris 的信任。
- 即使可以通过
--force 或手动安装绕过,也不应要求用户在正常安装路径中承担安全风险确认。
需要修复的问题
请系统性检查 QVeris Agent Toolkit / npm 发布包内容和测试文件边界,避免发布包中包含会触发安装安全审计的测试代码或风险模式。
重点建议:
-
发布包不应包含测试文件
- 检查
package.json 的 files 字段、.npmignore、构建产物目录。
- 确认
qveris-tools.test.ts、*.test.ts、测试 fixtures、测试脚本不会进入正式发布包。
-
测试代码避免真实环境变量 + 网络请求组合
- 对需要 API Key 的测试,默认使用 mock / fixture。
- 集成测试应放在明确的 integration test 路径,并通过显式开关运行。
- 避免测试文件中直接读取真实环境变量后发起外部请求。
-
安装安全审计兼容性
- 在 release 前增加包内容检查,例如
npm pack --dry-run 或等价检查,确认不会带上测试源码。
- 如可行,增加针对 OpenClaw 类安全规则的扫描或最小复现检查。
-
用户侧说明
- 如果短期内无法完全规避,需要在 README / install 文档中说明安全审计触发原因和临时绕过方式。
- 但最终目标应是正常安装不触发 OpenClaw 拦截,而不是要求用户
--force。
验收标准
背景
有用户反馈,在安装 QVeris 插件(
@qverisai/qveris)时被 OpenClaw 安全机制拦截。截图中的拦截提示为:OpenClaw 认为插件安装包中存在“读取环境变量 + 发送网络请求”的组合模式,可能构成凭据收集风险,因此自动阻止安装。
用户进一步反馈,OpenClaw 审计时发现一个测试文件:
qveris-tools.test.ts该文件中同时包含:
这类组合触发了 OpenClaw 的安全策略。虽然这不一定代表插件真实恶意,但会让用户在安装阶段直接失败,且给用户造成 API Key 泄露风险的感知。
用户影响
@qverisai/qveris时可能被 OpenClaw 拦截,无法完成安装。--force或手动安装绕过,也不应要求用户在正常安装路径中承担安全风险确认。需要修复的问题
请系统性检查 QVeris Agent Toolkit / npm 发布包内容和测试文件边界,避免发布包中包含会触发安装安全审计的测试代码或风险模式。
重点建议:
发布包不应包含测试文件
package.json的files字段、.npmignore、构建产物目录。qveris-tools.test.ts、*.test.ts、测试 fixtures、测试脚本不会进入正式发布包。测试代码避免真实环境变量 + 网络请求组合
安装安全审计兼容性
npm pack --dry-run或等价检查,确认不会带上测试源码。用户侧说明
--force。验收标准
@qverisai/qveris正式发布包中不包含qveris-tools.test.ts或其他*.test.ts测试文件。npm pack --dry-run/ CI 检查能覆盖发布包内容,防止测试文件再次进入包内。