Ruby生态系统中央包仓库安全审计
Ruby Central委托Trail of Bits对Ruby应用官方包管理系统RubyGems.org进行安全评估和竞品分析。作为下载量超1840亿次的关键基础设施,该平台的安全直接影响数百万Ruby开发者。
审计范围与发现
三名工程师耗时五周审查了rubygems.org和rubygems-terraform代码库,重点评估:
- 常见Web漏洞(XSS/CSRF/SQLi/SSRF)
- 认证绕过风险
- 权限控制有效性
- AWS服务配置安全
发现的33个安全问题中包括:
- 高危漏洞:SMTP邮件系统采用
enable_starttls_auto: true
配置,可能被中间人攻击降级为明文传输。建议改用强制TLS的enable_starttls
配置。 - 部署流程缺陷:生产环境部署缺乏多方审批机制
- 基础设施风险:混合使用IaC与手动配置导致安全缺口(TOB-RGM-16等4个相关发现)
- 反序列化风险:RubyGems库存储Marshal数据可能被利用(虽不影响服务本身)
竞品分析与改进建议
对比PyPI/npm等包管理器后提出19项改进,重点包括:
- 强化可信发布基础设施
- 扩展支持平台范围
- 自动化权限管理(Terraform)
- 集成安全测试工具链(Semgrep/Burp Suite/Ruzzy)
自动化测试方案
采用多层次安全测试:
- 静态分析:定制Semgrep规则检测不安全配置
- 动态测试:Burp Suite Professional检测SSRF/API漏洞
- 模糊测试:Ruzzy模糊测试器重点检测WebAuthn的CBOR库内存损坏风险
“此次审计既确认了我们负责任地维护着Ruby包生态,也指明了下一步安全投资方向” —— Ruby Central安全工程师Samuel Giddins
完整报告详见[审计报告链接],Ruby Central团队声明参见[公告链接]。