workspace-anchor

多代理工作空间锚点防漂移系统

🥥43总安装量 12评分人数 11
100% 的用户推荐

基于 Node.js 的零依赖工作空间锚定系统,通过环境命名与锁文件机制,有效防止多代理开发场景中的上下文漂移风险。

C

存在明显风险,不建议直接用于敏感场景

  • 来自社区或个人来源,建议先隔离验证
  • ❌ <br/>**命令注入漏洞(C级)**:`discover.js` 和 `validate.js` 中使用 `execSync` 直接拼接用户输入路径到 shell 命令,未进行充分的输入验证和转义,存在任意代码执行风险
  • ⚠️ <br/>**来源可信度 T3**:来自 GitHub 个人账号(zenchantlive)和社区组织(clawdbot),非知名技术公司或顶级开源基金会,缺乏官方代码签名
  • ✅ <br/>**零外部依赖**:仅使用 Node.js 内置模块(fs、path、child_process),无 npm 外部依赖,供应链攻击面极小
  • ✅ <br/>**无敏感数据风险**:仅读取本地 `.project-lock` 文件,无网络数据传输,无静默收集用户代码或隐私信息
  • ✅ <br/>**无破坏性操作**:不包含 `rm -rf /` 等系统破坏性命令,文件操作仅限于创建和读取锁文件

使用说明

Workspace Anchor 是一款专为多代理(Multi-agent)开发环境设计的项目上下文管理工具,旨在解决 AI 助手在复杂工作目录结构中常见的"代理漂移"问题——即 AI 在不同项目间切换时失去当前工作上下文的情况。

核心用法

该技能通过五个核心 CLI 命令实现工作空间治理:discover 命令递归扫描文件系统查找所有 .project-lock 锚点文件,建立项目索引;list 以格式化方式展示当前所有可用锚点;create <path> 在指定路径初始化新的项目锚点;switch <name> 切换当前活动上下文;validate <path> 则验证目标路径是否位于当前锚定项目范围内,防止跨项目误操作。系统要求在使用前必须通过 exec 命令确认正确的绝对路径,确保环境感知准确性。

显著优点

首先,该工具具有极高的轻量性和可移植性,仅依赖 Node.js 内置模块(fspathchild_process),零外部 npm 依赖,避免了供应链攻击风险。其次,通过 .project-lock 文件实现显式的项目边界定义,为多代理协作提供了可靠的环境隔离机制。此外,路径验证功能(validate)能有效防止 AI 助手在自动化脚本中意外修改项目外部的文件,提升了自动化工作流的安全性。

潜在缺点与局限性

主要局限在于代码实现中存在命令注入漏洞discover.jsvalidate.js 中使用 execSync 直接拼接用户输入的路径参数到 shell 命令字符串,若路径包含特殊字符(如分号、管道符、命令替换等),可能导致任意代码执行。虽然代码尝试进行路径遍历检查(检查 .. 前缀),但缺乏对 shell 元字符的充分转义。此外,作为 T3 级来源(个人/社区账号),缺乏企业级代码审计和长期维护承诺。

适合的目标群体

该技能特别适合以下场景:在本地开发环境中管理多个相关项目的全栈开发者;需要确保 AI 编码助手始终在当前项目沙箱内操作的自动化工作流;以及使用 Agent 进行批量代码重构或分析,需要严格防止跨项目污染的场景。对于在受控 CI/CD 环境中需要项目上下文切换的自动化任务也较为适用。

使用风险

安全风险是首要考虑:由于命令注入漏洞的存在,绝对不要将该技能用于处理来自外部用户或不可信来源的任意路径输入,在多租户环境或接收用户生成内容的场景中使用可能导致系统被入侵。功能风险方面,validate.js 中存在 JSON 解析逻辑错误(尝试将自定义文本格式作为 JSON 解析),可能导致验证功能异常。建议仅在隔离环境(如容器)中运行,并对所有输入路径进行预处理和白名单验证,避免使用包含 shell 特殊字符的目录名。

workspace-anchor 内容

文件夹图标config文件夹
文件夹图标lib文件夹
手动下载zip · 9.7 kB
defaults.jsonapplication/json
请选择文件