Hasty Briefsbeta

双语

To keep your machine secure, run third-party tools inside Docker

9 months ago
  • #docker
  • #security
  • #linting
  • 运行HTMLhint这类代码检查工具需要安装27个依赖项,其中任何一个都可能是恶意的,存在重大安全隐患。
  • 即便是亚马逊这样的大型企业也曾因此类风险遭受攻击。
  • 代码检查工具仅需当前目录下的文件只读权限,既不需要联网能力也不应获得文件修改权限。
  • 在Docker容器内运行检查器可通过强制限制来降低风险:禁止联网、禁止访问当前目录外文件、目录内仅只读访问。
  • 该技术能有效缩小攻击面,可推广应用于各类工具链,包括Go语言的golangci-lint。
  • 对于需要修改文件的格式化工具,可在Docker内使用读写挂载卷实现。
  • 该方案特别推荐用于GitHub Actions工作流,已被GitHub Actions样板生成器采用。