【ITニュース解説】Salesloft: March GitHub repo breach led to Salesforce data theft attacks
2025年09月09日に「BleepingComputer」が公開したITニュース「Salesloft: March GitHub repo breach led to Salesforce data theft attacks」について初心者にもわかりやすく解説しています。
ITニュース概要
Salesloft社のGitHubリポジトリが3月に不正アクセスを受けた。この時盗まれたアプリ連携用の認証情報(OAuthトークン)が悪用され、8月にSalesforce上の顧客データを狙った大規模なデータ盗難攻撃が発生した。
ITニュース解説
2024年8月に報告された広範囲なデータ盗難攻撃は、その数ヶ月前の3月に起きたある企業のセキュリティ侵害が原因であったことが明らかになった。この事件は、営業支援ツールを提供するSalesloft社のシステムへの不正アクセスが発端となり、最終的には同社の顧客が利用するSalesforce上のデータが盗まれるという、連鎖的な被害へと発展した。これは、現代のITシステムが多くのサービスと連携して成り立っているからこそ起こりうる、典型的なサイバー攻撃の事例である。
まず、この事件を理解するために、関わっているいくつかのサービスについて説明する。Salesforceは、企業が顧客情報を一元管理するための世界的に有名なクラウドサービス(CRM)だ。営業活動の記録や顧客とのやり取りなどを管理し、ビジネスの根幹を支えている。Salesloftは、このSalesforceと連携して、営業担当者がメール送信や電話、タスク管理などをより効率的に行うための支援ツールを提供する。そしてDriftは、ウェブサイトに設置されるチャットボットなどで知られる、顧客とのコミュニケーションを自動化・効率化するサービスだ。これもまた、Salesforceと連携して利用されることが多い。最後にGitHubは、プログラムの設計図であるソースコードを保存し、複数人で共同開発する際にバージョン管理を行うためのプラットフォームであり、世界中の開発者にとって不可欠なツールとなっている。
今回の攻撃は、2024年3月に攻撃者がSalesloft社のGitHubアカウントへ不正にアクセスしたことから始まった。GitHubには、Salesloftが開発するソフトウェアのソースコードが保管されていた。問題は、そのソースコードの中に、外部のサービスと連携するための「鍵」が保管されてしまっていたことだ。この「鍵」は、専門的には「OAuthトークン」と呼ばれるもので、サービス同士が安全に情報をやり取りするための許可証のような役割を果たす。例えば、SalesloftがDriftの機能を利用したい場合、ユーザーのIDやパスワードを直接やり取りする代わりに、Driftが発行した専用のOAuthトークンを使って「私はSalesloftです。〇〇さんの代理で、この機能を使う許可を得ています」と証明する。これにより、安全かつ限定的な権限でサービス連携が実現できる。攻撃者は、SalesloftのGitHubリポジトリから、このDriftと連携するためのOAuthトークンを盗み出したのだ。本来、このようなトークンはソースコードとは別に、専門のシークレット管理ツールなどを用いて厳重に保管されるべき機密情報であり、GitHubのような場所に平文で保存することは、セキュリティ上の重大な過失と見なされる。
そして数ヶ月後の8月、攻撃者は盗み出したDriftのOAuthトークンを悪用して、実際の攻撃を開始した。攻撃者はこのトークンを使い、正規のSalesloftアプリケーションになりすましてDriftのシステムにアクセスした。ここから被害が連鎖的に拡大していく。DriftはSalesloftの顧客企業の多くで、顧客情報を管理するSalesforceと連携設定がされていた。攻撃者は、Driftの正規のアクセス経路を悪用することで、その先にあるSalesforce内のデータ、具体的には顧客の連絡先情報などにアクセスし、盗み出すことに成功した。つまり、攻撃者はSalesloftのシステムを直接攻撃したわけではなく、盗んだ「鍵」を使ってDriftのシステムを経由し、最終的な標的であるSalesforceのデータを窃取したのである。一つのサービスのセキュリティ侵害が、API(サービス同士を連携させる仕組み)を通じて、他のサービスへと波及し、広範囲なデータ漏洩を引き起こした形だ。
この事件は、システム開発や運用に携わる者にとって、いくつかの重要な教訓を示している。第一に、APIキーやOAuthトークンといった認証情報(シークレット)の厳重な管理の重要性である。これらはシステムの「合鍵」であり、ソースコードに直接書き込むような管理は絶対に避けなければならない。環境変数や専用のシークレット管理サービスを利用し、アクセスできる人間やシステムを最小限に絞ることが不可欠だ。第二に、サプライチェーン攻撃のリスクである。自社のセキュリティ対策が万全でも、連携している外部サービス(サードパーティ)が侵害されれば、そこを踏み台にされて自社が被害を受ける可能性がある。利用する外部サービスのセキュリティ評価や、連携時の権限設定を必要最小限に留める「最小権限の原則」を徹底することが求められる。今回のケースでは、Salesloftという一つのサプライヤーの侵害が、その顧客企業全体のデータ漏洩リスクに直結した。最後に、API連携そのものに潜むリスクの認識だ。APIはサービス間の連携を容易にし、非常に便利だが、同時に攻撃者にとっては新たな侵入口となり得る。APIの利用状況を常に監視し、不審なアクティビティを検知する仕組みを導入することも、現代のシステム開発においては必須の対策と言えるだろう。この一連の出来事は、システム間の連携が複雑化する現代において、一箇所の脆弱性が予期せぬ形で広範囲な被害につながる危険性を改めて浮き彫りにした事例である。