0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのHCP Vault Radar① GitHub連携によるシークレット自動検出

Posted at

はじめに

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 方式のスキャンを試してみました。
image.png

1.事前準備

HCP Vault Radarの30日間利用できるトライアル環境を用意します。

1.https://portal.cloud.hashicorp.com にアクセスします

2.アカウントを作成します(Google連携もOK)

3.ダッシュボード左メニューの「Vault Radar」を選択します
image.png

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

こちらで、HCP Vault Radar環境が準備できました。
次に、GitHubと連携設定を行います。

2.GitHubとの連携

1.遷移先の画面で、スキャン方法として、「HCP Vault Radar Scan」を選択し、Continueをクリックします

image.png

2.スキャン対象のデータソースを設定します。今回はGitHub Cloudを選択します
image.png

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

GitHubのアクセストークンは、下記スコープを選択して発行します。

  • repo
  • read:org
  • admin:repo_hook
  • admin:org_hook
  • read:user

image.png

4.リポジトリを選択します。(あるいは、All active repositoriesを選択します)

image.png

5.スキャンが完了すると、以下のような画面に遷移します。

image.png

以上で、GitHubとの連携ができました。
次に、リポジトリにシークレットを記載し、スキャンしてみます。

3.GitHubへのテストシークレットの登録とプッシュ

テストシークレットを登録して、GitHubにPushします。

❗ 本物の鍵は絶対に使用しないでください。本記事のキーはすべて無効なダミーです。

vault-radar-demo/
├── .env
└── config.js

.env

AWS_ACCESS_KEY_ID=AKIAFAKEKEY1234567890
AWS_SECRET_ACCESS_KEY=wJalrXUtnFAKESECRETKEYEXAMPLE
SENDGRID_API_KEY=SG.fakevalue.1234

config.js

const password = "hunter2";
const dbPassword = "supersecurepassword123";

GitHubに同期されたことを確認します。
image.png

4.スキャン結果確認

HCP Vault Radarが自動的にスキャンした結果がダッシュボードに表示されます。

リソース名をクリックすると、詳細情報が確認できます。
image.png

image.png

スキャンは次の3つのタイプで区分けされていました。

# カテゴリ 説明
1 Secrets シークレット
2 PII 個人を特定できる情報
3 Non-Inclusive Language 非包括的言語(特定のグループの人々を排除したり、不快にさせたりする可能性のある言葉や表現のこと)

Detailsタブの右上にある「Add to scan queue」ボタンをクリックすると、手動でスキャンキューを登録できました。
image.png

Scansタブでは、スキャン履歴が時系列で確認できます。
image.png

カテゴリ名で「Secrets」のリンクをクリックすると、検出したシークレット情報がイベント形式で一覧表示されます。

各イベント行を選択すると、さらに詳細情報が表示されました。また、Remediation(修復措置)についても情報提供があります。
image.png

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

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

最後に

今回は、HCP vault Radarから直接スキャンする形で、GitHubのデータをスキャンしました。
次回は、HCP Vault Radarで、GitHubのPull Request内にあるシークレット検出機能を試してみます。Pull Requestをスキャンすることで、新しいコードに潜むシークレット漏洩のリスクを早期に発見できる可能性があります。

参考情報

Vault Radar公式ページ(英語)
https://developer.hashicorp.com/hcp/docs/vault-radar

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?