| title | 安全设计 |
|---|---|
| description | CutDeck 的安全机制、API 密钥管理和数据保护措施。 |
CutDeck 在设计之初就将安全作为核心考量,保护用户的敏感数据和隐私。
CutDeck 采用多层级密钥存储策略:
优先 → OS Keychain (系统级安全存储)
├── macOS: Keychain Services
├── Windows: Credential Manager
└── Linux: Secret Service API
降级 → 环境变量 (.env 文件,仅本地存储)
::: warning
- 永远不要将 API Key 提交到 Git 仓库
.env文件已加入.gitignore,请勿移除- 生产环境建议使用环境变量而非硬编码 :::
# 安全检查:确认 .env 不会被提交
git check-ignore .env
# 应该输出: .env
# 如果没有输出,手动添加
echo ".env" >> .gitignore- API Key 仅在客户端本地使用,不会发送给第三方服务器
- 所有 AI 请求直接与 AI 服务商通信
- 不经过任何中转服务器
CutDeck 对所有文件路径进行严格验证:
| 检查项 | 说明 |
|---|---|
| 路径穿越检测 | 禁止 .. 等路径遍历攻击 |
| 危险路径禁止 | 禁止访问系统敏感目录 |
| 扩展名白名单 | 仅允许操作视频/音频/图片等合法文件类型 |
| 文件大小限制 | 单文件最大 50GB(可配置) |
CutDeck 仅允许执行经过白名单验证的 FFmpeg 命令:
// 允许的命令
const ALLOWED_COMMANDS = ['ffmpeg', 'ffprobe']
// 危险命令关键词检测
const BLOCKED_PATTERNS = [
'rm -rf',
'| sh',
'; sh',
'&& sh',
]- 🎬 视频内容仅在本地处理
- 🤖 AI 分析时,视频片段会上传到 AI 服务商(使用他们的隐私政策)
- 📝 生成的字幕和脚本保存在本地
- ✅ 所有 AI API 请求使用 HTTPS
- ✅ 验证服务器证书
- ✅ 不发送敏感系统信息到第三方
- devtools feature 已移除:生产构建不再包含 Tauri DevTools API(
Cargo.toml中features = []) - CSP 策略已启用:
tauri.conf.json配置了严格 Content Security Policy,防止 XSS 攻击
// tauri.conf.json security.csp
"default-src 'self'; script-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https:; media-src 'self' blob: https:; connect-src 'self' https://*;"如果你发现安全漏洞,请通过以下方式私下报告:
| 方式 | 说明 |
|---|---|
| GitHub Security Advisory | 报告安全漏洞 |
请不要在公开的 GitHub Issues 中报告安全问题。