ArgoCD に対する新たな攻撃手法:Kubernetes の内部 DNS 解決を悪用して Git 認証情報を窃取

New Attack Technique That Enables Attackers To Exfiltrate Git Credentials In Argocd

2025/09/11 CyberSecurityNews — 人気の GitOps ツール ArgoCD 内において、新たに公開された攻撃手法を用いる認証済みユーザーであれば、強力な Git 認証情報を窃取できることが、サイバー・セキュリティ研究グループ Future Sight により明らかにされた。この攻撃手法は、Kubernetes の内部 DNS 解決を悪用して、転送中の認証情報を傍受するものであり、CD (continuous delivery) ツールを利用する組織にとって深刻なリスクとなる。

Cloud Native Computing Foundation (CNCF) の主要プロジェクトである ArgoCD は、GitリポジトリからKubernetesマニフェストを取得して、アプリケーションの望ましい状態を維持する。この機能は、GitHub などの Git サーバに接続するための、認証情報を保存することで可能になる。

Git Credentials Argocd
Design architecture (source: Futuresight)

これらの認証情報は、セキュリティ上の理由から ArgoCD インターフェイス内に隠されているが、この新たな攻撃手法で用いられる手段は、接続プロセス中に認証情報を取得するものだ。

攻撃の詳細

この手法のコアは内部 DNS スプーフィング攻撃にある。ArgoCD アカウントに侵入した特定の権限を持つ攻撃者は、同じ Kubernetes クラスター内に悪意のサービスをデプロイできる。このサービスは、”github.com” など正規の Git リポジトリのドメインと意図的に競合するよう命名される。

Kubernetes の DNS 処理方式により、ArgoCD のリポジトリ・サーバを含むポッドが最初に試みるのは、内部クラスタ DNS に対するドメイン解決である。攻撃者の悪意のサービスが作成するのは、自身の内部 IP アドレスに “github.com” をポイントする DNS レコードである。

その結果として、ArgoCD がリポジトリを同期する際に、接続リクエストは実際の GitHub ではなく、攻撃者のプロキシ・サービスに送信されてしまうと、Future Sight は述べている。研究者たちが “Argexfil” と名付けたサービスは、実際の Git サーバにトラフィックが転送される前に認証情報を記録することで、検出を回避していく。

Git Credentials Argocd
Overview of the attack (source: Futuresight)

この手法は、リポジトリが HTTPS 接続を使用している状況でも有効である。ただし、この攻撃の前提として必要になるのは、ArgoCD にカスタム証明書を追加する権限を、攻撃者が持っていることである。

攻撃者は、悪意のサービス用に自己署名証明書を生成し、それを ArgoCD の信頼済み証明書リストに追加することで、中間者攻撃 (MitM) を成立させ、トラフィックを復号して認証情報を窃取する。

この手法により窃取される多様な認証情報には、ユーザー名とパスワード/個人アクセストークン (PAT)/GitHub Apps で使用される有効期間の短い JWT やアクセス・トークンなどがある。

これらの認証情報が流出すると、攻撃者はソースコードの閲覧や改変、デプロイメントパイプラインへの悪意あるマニフェスト挿入、さらには他システムへの侵入を試みる可能性がある。

緩和策

この攻撃は、未認証ユーザーに悪用を許すゼロデイ脆弱性ではない。攻撃者が必要とするものは、アプリケーションの作成権限であり、また、HTTPS ターゲットの場合には、証明書を持つ ArgoCD セッションである。

研究者によると、ArgoCD チームは、この手法について報告を受けていたようだ。

この新たな攻撃アプローチは認識されているが、ArgoCD 自体の直接的な脆弱性とは分類されず、Kubernetes のデフォルト DNS 動作と、不適切なユーザー権限設定に起因するリスクだとされている。

この攻撃手法から組織を保護するために推奨されるのは、以下の対策である:

  • 鍵交換メカニズムは有効なので、可能な限り SSH ベースの Git 接続を使用する。
  • 最小権限の原則を適用し、ユーザー権限を制限する。
  • ArgoCD の証明書を追加/変更できるユーザーを、厳格に制限する。
  • ArgoCD アプリケーションおよび Kubernetes 内部ネットワーク・トラフィックの双方に対して堅牢な監視を実装する。