はじめに
HCP Vault Radarは、シークレット情報スキャン機能で、APIキーやパスワードなどの機密情報の漏洩を防ぐためのサービスです。
GitHubのリポジトリと連携するだけで、pushされたコードに含まれるシークレットを自動で検出してくれるということで、実際に触ってみました。
HCP Vault Radarの詳しい説明は、以下のご紹介動画を参照ください。
HCP Vault Radarではいくつかのスキャン方式を提供しています。
以下は、HCP Vault Radarが提供するスキャン方式の一覧です。
| # | カテゴリ | 説明 |
|---|---|---|
| 1 | HCP Vault Radar Scan | SaaSからの直接スキャン、トライアル環境で設定可能。 |
| 2 | Vault Radar Agent Scan | Agent経由のスキャン、トライアル環境で設定可能。Agentは1つまで構成可能 |
| 3 | Vault Radar CLI Scan | CLIでのスキャン。マニュアルに「Contact your customer success manager to enable HCP Vault Radar or for a license to run the CLI in offline mode.」と記載あるので一部利用できない可能性あり。 |
今回は、#1 HCP Vault Radar Scan 方式のスキャンを試してみました。

1.事前準備
HCP Vault Radarの30日間利用できるトライアル環境を用意します。
1.https://portal.cloud.hashicorp.com にアクセスし、Sign inをクリックします

2.アカウントを作成します(メールアドレスの指定、または、Githubアカウントでのログイン)

今回は、メールアドレスを入力して、Continueをクリックします

受信したメールのアイコン、または、リンクをクリックします。(個人メールアドレスでリンク、ボタンが表示されなかったので参考まで)

6.リダイレクト先で、Organization Typeとして「Personal」を選択し、HCP Cloudの組織名を入力後、「Create Organization」をクリックします。

※以降の手順はデザインが変わる前の環境で取得したため、レイアウトが多少異なる可能性があります。
8.ダッシュボード左メニューの「Vault Radar」を選択します

9.トライアルの申し込みします(Get started with 30 day trial を選択)

こちらで、HCP Vault Radar環境が準備できました。
次に、GitHubと連携設定を行います。
2.GitHubとの連携
1.遷移先の画面で、スキャン方法として、「HCP Vault Radar Scan」を選択し、Continueをクリックします
2.スキャン対象のデータソースを設定します。今回はGitHub Cloudを選択します

3.GitHubの組織名を指定し、パーソナルアクセストークンを設定します

GitHubのアクセストークンは、下記スコープを選択して発行します。
- repo
- read:org
- admin:repo_hook
- admin:org_hook
- read:user
4.リポジトリを選択します。(あるいは、All active repositoriesを選択します

5.スキャンが完了すると、以下のような画面に遷移します。
以上で、GitHubとの連携ができました。
次に、リポジトリにシークレットを記載し、スキャンしてみます。
3.GitHubへのテストシークレットの登録とプッシュ
テストシークレットを登録して、GitHubにPushします。
❗ 本物の鍵は絶対に使用しないでください。本記事のキーはすべて無効なダミーです。
vault-radar-demo/
└── config.js
config.js
const password = "hunter2";
const dbPassword = "supersecurepassword123";
GitHubに同期されたことを確認します。
4.スキャン結果確認
HCP Vault Radarが自動的にスキャンした結果がダッシュボードに表示されます。
スキャンは次の3つのタイプで区分けされていました。
| # | カテゴリ | 説明 |
|---|---|---|
| 1 | Secrets | シークレット |
| 2 | PII | 個人を特定できる情報 |
| 3 | Non-Inclusive Language | 非包括的言語(特定のグループの人々を排除したり、不快にさせたりする可能性のある言葉や表現のこと) |
Detailsタブの右上にある「Add to scan queue」ボタンをクリックすると、手動でスキャンキューを登録できました。

カテゴリ名で「Secrets」のリンクをクリックすると、検出したシークレット情報がイベント形式で一覧表示されます。
各イベント行を選択すると、さらに詳細情報が表示されました。また、Remediation(修復措置)についても情報提供があります。

Context列にあるリンクをすると、GitHubでソースコードを確認できます。

シークレットごとに、Triaged/False Positive(誤検知)/などステータス管理ができます。

最後に
今回は、HCP vault Radarから直接スキャンする形で、GitHubのデータをスキャンしました。
次回は、HCP Vault Radarで、GitHubのPull Request内にあるシークレット検出機能を試してみます。Pull Requestをスキャンすることで、新しいコードに潜むシークレット漏洩のリスクを早期に発見できる可能性があります。
参考情報
Vault Radar公式ページ(英語)
https://developer.hashicorp.com/hcp/docs/vault-radar










