安全决策报告

shieldcortex

合法的 AI Agent 记忆与安全工具,文档详尽透明,权限声明与实际行为一致,cloud sync 为 opt-in,仅传输元数据。存在轻微瑕疵:self-heal 机制可删除 ~/.clawdbot 目录(已声明可禁用),npx fallback 存在供应链风险(已建议安装本地 binary)。

安装决策优先 来源: ClawHub 扫描时间: 20 天前
文件 10
IOC 9
越权项 0
发现 3

为什么得出这个结论

0/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

复核
隐藏执行与外联

提取到 9 个一般风险产物,需要结合上下文判断。

通过
攻击链与高危发现

没有形成明确的恶意路径。

复核
依赖与供应链卫生

发现 4 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

self-heal 可删除 ~/.clawdbot 目录 +8

handler.ts selfCheckAndHeal 递归删除 ~/.clawdbot/hooks/cortex-memory,但已声明且可通过 SHIELDCORTEX_SKIP_SELF_HEAL=1 禁用

npx -y fallback 供应链风险 +5

runtime.mjs resolveServerCmd 在未找到 binary 时 fallback 到 npx -y shieldcortex,npm 无版本锁定,但已文档声明并建议本地安装

文件访问范围宽泛 +5

声明的 paths_read 包含多个 agent 配置目录,但均用于安全扫描目的,行为与声明一致

网络连接声明完整 +2

网络端点均有文档声明,cloud sync 为 opt-in,敏感内容预览不外传

最关键的证据

低危 权限提升

Self-heal 机制可删除 ~/.clawdbot 目录

handler.ts selfCheckAndHeal 在首次 bootstrap 时递归删除 ~/.clawdbot/hooks/cortex-memory 和 ~/.clawdbot/hooks/internal/cortex-memory。如果 Claude Code 使用 .clawdbot 路径,此行为可能影响其功能。

bundled/cortex-memory-hook/handler.ts:620
已提供禁用选项:SHIELDCORTEX_SKIP_SELF_HEAL=1 或 shieldcortex config --self-heal false
低危 供应链

npx fallback 无版本锁定

runtime.mjs 在未找到本地 binary 时 fallback 到 `npx -y shieldcortex`,会从 npm registry 下载最新版本,存在供应链风险。

bundled/cortex-memory-hook/runtime.mjs:73
文档已建议全局安装 shieldcortex 或在 config.json 中设置 binaryPath
提示 敏感访问

扫描多个 Agent 配置目录

paths_read 声明包含 ~/.claude/, ~/.cursor/, ~/.windsurf/, ~/.codex/ 等目录用于安全扫描,但仅读取 SKILL.md/HOOK.md 等指令文件。

SKILL.md:30
这是安全扫描的合法需求,行为与声明一致

声明能力 vs 实际能力

文件系统 通过
声明 WRITE
→
推断 WRITE
SKILL.md 声明 filesystem:readwrite,代码在 ~/.shieldcortex/ 和 ~/.openclaw/ 目录写入
网络访问 通过
声明 optional
→
推断 optional
cloud-sync.js 仅在 cfg.cloudEnabled 时发送元数据到 api.shieldcortex.ai
命令执行 通过
声明 NONE
→
推断 READ
runtime.mjs 使用 execFile (argv array) 而非 shell 调用,无注入风险
环境变量 通过
声明 NONE
→
推断 READ
读取 SHIELDCORTEX_CONFIG_DIR 等配置变量用于控制行为,无凭证收割

可疑产物与外联

中危 外部 URL
https://shieldcortex.ai

SKILL.md:12

中危 外部 URL
https://www.npmjs.com/package/shieldcortex

SKILL.md:13

中危 外部 URL
https://api.shieldcortex.ai

SKILL.md:61

中危 外部 URL
https://huggingface.co

SKILL.md:62

中危 外部 URL
https://shieldcortex.ai/docs

SKILL.md:318

中危 外部 URL
https://shieldcortex.ai/changelog

SKILL.md:322

中危 外部 URL
https://clawhub.ai/user/jarvis-drakon

skill-card.md:9

中危 外部 URL
https://clawhub.ai/jarvis-drakon/skills/shieldcortex

skill-card.md:46

提示 邮箱
[email protected]

SKILL.md:296

依赖与供应链

包名版本来源漏洞备注
better-sqlite3 * npm 否 无版本锁定,但为本地数据库存储非网络依赖
express * npm 否 localhost:3001 本地 API 服务
ws * npm 否 localhost WebSocket 服务
@huggingface/transformers * npm 否 可选依赖,从 huggingface.co 下载模型

文件构成

10 个文件 · 3314 行
JavaScript 5 个文件 · 1346 行TypeScript 1 个文件 · 1201 行Markdown 3 个文件 · 562 行JSON 1 个文件 · 205 行
需关注文件 · 4
bundled/cortex-memory-hook/handler.ts TypeScript · 1201 行
Self-heal 机制可删除 ~/.clawdbot 目录
SKILL.md Markdown · 328 行
扫描多个 Agent 配置目录 · https://shieldcortex.ai · https://www.npmjs.com/package/shieldcortex · https://api.shieldcortex.ai · https://huggingface.co · https://shieldcortex.ai/docs · https://shieldcortex.ai/changelog · [email protected]
bundled/cortex-memory-hook/runtime.mjs JavaScript · 239 行
npx fallback 无版本锁定
skill-card.md Markdown · 64 行
https://clawhub.ai/user/jarvis-drakon · https://clawhub.ai/jarvis-drakon/skills/shieldcortex
其他文件 · index.js · interceptor.js · HOOK.md · openclaw.plugin.json · cloud-sync.js · intercept-ingest.js

安全亮点

文档极其详尽透明,声明了所有特权操作及理由
cloud sync 强制 opt-in,且仅传输元数据不外传内容预览
subprocess 调用使用 argv array (execFile) 而非 shell,无命令注入风险
self-heal 机制有禁用选项 (SHIELDCORTEX_SKIP_SELF_HEAL)
无 eval/dynamic code execution
凭证模式写入时被防御管道拦截或隔离
代码开源 (MIT license),npm audit 清洁
hasRecentMessages 仅读取最近 30 行,限制数据暴露
cloud-sync 明确删除 content/preview 字段后才发送