Skip to content

Security: Acorn2/frame-loom

Security

SECURITY.md

Security

项目首页 · 文档导航

运行与数据边界

FrameLoom 在本机运行,并可按用户配置向 TTS 服务发送讲稿。只使用可信来源的仓库、Skill、脚本与配置;运行前审阅第三方改动。不要在公开 issue 中附带密钥、环境文件、完整私人讲稿或带个人信息的日志。

配方库网站只展示公开样例并生成指令,不接收用户文档或凭据。使用 Coding Agent、TTS 或截图服务时,这些服务可能接收相应内容;其网络访问与费用由用户所选服务决定。FrameLoom 不会自动加载 .env,TTS 密钥通过配置指定的环境变量读取。

报告疑似漏洞

优先使用仓库 Security 页的私密漏洞报告入口(若已启用)。若没有该入口,请提交不含漏洞利用细节和私人数据的 issue,请维护者提供私密沟通方式。目前不承诺固定响应时限。

私密报告应包含受影响的版本或提交号、操作系统、复现条件、影响与脱敏后的最小样例。安装失败或视频效果问题使用常规反馈入口。

本地产物与资源保护

生产记录、审核记录、讲稿交接和 TTS 音频包的受控写入拒绝项目外路径及产物路径中的符号链接(包括断开的链接)。--force 只允许替换已核对的普通产物文件,不授权跟随链接写入其他文件。这些检查不是操作系统沙箱;不要让不可信进程在制作期间改写项目目录。

produce 和 TTS 合成分别使用项目内排他锁。TTS 在发起服务请求前检查输出路径,发布前复核讲稿、字幕及配置;整个包先暂存,普通发布异常恢复旧包。进程被强制结束时可能留下 .frame-loom-production.lock、.frame-loom-tts.lock 或 .audio-publication.json:先确认记录中的 PID 已退出;有音频事务时按记录核对 .audio-backup-* 中的旧文件与目标路径,恢复完整旧包或保留完整新包,再移走事务记录和锁。不要直接删除备份或靠 --force 绕过。恢复后重新运行校验与 QA。

渲染将视频、渲染记录、2.4 生产锁与解析计划、适用的同源封面及封面记录一起暂存,全部验证后发布;普通发布失败回退整包。生产锁与封面记录同样拒绝符号链接。输出目录中的 .<文件名>-render-*/owner.json 记录事务:preparing 阶段的已退出进程可在重试时清理;publishing 阶段或回退失败的记录必须人工核对 entries 中的目标、暂存文件和旧备份,恢复完整一致的包后再移走事务目录。--force 不绕过未完成事务。发布依赖同一文件系统的重命名与硬链接;这些操作不保证外部读取者在发布期间看到整包快照,也不承诺断电后的持久性。

显式 CLI 渲染允许输出到项目外指定目录,该目录可通过 macOS /tmp 等已有目录别名访问;边界内的产物链接仍被拒绝。项目内输出始终以项目根为边界,不能用输出目录别名绕过保护。

资源上限是运行保护,不是新增风格能力:单边画幅最多 4096 像素,帧率 1–60,总时长最多 3600 秒/216000 帧,最多 1000 场;每场最多 200 层、1000 条连线、1000 个动作、2000 条字幕及 10000 个 Unicode 旁白字符。单个登记素材最多 64 MiB,单次 TTS 响应最多 32 MiB(实际流量计数,不仅信任 Content-Length)。供应商更严格的限制仍生效。超出时压缩素材或拆分项目,不跳过校验。

TTS 请求超时配置最多 300 秒;音频时长探测最多 10 秒、旁白合并最多 120 秒,超时终止子进程。普通 Ctrl+C/进程强制退出可能留下上述锁或事务,后续运行会停止并要求核对。

外部音频在探测和载入前检查:单文件最多 256 MiB,所有启用音轨按使用次数累计最多 512 MiB、最多 64 条;字幕最多 4 MiB。单条音频最多 3600 秒,探测最多 10 秒、响度测量最多 120 秒;先检查时长再进行全文件响度测量。较长或较大的源文件须先裁剪、压缩或拆分。

prepare:review 生成绑定当前输入和视频指纹、尚未勾选的审片模板;批准命令拒绝缺少或过期指纹的记录。指纹防止误用旧记录,不能证明有人真实播放过视频;仍必须如实完成全片复核。

审片图片默认使用原分辨率 JPEG,共享同一帧的检查点图片;单次原图与联系图合计上限 128 MiB,超出时停止且不丢弃必选覆盖。produce 汇报项目文件体积,达到 256 MiB 提示检查;该提示线不是项目硬上限。inspect:storage 只读审计与预览缓存候选,不执行删除。archive:revision 在生产锁下保存当前版本的紧凑快照,省略有对应归档视频的独立逐帧图,并记录省略清单与哈希;拒绝路径越界、来源链接、活动 TTS 锁及未恢复事务,不覆盖已有归档。详见产物与空间管理。

维护范围与依赖检查

维护者发布前运行 npm audit,核对直接和间接依赖的实际影响与修复版本;不要用强制升级绕过兼容性检查。当前维护范围是主分支,尚未承诺旧版本的长期安全维护。

CI 使用 npm audit --audit-level=high 阻止高危及严重依赖漏洞通过。豆包 TTS 的失败诊断只显示 HTTP 状态或有效的整数错误码及本地提示,不输出服务端响应正文或原始错误消息;反馈故障时仍需检查日志中的路径及其他个人信息。

There aren't any published security advisories