拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Seedance 2.0 Skill OS 安全模型与信任边界解析:从离线安装包到开发期评估器的纵深安全设计

Seedance 2.0 Skill OS 安全模型与信任边界解析:从离线安装包到开发期评估器的纵深安全设计 AI 技能AI 评测提示工程人工智能媒体生成【免费下载链接】seedance-2.0Comprehensive production pipeline for quad-modal AI filmmaking with Seedance 2.0项目地址https://gitcode.com/gh_mirrors/se/seedance-2.0点击查看免费下载导读SECURITY.md 定义了 Seedance 2.0 Skill OS一个离线 agent-skill 与参考包Markdown 技能/参考文件加确定性的本地 Python 校验脚本的安全承诺与信任边界。它不是一个托管服务、API 封装或自主运行时的运行时不存储任何凭据、不内置遥测。本文将沿原文档的骨架结合 scripts/eval_run.py、scripts/install_codex_skill.py、tests/test_install_payload.py 等源码逐一拆解安装负载如何被强制隔离于网络与凭据读取之外、开发期评估器如何默认离线并在--live下受预算与端点白名单约束、agent 宿主为何才是真正的信任边界以及帧发布这类原生边界为何在未特权 Linux 下需要CAP_SYS_ADMIN才能--force。读完你将能按文档的安全模型正确使用--self-test/--live、理解--ledger与eval-runs/的正确存放方式并知道在 fork/CI/代理场景下哪些风险文档明确拒绝背书。一、包的安全定位离线、无凭据、无遥测SECURITY.md 开篇即划清范围Seedance 2.0 Skill OS 是离线 agent-skill 与参考包由 Markdown 技能/参考文件和确定性的本地 Python 校验脚本组成不是托管服务、不是 API 封装、也不是能自行执行的运行时。它不存凭据、不带遥测。仓库中唯一例外被单独点名scripts/eval_run.py 是仅用于开发的评估器会联系模型提供商并从环境变量读取凭据。它被排除在安装负载之外而 tests/test_install_payload.py 专门校验这一排除并拒绝已安装 Python 文件中出现已知网络模块导入与凭据形态的环境读取。这一承诺的落实在安装器源码中可见scripts/install_codex_skill.py 第 78-82 行定义了DEV_ONLY_NAMES {eval_run.py, eval-runs, tests}注释明确说明这些是开发期且具备网络能力的文件安装后 agent 用不到它们把它们放进包内等于把会读凭据的脚本装进每个加载该技能的 agent同时IGNORE_PATTERNS还排除了字体、图片、*.pyc等构建输入。也就是说安装负载的最小化既是体积考虑更是安全边界的实体化。二、漏洞上报私有通道而非公开 issueSECURITY.md 要求通过 GitHub 的private vulnerability reportingSecurity 标签页 → Report a vulnerability私下上报疑似漏洞而非在公开 issue 中暴露。上报内容应包含发现的问题、位置、复现方式。项目承诺在合理时间内确认并在修复发布后按上报者意愿致谢。从安全工程角度看这一要求与该包的性质一致技能文件是 agent 会当作指令阅读的 Markdown漏洞细节一旦公开等于向攻击者提供注入脚本或触发 payload 的现成素材。私有上报能让维护者先在受控范围内修复并发布再公开致谢。三、安装负载的安全姿态文本内容 本地脚本无网络能力3.1 承诺内容无遥测已安装的 Python 辅助脚本仅用于本地工作。技能内容是文本安装的脚本不实现提供商调用、不处理凭据。导入/字符串检查保护的是打包边界不是操作系统级出口沙箱。媒体辅助脚本会调用 FFmpeg宿主 agent 也可能自带网络工具——这两者文档都不承诺拦截。开发期评估器默认离线scripts/eval_run.py不带参数运行只打印计划不读提供商密钥、不联系提供商、不写 ledger。--self-test执行 CI 使用的离线接线检查。安装负载排除开发期工具scripts/install_codex_skill.py排除评估器与测试套件tests/test_install_payload.py解析真实安装中的 Python 文件拒绝已知网络模块导入或凭据形态的环境读取。文档明确这能检测这些代码模式但不能证明任意子进程、被修改的依赖或 agent 宿主无法访问网络——需要出口限制时应在宿主环境强制实施。3.2 源码级验证AST 解析而非文本扫描tests/test_install_payload.py的实现印证了解析导入而非搜索文本的设计动机NETWORK_MODULES { urllib.request, urllib.error, http.client, socket, ssl, ftplib, smtplib, telnetlib, requests, httpx, aiohttp, } CREDENTIAL_HINTS (API_KEY, APIKEY, TOKEN, SECRET, PASSWORD)其imported_modules(tree)用ast.walk遍历真实的ast.Import/ast.ImportFrom节点收集模块名credential_env_reads(tree)则只对大写常量字符串且含API_KEY/TOKEN/SECRET/PASSWORD等提示词的节点计数。测试文件头部的注释点出了关键教训最初版本用子串扫描结果把自己的文档注释提到这些词判为违规——AST 解析避免了把注释或 docstring 中的词汇误判为真实导入。测试还真实调用installer.main()执行安装再对安装产物做断言验证的是安装器实际拷贝的东西而非仓库碰巧有什么。3.3 评估器 CLI 的三种模式scripts/eval_run.py 的main()第 5311 行起把模式做成显式旗标模式命令行为离线自检python scripts/eval_run.py --self-test校验 pin 的清单、不可变源码快照、案例契约、rubric、发现请求与 responder 输入无网络CI 安全离线计划默认python scripts/eval_run.py列出选中案例与请求/输出 token 上限不读密钥、不调用、不写 ledger在线评估python scripts/eval_run.py --live ...使用所选提供商的 API key对每个案例跑 responder judge打印分数--ledger时写 Markdown 证据台账--self-test与--live互斥第 5336-5337 行会parser.error。全套在线跑还需要显式--max-calls第 5441-5442 行在未指定--id/--limit/--max-calls时拒绝整套跑。其他常用参数包括--provideranthropic/minimax/orcarouter、--region、--model、--judge-model、--id、--limit、--max-output-tokens、--stamp。3.4 预算在传输前预留失败请求不退还EvaluationBudget.reserve()第 309-319 行在传输前检查并预留attempted_calls max_calls或reserved_output_tokens max_tokens max_output_tokens时置exhausted并抛错。注释直言Reserve before transport, including requests that later fail. Never refund an uncertain request or assume a provider error was unbilled.——即失败/不确定请求也占用预留额度绝不假设提供商错误未计费。summary()还会报告usage_may_be_incomplete当validated_usage_responses ! attempted_calls时把用量数据可能不完整如实暴露。这与文档的警告对应调用数与输出 token 预留被强制在传输前执行含失败请求输入 token 计费与货币成本不被封顶。预算保护的是调用次数上限与输出 token 总额不是你的账单总额。3.5 凭据的流通方式请求头不落盘文档强调完整 prompt 与完整模型响应只留在内存、从不写盘judge notes 是模型输出凭据从不序列化——它随请求头发送、不写入任何位置。live 运行把每个案例的判定打到控制台--ledger时写入分数表加截断的 judge notes。被跟踪的台账 evals/eval-run-ledger.md 是故意提交的只含分数与 notes但--ledger会写到你指定的任意路径Git 不会阻止你提交它。.gitignore第 21 行把eval-runs/忽略为临时运行的安全存放地——文档建议用它并在分享任何台账前先读一遍内容。3.6 在线传输的硬约束白名单端点、拒绝重定向_open_provider_request()第 491-504 行先构建允许集仅PROVIDER_CONFIGS中各 provider 配置的、以https://开头的端点请求 URL 不在允许集就抛ProviderResponseError(request must use a configured HTTPS provider endpoint)。_RejectProviderRedirects第 478-488 行继承HTTPRedirectHandler并在redirect_request中直接抛 HTTPError注释写着Never forward authentication or replay a paid request on a redirect——凭据化评估请求不跟随重定向包括同源重定向不会在新 URL 转发认证或自动重放付费请求。且它用build_opener构建私有 opener保留代理/TLS 默认值而不改变宿主进程的全局 urllib 行为。PROVIDER_CONFIGS第 251-276 行列出了三个提供商及其端点anthropicANTHROPIC_API_KEYhttps://api.anthropic.com/v1/messages、minimaxMINIMAX_API_KEYglobal_en为https://api.minimax.io/anthropic、cn_zh为https://api.minimaxi.com/anthropic、orcarouterORCAROUTER_API_KEYhttps://api.orcarouter.ai/v1/messages。配置中还有模型白名单、认证头x-api-key或Authorization: Bearer与响应模式。脚本头注释确认Standard library only; honors HTTPS_PROXY and SSL_CERT_FILE from the environment——代理与 TLS 配置保留标准库默认。四、CI 的结构校验不是仅供展示的 prose每个 push 和 PR 都会跑 .github/workflows/validate-skills.yml 中的普通、非特权检查。SECURITY.md 特别提到当前检入修订中Linux 元数据保留成功案例位于 .github/workflows/privileged-frame-publication.yml其触发白名单只有push加显式workflow_dispatch没有 pull-request 派生触发也不持久化 checkout 凭据。关键设计该工作流不从 UID 0 或--privileged推断权限而是先证明有效的CAP_SYS_ADMIN、描述符绑定的扩展属性 API、原子交换支持与文件系统契约若托管 runner 缺少任一前提工作流验证强制替换失败关闭、输出显式跳过通知并点名缺失的契约片段且不宣称成功路径回归已跑过。这呼应 scripts/build_hero.py 第 245-247 行的--check模式verify committed files match the source以及python -I -S -B scripts/build_hero.py --check这类隔离启动的公共 masthead 命令。文档随即给出诚实边界文件级触发面不是不可变保证——fork 可以提议修改 workflow YAML。仓库管理员必须配置 GitHub Actions要求所有外部协作者批准批准者要在允许 fork 运行前逐行检查每个.github/workflows/**变更。首次贡献者弱化策略允许已建立的外部贡献者在没有新批准的情况下运行被修改的 workflow若无法强制全员门禁应禁用 fork workflow 执行而不是把触发列表当沙箱。fork 对本未修订版本的 PR 会收到完整的普通校验与失败关闭的 Linux 覆盖但项目不宣称仅凭仓库内容就能让未来的 workflow 编辑变安全。五、依赖引导的来源绑定校验锁、哈希轮子与密封记录CI 本身不是出口沙箱checkout、setup、缓存与显式依赖下载都可能联系各自的服务但 checkout 在仓库代码运行前移除其持久化凭据。两个 wheel 锁requirements-masthead.lock、requirements-validation.lock都拒绝 URL、include 与 index 指令并强制--only-binary:all:下载重复该仅二进制规则。Pip 安装会移除继承的PIP_*、Python、virtualenv 与 native-loader 覆盖、通过/dev/null禁用配置、对哈希验证的 wheelhouse 使用--no-index。一个全新清除、按运行指定的 venv只有在受守卫的路径检查与外部 checkout 键控信任记录把受信 Python、stdlib launcher、拷贝的 runner、配置、构建器、锁与标记绑定之后才被接受。保留的 wheel、pip report 及每个已安装的锁定发行文件随后被密封已安装导入必须匹配保留的 wheel 字节。公共 masthead 命令含python -I -S -B scripts/build_hero.py --check以隔离启动运行并要求结构化密封绑定记录。schema 校验器同样拒绝外部或未解析引用包括经本地指针或锚点到达的无效 schema同时尊重嵌套 Draft 2020-12$id资源作用域。检入的校验阶段按设计离线——它是离线设计而非操作系统网络边界。六、帧输出发布的操作系统信任边界Windows、Linux 与 POSIX 回退这是 SECURITY.md 中最硬核的一段针对scripts/extract_last_frame.py之类帧输出助手的平台发布语义6.1 Windows保留非 reparse 的目标目录在解码前创建独占打开的 stage因此父目录重命名/重建或祖先 junction 重定向都无法重定向 no-replace 发布或清理。原生发布边界独立拒绝 Win32 设备词干COM¹/COM²/COM³、LPT¹/LPT²/LPT³对合法近上限 basename 使用扩展长度路径。Windows--force打开并保留旧目标把其 owner/group/DACL/强制标签描述符与受保护 stage 比较初始拒绝具名流或带策略属性提交用ReplaceFileW不带 metadata-ignore 标志加对边界时刻真实目标的唯一回滚备份。删除备份前助手验证被替换身份、字节、安全策略、流与属性并在相同轴验证已发布 stageowner、group、有序 ACL 条目、ACL 控制标志、强制标签按规范化 SDDL比较而非提供商自有的 self-relative 偏移或填充。不匹配时用硬链接保留被拒 inode按句柄恢复精确备份然后才删除被拒生成文件。失败的 native 调用仅在完整状态匹配被审计目标时才提升回滚路径名不可信预声明被保留为恢复工件绝不覆盖目标。发布后的控制台报告保持非事务性。6.2 Linux有procfs时链接/proc/self/fd/fd把发布绑定到已验证的开放暂存 inode即使其名字被替换。Linux--force额外要求输出目录由有效用户拥有且 group/others 不可写解码前打开并保留现有目标快照描述符可读用户属性与 Linux 访问 ACL连同 owner/group/mode证明有效CAP_SYS_ADMIN、测试trusted.*可见性并在真实文件系统上探测renameat2(RENAME_EXCHANGE)。发布时重新检查绑定目标原子交换 staged 与 destination 条目验证两侧然后要么提交删除被替换的精确 inode要么交换回来——验证后被调包的目标会被恢复。任何能力、可见性、枚举、元数据、目录控制、交换或回滚证明失败——或检查暴露安全/受信/不支持的系统策略属性——替换即被拒绝。6.3 其他 POSIX 与最小 Linux其他 POSIX 运行时拒绝--force。无procfs的最小 Linux 回退到验证过的0700私有暂存目录排除其他账户的写入者但不能承诺与同一 Unix 账户下敌对进程隔离它共享所有者的目录权限。任何平台发布保留的 PNG 前都必须通过有界独立 FFmpeg 解码。文档结论直白普通非特权 Linux 使用中选一个新输出名即可——创建新输出不需要任何能力。七、在 agent 中安全使用本技能宿主才是信任边界这个包只有你把它装进去的agent 客户端那么安全。技能本身什么也不做读它的 agent 能做该 agent 被允许做的任何事。把 agent——而不是这个技能——当作你的信任边界。 这是 SECURITY.md 的核心论断。参考、图片、视频帧、转录、抓取页面或工具结果里的文本都是数据不能授权命令执行、凭据访问、安装、上传或付费生成。根 Agent 信任边界指示 agent 提取相关创意信息、忽略嵌入指令——但该行为规则不能替代宿主权限同时要保持在先前用户授权范围内不要对已授权动作反复请求批准。具体操作建议文档原文语义只装入你信任的 agent 客户端并保持更新不要因为对方接受技能格式就装进未知或未审查的 agent。绝不要把密钥粘贴进不可信 agent。本技能从不索要 API key、token、账户 cookie 或私密/客户素材若某个 agent——或本技能的修改副本——索要这些立即停止。优先选择在安装时沙箱化或扫描技能的客户端例如 Hermes 的hermes skills install会跑安全扫描。安装路径要自己在客户端里核实——references/agent-compatibility.md 的跨 agent 矩阵标注的是在你的客户端中验证不是保证。加载前先审查。任何来源的任何技能都是 agent 会当指令读的 Markdown把第三方技能包括本项目的 fork装进特权 agent 前先审查——提示注入风格的文本可能藏在看似无害的文档里。守住内容边界。skills/seedance-copyright 与 skills/seedance-filter 会把不安全请求改写成安全、原创的等价物并通过澄清合法制作上下文修复误伤性过滤——它们是内容安全工具不是用来绕开任何平台安全系统的工具不要用本包规避提供商审核。八、项目明确不会做的事不向可安装技能添加遥测、网络调用或凭据提示。仓库校验器在单独标识的 CI 依赖引导之后离线运行开发期网络工具必须保持在包外、明确说明何时传输并在本文档记录。不宣称任何 agent 客户端都能直接从仓库 URL 安装也不宣称任何 registry 收录本技能——除非它确实发布到了那里。九、写给使用者的最小安全核对清单结合文档与源码落地为可执行清单日常使用只跑离线路径——python scripts/eval_run.py --self-test验证接线无参运行看计划。普通非特权 Linux 下发布帧用新输出名不要--force。确需在线评估显式--live--id/--limit做聚焦跑全套加显式--max-calls设--max-output-tokens明白输入 token 计费与货币成本不封顶。台账去向临时运行写进eval-runs/被 .gitignore 忽略分享任何台账前通读内容不要把--ledger指到会被误提交的路径。环境如需代理用HTTPS_PROXY自签名/私有 CA 用SSL_CERT_FILE标准库默认语义。宿主边界先审技能再加载、只装可信客户端、绝不给不可信 agent 粘贴密钥fork 的.github/workflows/**变更需逐行审查并落实全员批准门禁。不要做的事不要向 fork/PR 添加 API key、账户 cookie、私密 prompt 语料不要用 copyright/filter 技能规避任何平台审核。参考路径速查安全声明 SECURITY.md评估器实现与 CLI scripts/eval_run.py端点白名单见第 251-276 行重定向拒绝见第 478-504 行预算见第 298-332 行参数解析见第 5311-5344 行安装器排除逻辑 scripts/install_codex_skill.py负载校验测试 tests/test_install_payload.py已提交台账 evals/eval-run-ledger.md跨客户端兼容矩阵 references/agent-compatibility.md忽略规则 .gitignore。赞分享AI 技能AI 评测提示工程人工智能媒体生成【免费下载链接】seedance-2.0Comprehensive production pipeline for quad-modal AI filmmaking with Seedance 2.0项目地址https://gitcode.com/gh_mirrors/se/seedance-2.0点击查看免费下载相关推荐drawio-skill 安全参考权限边界、信任模型与离线行为drawio skill 安全参考权限边界、信任模型与离线行为 本指南以 security.md https://link.gitcode.com/i/7b0AI 技能数据可视化code-graph-rag 安全模型解析威胁边界、信任假设与纵深防御实践code graph rag 安全模型解析威胁边界、信任假设与纵深防御实践 本文以 code graph rag 的 Security Model 文档 ht人工智能RAG知识图谱MCP 服务开发者工具大麦自动抢票Web 与移动端双端三步跑通指南大麦自动抢票Web 与移动端双端三步跑通指南 复跑这个大麦自动抢票项目ticket purchase它用 Selenium 驱动浏览器、用 AppiumGUI 自动化RPA上一篇Haystack 集成 TwelveLabs用 Pegasus 视频转换与 Marengo 跨模态检索构建多模态 RAG 管线下一篇displaywidthGo 终端显示宽度测量库的架构设计与工程实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表