☰
agentic-stack 安全模型详解:本地优先、零遥测与路径门控,如何守护你的隐私和代码安全
2026/10/7 15:28:42 网站建设 项目流程

agentic-stack 安全模型详解:本地优先、零遥测与路径门控,如何守护你的隐私和代码安全

【免费下载链接】agentic-stackOne brain, many harnesses. Portable .agent/ folder (memory + skills + protocols) that plugs into Claude Code, Cursor, Windsurf, OpenCode, OpenClaw, Hermes, or DIY Python — and keeps its knowledge when you switch.项目地址: https://gitcode.com/gh_mirrors/ag/agentic-stack

agentic-stack 是一个跨 AI 编码助手(Claude Code、Cursor、Windsurf、Codex 等)的可移植.agent/大脑文件夹。它的核心安全模型可以概括为三根支柱:本地优先(Local-first)、零遥测(Zero Telemetry)、路径门控(Path Gating)。所有记忆、技能与协议都以本地文件形式存储,不向任何远端发送遥测数据,而每一次工具调用都要先经过权限检查。下面带你完整了解这套机制如何守护你的隐私和代码安全。

为什么 Coding Agent 的安全值得你关注? 🤔

当你让 AI 代理替你写代码、跑命令、改文件时,它接触到的正是你最敏感的资产:源码、密钥、工作记忆。大多数"大脑层"方案会把数据放进厂商云端——而 agentic-stack 的设计哲学恰好相反,正如 docs/architecture.md 开篇那句:

"the harness is dumb, and the knowledge, telemetry, and reusable artifacts are inlocal files."(执行壳是"哑"的,知识、遥测和可复用产物都在本地文件里。)

这意味着:换工具不丢记忆,换工具也不泄露记忆。

安全支柱一:本地优先——数据不出你的机器 💾

agentic-stack 的全部智能都装在项目根目录的.agent/文件夹里,由四层记忆组成:

层内容特点
working/当前任务状态易失,2 天后归档
episodic/历史运行记录本地 JSONL 文件
semantic/蒸馏后的经验教训本地lessons.jsonl
personal/你的个人偏好永不合并进 semantic 层

本地优先还体现在无人值守的环节上。每夜运行的记忆整理脚本 auto_dream.py 只做"机械式文件操作"(聚类、暂存、预过滤、衰减),官方明确标注:no git commits, no network, no reasoning(无 git 提交、无网络、无推理),因此可以安全地放在 crontab 里整夜运行。

安全支柱二:零遥测——无跟踪、无上传 📡

这是该项目最醒目的承诺。在 README.md 中反复出现同一句话:"without training a model or sending telemetry"(不训练模型,也不发送遥测)。具体体现在:

  • 数据层(Data Layer):跨助手的仪表盘导出(活动、cron 时间线、KPI、token/成本估算)全部标注为local-only,产物落在.agent/data-layer/exports/<date>/里,是给你自己看的数据,不是发给别人的数据。详见 docs/data-layer.md。
  • 数据飞轮(Data Flywheel):把人工批准的运行记录转成训练就绪的 JSONL 时,同样只在本地产出制品,且默认经过**脱敏(redacted)**处理。详见 docs/data-flywheel.md 与 schemas/flywheel/。
  • 外发需明示:仪表盘截图若要投递,必须经用户明确批准并走用户自己配置的通道——默认不存在任何"顺手上传"。

一句话:想监控你的 agent 套件的只有你自己,通过agentic-stack dashboard或本地网页版 Mission Control。

安全支柱三:路径门控——给 Agent 划出不可逾越的红线 🚧

这是 agentic-stack 最硬核的一层。它由三道关卡组成:

关卡 1:三级权限清单 permissions.md

.agent/protocols/permissions.md 是一份人类维护、Agent 无权修改的规则清单,把操作分成三档:

