CircleCI——代码构建服务遭受完全凭证泄露

CircleCI——代码构建服务遭受完全凭证泄露

CircleCI – 代码构建服务遭受完全凭证泄露 PlatoBlockchain 数据智能。垂直搜索。人工智能。

如果您是一名程序员,无论您是出于业余爱好还是专业编码,您都会知道创建项目的新版本——您自己、您的朋友或您的客户将实际安装的官方“发布”版本和使用——总是有点紧张。

毕竟,发布版本取决于您的所有代码,依赖于您的所有默认设置,仅与您发布的文档一起发布(但没有内部知识),甚至需要在您以前从未见过的计算机上工作,设置在您从未想过的配置,以及您从未测试过兼容性的其他软件。

简而言之,项目变得越复杂,您从事该项目的开发人员就越多,需要与所有其他组件顺利协作的独立组件也就越多……

......整个事情越有可能比各部分的总和更不令人印象深刻。

作为一个粗略的类比,考虑一下拥有最快个人 100 米短跑运动员的田径队并不总能赢得 4x100 米接力赛。

CI 来拯救

一种避免这种“但它在我的电脑上运行良好”危机的尝试是一种在行话中被称为 持续整合CI 简而言之。

这个想法很简单:每次有人在他们的项目部分进行更改时,抓住那个人的新代码,并通过完整的构建和测试周期将他们和他们的新代码搅拌在一起,就像您在创建最终版本之前所做的那样版本。

尽早构建,经常构建,构建一切,始终构建!

显然,这是现实世界中项目无法承受的奢侈:如果你正在建造,比如说,悉尼海港大桥,你不能每次都用全新的原材料重建整个测试跨度决定调整铆接过程或看看是否可以在山顶安装更大的旗杆。

即使当您将一个计算机软件项目从一堆源文件“构建”成一组输出文件时,您也会消耗宝贵的资源,例如电力,并且您需要突然激增的计算能力才能与开发人员开发的所有计算机一起运行自己在用。

毕竟,在使用 CI 的软件工程过程中,其理念不是等到每个人都准备好,然后让每个人都退出编程,等待最终构建完成。

每天都在进行构建,这样编码人员就可以提前很长时间知道他们是否无意中做出了对其他人产生负面影响的“改进”—— 破坏构建,正如行话所说。

这个想法是:尽早失败,快速修复,提高质量,取得可预测的进展,并按时交付。

当然,即使在成功的测试构建之后,您的新代码中可能仍然存在错误,但至少您不会在开发周期结束时发现每个人都必须回到绘图板才能获得构建和工作的软件,因为各种组件已经偏离对齐。

早期的软件开发方法通常被称为遵循 瀑布模型,每个人都和谐但独立地工作,因为项目在版本截止日期之间轻轻地顺流而下,直到周期结束时一切都聚集在一起创建一个新版本,准备跳入版本升级的混乱瀑布,然后出现另一个版本下游的清水缓期有待进一步设计开发。 然而,这些“瀑布”的一个问题是,尽管有重力,你常常最终会被困在瀑布边缘的一个看似无穷无尽的圆形漩涡中,直到长时间的黑客攻击和修改(以及随之而来的超支)使继续旅程成为可能。

只是云的工作

正如您所想象的那样,采用 CI 意味着只要您的任何开发人员触发构建和测试过程,您就可以使用一堆功能强大、随时可用的服务器,以避免重新陷入“陷入困境”的境地。非常瀑布的边缘”的情况。

这听起来像是云的工作!

而且,事实上,有许多所谓的 CI/CD 云服务(这 CD 不是可播放的音乐光盘,而是 持续交货) 为您提供了灵活性,让不同产品的数量不断变化的不同分支通过不同配置的构建,甚至可能同时在不同的硬件上。

CircleCI 是这样一种基于云的服务……

......但是,不幸的是,对于他们的客户来说,他们只是 遭到破坏.

从技术上讲,而且现在似乎很普遍,该公司实际上并没有在其官方通知中的任何地方使用“违规”、“入侵”或“攻击”等词:到目前为止,这只是一个 安全事件.

注意 [2023-01-04] 简单地说:

我们想让您知道我们目前正在调查一起安全事件,并且我们的调查正在进行中。 我们将为您提供有关此事件的最新信息以及我们的回应。 在这一点上,我们确信我们的系统中没有活跃的未经授权的行为者; 但是,出于谨慎考虑,我们希望确保所有客户也采取某些预防措施来保护您的数据。

怎么办呢?

从那时起,CircleCI 提供了定期更新和进一步的建议,主要归结为:“请轮换存储在 CircleCI 中的所有秘密。”

正如我们之前解释过的,行话 轮流 在这里选择不当,因为它是一个危险过去的遗留问题,在过去人们确实通过少数可预测的选择“轮换”密码和秘密,不仅因为当时跟踪新密码和秘密更难,而且因为网络安全不是'没有今天那么重要。

CircleCI 的意思是你需要更改你所有的密码、秘密、访问令牌、环境变量、公私密钥对等等,大概是因为破坏网络的攻击者要么偷了你的,要么不能证明没有偷了他们。

该公司有一个 提供了一份清单 受漏洞影响的各种私人安全数据,并创建了一个名为 CircleCI-环境检查员 您可以使用它来导出您需要在您的环境中更改的所有 CI 机密的 JSON 格式列表。

此外,网络犯罪分子现在可能拥有访问令牌和加密密钥,可以让他们回到您自己的网络,特别是因为 CI 构建过程有时需要“打电话回家”以请求您不能或不想要的代码或数据上传到云端(执行此操作的脚本在行话中称为 亚军).

因此,CircleCI 建议:

我们还建议客户从 2022 年 12 月 21 日 [直到并包括 2023 年 01 月 04 日] 或完成 [更改您的秘密] 后查看其系统的内部日志以了解任何未经授权的访问。

有趣的是,如果可以理解的话,一些客户已经注意到 CircleCI 隐含的这次违规开始的日期 [2022-12-21] 恰好与一篇博文重合 公司发表 关于最近的可靠性更新。

客户想知道,“此次违规是否与此次更新中引入的漏洞有关?”

鉴于该公司的可靠性更新文章似乎是滚动新闻摘要,而不是在特定日期进行的个别更改的公告,显而易见的答案是“否”……

......CircleCI 表示可靠性博客文章的巧合日期是 2022-12-21 只是:一个巧合。

快乐的密钥重新生成!


时间戳记:

更多来自 裸体安全