執筆:NebuSec · 2026年10月21日
原文:https://nebusec.ai/research/pingcap-security-incident/
※本記事は原文(英語)の翻訳版です。日本語訳と原文(英語)の内容に差異や齟齬が生じた場合は、原文(英語)が優先されます。
はじめに
2026年10月、NebuSecはPingCAPの社内システムに影響を及ぼしたセキュリティインシデントへの対応を実施しました。2026年9月9日から10月7日にかけて、権限のない第三者が侵害されたGitHubアカウントおよび露出したクラウド認証情報を悪用し、PingCAPの社内システムへのアクセス、ソースコードの取得、ならびに社内の分析システム、ストレージ、サポート環境からのデータの複製を行いました。PingCAPはNebuSecに独立した調査を依頼し、露出した情報の範囲を評価するとともに、PingCAPが2026年10月19日のセキュリティアップデートで示した封じ込めおよび改善措置の支援を行いました。
PingCAPの本番環境全体を調査した結果、NebuSecは攻撃者によるコマンド実行や永続化(侵害の維持)の証拠を確認せず、お客様のTiDBデータベースに保存されているデータにアクセスされた証拠も確認されませんでした。本インシデントによる侵入は、社内のソースコードリポジトリ、ならびに認証情報を用いた社内分析システム、ストレージ、運用ツールへのアクセスに限定されていました。
PingCAPは、本活動を検知した当日である2026年10月7日に影響を受けた認証情報の無効化を開始しました。主要な重要認証情報はその日のうちにすべて無効化されました。10月14日までに、特定された侵害済みの認証情報はすべて無効化され、広範なプロジェクトに横断した権限は削除されました。また、流出したソースコードの予防的レビューにおいてNebuSecが特定した複数の脆弱性についてもパッチが適用され、修正が検証されました。
不正アクセスの概要
攻撃者は、侵害されたGitHubアカウントを介してPingCAP環境への初期アクセスを獲得し、プライベートリポジトリを露出させました。攻撃者はこれらのリポジトリおよびTerraformのステートファイルから収集した侵害済みのキーやトークンを利用し、Google Cloud、Jira、およびTiDBアラート用の社内チャットツールへと水平展開しました。
攻撃者はJiraのサポートチケットを介して、過去に日常のサポート対応フローの中でお客様から共有されていた追加の認証情報を収集しました。これにはAWSキーが含まれており、結果として侵入者は顧客のTiDB診断データを含むS3バケットへのアクセスが可能となりました。
9月から10月初旬にかけての数週間にわたり、攻撃者はGoogle Cloudサービスアカウントの保存されていたキーを使用し、最終的に9月23〜24日にPingCAPのBigQueryデータウェアハウスからテーブルをエクスポートし、Cloud Storageからデータをダウンロードしました。窃取されたデータには、TiDB Cloudコントロールプレーンのメタデータのコピー、お客様のSQLエディタの実行履歴、CRMレコード、請求データに加え、ソースコード、Jiraのチケット、社内チャットツールの会話履歴が含まれていました。
入手可能な証拠に基づく限り、攻撃者が稼働中のお客様のTiDBクラスターにアクセスした事実は確認されていません。
PingCAP侵入タイムライン
| 日付 / 段階 | アクティビティ |
| 9月9日以前 | 侵害されたGitHubアカウントにより、プライベートリポジトリへのアクセスが可能となる。 |
| 9月9日〜10月7日 | リポジトリおよびインフラ設定ファイルから得たキーやトークンにより、Google Cloud、Jira、およびTiDBアラート用社内チャットへのアクセスが行われる。 |
| 追加アクセス | Jiraチケットから収集された認証情報(AWSキー)により、顧客のTiDB診断データを含むS3ログバケットへのアクセスが行われる。 |
| 9月23日〜24日 | 侵害されたGoogle Cloudサービスアカウントを使用し、社内BigQueryテーブルをCloud Storageにエクスポート。 |
| 10月2日〜5日 | コントロールプレーンメタデータのコピー、SQLエディタ履歴、請求レコード等を含むCloud Storageのデータがダウンロードされる。 |
| 10月7日 | PingCAPが侵入を検知・把握。 |
図1:認証情報へのアクセスとデータ収集の流れ(UTC)
露出したデータ
NebuSecは、クラウドのアクティビティログ、インシデントファイル一覧、および検証用データサンプルを照合し、以下にまとめられた露出データおよびその取得元を特定しました。
| 内容 | 取得元 |
| 社内ソースコード、設定ファイル、露出した認証情報 | プライベートGitHubリポジトリ |
| アカウントおよび組織レコード、クラスターおよび接続設定、暗号化されたAPIキー値 | BigQuery、およびGoogle Cloud Storage内のコントロールプレーンデータのコピー |
| SQLエディタ履歴、AIとのやりとり、ゲートウェイ接続ログ | BigQuery、およびGoogle Cloud Storage内のサービスデータのコピー |
| 顧客連絡先、契約書、注文書、売上および請求レコード、クラウドリソースコスト | BigQuery、Google Cloud Storage |
| 利用状況分析、マーケティング・営業記録、従業員および部門情報 | BigQuery社内分析データセット |
| サポートチケット、添付ファイル、トラブルシューティング資料(ログ、SQLファイル、含まれていた認証情報) | Jira、AWS S3、およびBigQueryにコピーされていたサポートデータ |
| チャット履歴およびグループメンバー一覧 | TiDBアラート用チャンネル(社内チャット)の履歴、およびメンバー情報 |
| インフラ構成およびオーケストレーションシステムのバックアップ | Google Cloud Storage |
表1:露出したデータと対象ソースシステム
エクスポートされたテーブル内のTiDB Cloud APIキーの値は暗号化されており、復号に必要な暗号鍵は露出していませんでした。この鍵がなければ、暗号化された値を復号して有効なAPI認証情報として復元することはできません。
PingCAPの社内分析システム、ストレージ、サポートシステムから複製された顧客関連情報は存在したものの、この露出は、お客様が本番運用しているTiDBデータベースに直接アクセスしてデータを抽出することとは明確に異なります。
封じ込めと改善措置
NebuSecは、侵入の封じ込め、露出した認証情報の特定、および改善措置の検証においてPingCAPを支援しました。対応にあたっては、正当なビジネスサービスを継続して稼働させつつ、迅速なアクセス権の取り消し措置を組み合わせました。
認証情報の失効
NebuSecは、PingCAPが侵害されたサービスアカウントを無効化し、露出したキーを失効させ、影響を受けたアイデンティティを再発行し、アクセス権限を厳格化したことを確認しました。特定された侵害済み認証情報はすべて無効化され、特定された不正アクセス経路は遮断されました。
また、NebuSecはPingCAPの露出データおよびコードリポジトリを精査し、追加の露出認証情報がないかスキャンを実施した上で、PingCAPと連携して認証情報のローテーションおよび検証を行いました。
ソースコードレビューとセキュリティ強化
攻撃者が社内ソースコードのコピーを取得していたため、NebuSecは影響を受けたサービスに焦点を当てたセキュリティレビューを実施し、ソースコードを入手した攻撃者が今後悪用する可能性のある脆弱性の探索を行いました。NebuSecは本番データに影響を及ぼす可能性のある4件の脆弱性を報告しました。PingCAPは4件すべてにパッチを適用し、NebuSecはそれぞれの修正を再テストして改善を検証しました。本番環境の過去ログを遡及調査した結果、修正前にこれらの脆弱性が悪用された証拠は確認されませんでした。
これらの修正と並行して、PingCAPはロギング機能と境界防御を拡張し、影響を受けたプロジェクトにおける追加のCloud Storageアクセスログを有効化しました。また、レビュー中に特定されたインターネットに公開されている全16のサービスがWebアプリケーションファイアウォール(WAF)によって保護されていることを確認しました。広範な認証情報のローテーション、プロジェクト横断的なIAMの見直し、およびシークレットスキャンの対象拡大は現在も継続して実施されています。
推奨される対応
当社の検証により、エクスポートされたテーブル内のTiDB Cloud APIキーは暗号化されており、直接利用することはできないことが確認されています。ただし、これは前述のAWSキーを含む、サポート資料等から復元された認証情報には適用されません。お客様におかれましては、PingCAPが公開しているローテーション手順に従い、現在アクティブなTiDB Cloud管理APIキーを速やかに再発行(ローテーション)することを推奨いたします。(※注1)
また、PingCAPサポートに対して過去に認証情報を共有されたことのあるお客様は、該当する認証情報をローテーションすることを推奨いたします。
PingCAPはお客様ごとの影響範囲を特定中であり、影響を受けるお客様には直接ご連絡を差し上げます。個別のご連絡をお待ちいただくことなく、公開されている予防措置を実施してください。
防御者のための教訓
エンジニアリングチームおよびセキュリティチームにとって、以下の3つのプラクティスがリスクの低減とインシデント対応の強化に役立ちます。
- 認証情報の管理と最小権限の適用
サービスアカウント、キー、トークンには明確なオーナーを定め、ワークロードに必要な最小限のアクセス権のみを付与すること。権限と認証情報の有効期限を定期的に見直し、ローテーションと失効のための確実なプロセスを維持すること。
- 脆弱性と露出シークレットに関するコードレビュー
セキュリティレビューと、ソースコード・設定ファイル・リポジトリ履歴に対する自動スキャンを組み合わせること。ソフトウェアの脆弱性と露出した認証情報の双方に対処し、さらなるアクセス機会を減らすために修正を検証すること。
- クラウドの可視性向上
クラウドサービス全体にわたり、アイデンティティの利用、権限の変更、データアクセスの可視性を維持すること。監査記録を一元化し、異常なアクセスやデータの移動に対してアラートを設定することで、活動を早期に検知し、影響範囲を迅速に評価できるようにすること。
侵害指標(IOCs: Indicators of Compromise)
攻撃者は、2026年9月9日から10月7日の間にPingCAPのクラウド環境へアクセスする際、以下のIPアドレスを使用しました。
| 送信元IPv4アドレス | 観測日(UTC, 2026年) | 関連アクティビティ |
146.70.173[.]219 |
9月9日〜10日 | 侵害された複数のサービスアカウントによるリソース探索 |
23.234.82[.]156 |
9月23日 | BigQueryデータウェアハウスの一括エクスポート(JobService.InsertJob) |
23.234.83[.]80 |
9月24日 | BigQueryデータウェアハウスの一括エクスポート(JobService.InsertJob) |
23.234.80[.]121 |
9月29日、10月3日〜5日 | リソース探索、およびrcloneを使用したCloud Storageデータのダウンロード |
138.199.43[.]96 |
10月2日〜3日 | rcloneを使用したCloud Storageデータのダウンロード(storage.objects.get) |
23.234.81[.]225 |
10月7日 | 侵害された複数のサービスアカウントによるリソース探索 |
MITRE ATT&CK® およびアーティファクトのマッピング
調査中に確認された主な攻撃手法およびクラウド操作は以下の通りです。これらのAPIやツールは通常の管理業務でも日常的に使用されるため、調査における有用性は、異常な送信元IP、User-Agent、およびアクセスパターンと相関分析することによって得られます。
| 手法 | 観測された挙動および痕跡 |
| 保護されていない認証情報 (T1552) | Gitのコミット履歴や平文のTerraformステートファイルに残存していたサービスアカウントの秘密鍵。ソースコードや設定ファイルに含まれていた平文のJira APIトークンおよびFirewatchボットキー。 |
| 有効なアカウント: クラウド アカウント (T1078.004) | 侵害された8つのGoogle Cloudサービスアカウントを使用した直接的なAPI認証。 |
| クラウド インフラストラクチャの探索 (T1580) | 外部IPアドレスからPython-urllib/3.12のクライアントシグネチャを使用した、継続的な compute.instances.aggregatedList リクエスト。 |
| 自動収集 / ステージング (T1119 / T1074.002) | google.cloud.bigquery.v2.JobService.InsertJob 経由で送信されたBigQuery EXTRACTの一括ジョブ(6,458個のテーブルを .json.gz オブジェクトとしてCloud Storageへ書き出し)。 |
| クラウド ストレージからのデータ窃取 (T1530) | rcloneクライアントを使用した、storage.objects.get(HTTP 200およびHTTP 206)経由の直接的なオブジェクトダウンロード。 |
※すべてのイベント時刻はUTC(協定世界時)です。本調査結果は2026年10月21日時点の調査状況を反映したものです。社内リソース識別子および認証情報の具体的な値は省略されています。
※注1 2026年10月22日(木)23:00 JSTにTiDB Cloudの全てのAPIキーのローテーションをPingCAPで実施いたしました。