档位示例
✅ Always allowed读取项目内文件、跑测试、创建分支、写入memory/
⏸️ Requires approval合并 PR、部署到任何环境、数据库迁移、改 CI/CD 配置
🚫 Never allowed强推到main、直接访问密钥凭证、访问未批准的域名、修改 permissions.md 本身、绕过 pre_tool_call 钩子

注意一个巧妙的自洽设计:Agent 连"给自己松绑"的配置文件都不能碰——规则由人写,执行由钩子做。

关卡 2:pre_tool_call 钩子——每次工具调用前的闸门

.agent/harness/hooks/pre_tool_call.py 在每一次工具调用之前执行拦截逻辑:先查 tool_schemas 中的类型化接口,命中blocked_targets(如往production分支 force push)直接返回BLOCKED;命中requires_approval则挂起等待人工批准;最后还会解析permissions.md的 Never allowed 条款做关键词兜底拦截。

配套的 hook_patterns.json 让用户可以把自家服务(如stripe、kubectl、npm publish)加入高危词表,让失败/成功被更高权重地记录进记忆——门控不仅拦截,还让 Agent"记住教训"。

关卡 3:Loop 路径门控——Deny Paths + Allowlist

v0.19 引入的有界 agentic loop 在执行自动任务时,由 harness_manager/loops/policy.py 做确定性的路径审计:

  • path_escape:绝对路径、..目录逃逸、Windows 盘符一律视为危险,直接熔断;
  • deny_paths:命中禁用通配模式(如*.env、secrets/**)立即停止;
  • allow_paths:若配置了白名单,白名单之外的改动一律拒绝;
  • 预算熔断:尝试次数、运行时长、token、输出字符数、改动文件数均有上限,连续失败且失败签名相同会触发stagnation(停滞)刹车。

官方也诚实地划清边界:supervisor 是"边界与审计",不是操作系统级沙箱——更强的隔离应交给宿主工具原生的沙箱机制。这种诚实本身就是安全文档该有的样子。

额外防线:密钥扫描与完整性校验 🔐

即便你要把记忆从一台机器搬到另一台,transfer向导也有多重保险,核心逻辑在 harness_manager/transfer_bundle.py:

  1. 导出前密钥扫描:内置正则匹配私钥块(-----BEGIN ... PRIVATE KEY-----)、sk-/rk-/pk-开头的 API token、以及OPENAI_*_KEY=等环境变量形式的密钥——命中任意一条就抛出BundleSecurityError,整个包导出中止;
  2. SHA-256 完整性校验:打包时生成摘要,导入时必须提供匹配的 digest,防止包被篡改或截断;
  3. 运行时文件隔离:.index、snapshots、exports、__pycache__等运行时状态和.pyc/.db文件默认被排除在传输范围之外。

再加上"批准 + 脱敏"两道前置条件,你的数据飞轮制品从源头就是干净的。

安全机制速查表 📋

机制保护什么关键文件
本地优先存储记忆不被云端化docs/architecture.md
零遥测活动数据不出机器docs/data-layer.md
三级权限清单Agent 的操作边界.agent/protocols/permissions.md
pre_tool_call 钩子每次调用的实时拦截.agent/harness/hooks/pre_tool_call.py
Loop 路径门控自动任务的文件改动范围harness_manager/loops/policy.py
密钥扫描 + SHA-256记忆迁移不被夹带/篡改harness_manager/transfer_bundle.py

结语

agentic-stack 的安全模型没有炫技,而是把三件朴素的事做到了极致:数据在本地、流量为零、越权必被拦。当你在 Claude Code、Cursor 之间自由切换时,这套.agent/大脑既不会让你"失忆",也不会让你"失守"。如果你的团队正在评估 Coding Agent 的隐私风险,这份 README.md 加 docs/architecture.md 值得完整读一遍。

【免费下载链接】agentic-stackOne brain, many harnesses. Portable .agent/ folder (memory + skills + protocols) that plugs into Claude Code, Cursor, Windsurf, OpenCode, OpenClaw, Hermes, or DIY Python — and keeps its knowledge when you switch.项目地址: https://gitcode.com/gh_mirrors/ag/agentic-stack

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询