MF Blogs 便利ツール
濃紺の背景にグリッド線が引かれ、中央に青いシールドが配置され、その中に斜線で打ち消された鍵のアイコンが描かれたイラスト

記事

GitHub、シークレットスキャニングにAnthropic/Salesforceの検出器を追加——Anthropicキーはプッシュ保護を標準で有効化

GitHubがシークレットスキャニングにSalesforce・Anthropic・Cloudsmithの新しい検出器を追加しました。Anthropicのサービス/ユーザーAPIキーは、無料の公開リポジトリを含めてプッシュ保護の対象にデフォルトで組み込まれます。

0:00 0:00

GitHubが公式Changelogで、シークレットスキャニング機能の更新を発表しました。Salesforce、Anthropic、Cloudsmithの新しいシークレット種別を検出対象に追加し、特にAnthropicのAPIキーについては、無料プランの公開リポジトリを含めてプッシュ保護の対象にデフォルトで組み込むとしています。

新しいシークレットスキャニングパートナー: Salesforce

今回、Salesforceが新たにシークレットスキャニングのパートナーに加わりました。対象となるのは「salesforce_marketing_cloud_api_oauth2_token」というシークレット種別です。パートナー企業のシークレットが公開リポジトリ内で検出された場合、GitHubはそのシークレットを該当企業へ転送し、悪用される前に失効や再発行の手続きを進められるようにする仕組みになっています。Salesforce Marketing Cloudのトークンは、メール配信や顧客データへのアクセス権限を持つケースが多く、漏えいした場合は不正な一斉配信やデータ抽出につながりかねないため、パートナー連携による早期失効の意義は大きいといえます。GitHubの「secret scanning partnership program」には、こうした主要SaaSベンダーが順次加わってきた経緯があります。

追加された検出器

検出対象として新たに加わったシークレット種別は、Anthropicの「anthropic_service_api_key」「anthropic_user_api_key」、そしてCloudsmithの「cloudsmith_api_key」の3種類です。GitHubはシークレットを「パートナーシークレット」と「ユーザーシークレット」の2種類に分類しており、パートナーシークレットは公開リポジトリで検出されると自動的に発行元へ報告される一方、ユーザーシークレットは公開・非公開を問わずアラートを発生させる仕組みです。今回追加されたAnthropicとCloudsmithの検出器は、このユーザーシークレットの枠組みで動作します。つまり、公開リポジトリでAnthropicのキーが見つかった場合でも、GitHub側からAnthropicへ自動的に通報される仕組みはまだなく、あくまでリポジトリの所有者に対してアラートが上がる形です。Cloudsmithはパッケージ・コンテナレジストリのホスティングサービスで、CI/CDパイプラインに組み込まれるAPIキーが漏えいすると、サプライチェーン全体に影響しかねない点が検出器追加の背景にあると考えられます。

濃紺を背景にGitHubのOctocatのシルエットが浮かび、その手前に白い文字で見出しが配置され、下部に「IMPROVEMENT」のラベルバッジが添えられたバナー画像

画像引用元: GitHub Changelog

プッシュ保護のデフォルト適用拡大

今回の更新でより実務的なインパクトが大きいのは、プッシュ保護のデフォルト適用範囲の拡大です。Anthropicの「anthropic_service_api_key」と「anthropic_user_api_key」の2種類は、シークレットスキャニングが有効なリポジトリであれば、無料の公開リポジトリも含めてプッシュ保護の対象に標準で組み込まれます。該当するシークレットを含むコミットは、プッシュの時点で自動的にブロックされる仕組みで、誤ってAPIキーをコミットしてしまうという典型的な事故を未然に防ぐねらいがあります。これまでプッシュ保護の対象はリポジトリ管理者が個別に有効化する検出器が中心でしたが、Anthropicキーのように生成AIエージェントの開発で広く使われる認証情報は、設定変更なしに最初から保護される対象へと位置づけが変わったことになります。ブロックされたプッシュは、シークレットを履歴から取り除くか、誤検知であれば許可理由を添えてバイパスすることで解除できます。

10月に続くアプリケーションセキュリティ強化の流れ

GitHubは10月に入ってから、アプリケーションセキュリティ関連の機能更新を立て続けに出しています。10月5日にはLovableやSupabase向けの検出器を追加し、10月9日にはC++・Go・Rust・JavaScript解析を強化した「CodeQL 2.27.2」をリリース、10月12日にはコミットの実行者を記録する「Push Attribution」機能の限定公開プレビューも始まりました。今回のSalesforce・Anthropic・Cloudsmith対応は、この一連のセキュリティ強化の流れに位置づけられるアップデートといえます。

開発者が確認しておきたいこと

AnthropicのAPIキーを使ったアプリケーションやエージェントを開発している組織にとっては、既存リポジトリでプッシュ保護が有効になっているか、組織設定から確認しておく価値があります。すでに意図せずコミット履歴に紛れ込んでいるAPIキーがないかどうかも、この機会にあわせて棚卸ししておくとよさそうです。特にCI/CD上でAnthropicのAPIキーを環境変数ではなく設定ファイルに直書きしているようなケースは、今回のデフォルト化によって新規コミットではブロックされるようになりますが、過去のコミット履歴に残ったキーまでは自動的には消えないため、別途のローテーションが必要になる点には注意したいところです。GitHubは詳細な対応シークレットの一覧をドキュメントの「secret scanning」ページで公開しており、今回の変更に関するコミュニティでの議論も案内しています。