Less is safer: how Obsidian reduces the risk of supply chain attacks
8 months ago
- #security
- #supply-chain
- #open-source
- Obsidian通过减少第三方代码依赖来最小化供应链攻击风险。
- 基础功能和画布等特性均从零开发以保持完全控制。
- 小型工具函数会重新实现;中型模块在许可允许情况下采用分叉方案。
- 大型库(如pdf.js)以已知可靠、版本锁定的文件形式引入,升级时保持谨慎。
- 仅包含核心必要包(如Electron、CodeMirror),排除构建工具(如esbuild)。
- 依赖项严格采用版本锁定机制,通过lockfiles确保构建确定性和审计追溯。
- 禁用安装后脚本以防止安装过程中的任意代码执行。
- 依赖更新包含全面审查、变更日志检查、子依赖审计及充分测试。
- 升级过程缓慢而审慎,设置发布延迟期以早期检测恶意版本。
- 综合措施(少依赖、版本锁定、禁用安装后脚本、慢速升级)有效降低供应链风险。