2024年12月15日,TinaCMS发现涉及被盗用的AWS访问密钥的未经授权活动。这些密钥被利用来使用我们的Amazon Simple Email Service (SES)基础设施发送未经授权的电子邮件(目标是法国的普通社区,而非Tina的客户)。

Figure: 发送的邮件是法语
作为自动化措施,受影响的密钥已被撤销。随后,我们的团队通过CloudTrail日志确认了事件的范围,调查了根本原因,并采取了措施(如下所述)来保护我们的系统。
外发邮件功能,包括用户邀请,受到了影响。目前这一问题已得到解决。
对此我们深表歉意,并有信心此类事件不会再次发生。
事件开始:2024年12月13日,16:33 GMT+11
检测时间:2024年12月15日,19:05 GMT+11
事件类型:未经授权使用AWS访问密钥
受影响的服务:
Amazon SES(邮件发送)
依赖外发邮件的用户邀请工作流
访问性质:
验证:
未经授权的访问被追溯到我们CI/CD管道中的一个漏洞。在构建过程中,GitHub Actions工作流中的一个步骤无意中将GitHub Actions Runner的环境变量(包括敏感的AWS访问密钥)写入了一个JavaScript文件。
包含密钥的JavaScript文件随后被部署并作为TinaCloud的一部分公开提供,使攻击者能够直接从前端代码中获取访问密钥。
客户数据:
✅ 根据CloudTrail日志,没有未经授权访问客户数据的证据。
这包括内容数据库、终端用户登录信息、应用程序密钥的访问。
受影响的系统:
⚠️ 用于邮件发送功能的Amazon SES
用户影响:
❌ 邮件服务的临时中断影响了工作流,包括用户邀请
✅ 完成 - 撤销所有访问密钥:
所有被盗用和旧的AWS访问密钥立即被撤销
✅ 完成 - 访问验证:
审查CloudTrail日志以识别和确认未经授权的行为者访问的系统
✅ 完成 - 确认安全控制:
在所有具有控制台访问权限的用户账户上启用了MFA(多因素认证)
撤销了所有不必要用户的访问权限
✅ 完成 - 暂停邮件发送:
在确认根本原因和AWS的审查期间,外发邮件服务被暂时暂停。
目前服务已恢复。
✅ 完成 - CI/CD AWS访问:
GitHub Actions的认证已从长期有效的访问密钥升级为OIDC
✅ 完成 - 构建过程:
审查了构建过程,并更新了环境变量的处理。
使用import.meta替换了process.env,遵循
Vite的文档中概述的最佳实践,以防止敏感数据在构建工件中暴露。
✅ 完成 - 仓库密钥审计:
正在对所有GitHub仓库进行彻底审计,以识别过去构建或提交中可能无意中暴露的任何其他敏感信息
[待办] 加强IAM策略:
已审查并更新与CI/CD系统相关的IAM策略,以确保遵循最小权限原则,移除不必要的权限,特别是那些具有根或管理访问权限的权限
[待办] AWS访问的IP白名单:
AWS IAM角色使用已限制在受信任的IP范围内,特别是对于CI/CD系统和其他敏感操作
[待办] 持续监控和警报:
将实施持续监控工具,如Amazon GuardDuty、AWS CloudTrail Insights和AWS Security Hub,以检测和警报可疑活动,如新访问密钥的创建或异常IP访问
[待办] 自动安全扫描:
将自动工具集成到CI/CD管道中,以在代码构建期间主动检测密钥或漏洞
验证邮件来源:确保任何声称来自TinaCMS的邮件都是合法的
保持更新:通过我们的官方沟通渠道获取实时更新
如有问题、疑虑或需要进一步信息,请联系:
TinaCMS始终致力于保护我们的系统并保持透明。
🦙 Tina团队