LoginSignup
2
2

More than 3 years have passed since last update.

今すぐにgit-secretを導入しよう!これを読めば1分でgitのオペミスをなくせます!

Posted at

はじめに

GitHubに間違えてAWSのSecret Keyなどを誤って公開してしまって〇〇万円請求されたという話はよく聞きます。

リポジトリをプライベートにしておけばいいだろ!という方も、そのリポジトリをパブリックしたり、Forkしたりしたら危険であることがわかると思います。

そんなとき、意図せずリポジトリにシークレット情報を残さないようにgit-secretをローカルに導入しましょう。

簡単にセッティングできます。

手順

まずはgit-secretをインストールします。

$ brew update && brew install git-secrets

対象ディレクトリで

$ git init 
$ git secrets --install

これでgit-secretを利用できるようになりました。

AWS credentialのチェックはデフォルトで用意されているので、そちらを用います。

$ git secrets --register-aws --global

設定は.gitconfigに記載されています。

セキュリティチェックを追加する際には、.gitconfigに正規表現で記述します。

設定一覧を見るには

$ git secrets --list

◆指定のディレクトリをクロールする場合

$ git secrets --scan -r < directory name > 

これでディレクトリ全体のチェックができます。

◆コミットに含まれていないかのチェック

$ git  add .
$ git commit -m "secret check"

$git secrets --scan
secrets//test.txt:6:AWSSecretKey=wJaXXXXXXXXXX/XXXXXXX/bPxRfiCYEXAMPLEKEYsecrets//test.txt:7:AWSAccessKeyId=AKIAXXXXXXXXXXXAMPLEsecrets//test.txt:9:private_key

[ERROR] Matched one or more prohibited patterns

Possible mitigations:

Mark false positives as allowed using: git config --add secrets.allowed ...

Mark false positives as allowed by adding regular expressions to .gitallowed at repository's root directory

List your configured patterns: git config --get-all secrets.patterns

List your configured allowed patterns: git config --get-all secrets.allowed

List your configured allowed patterns in .gitallowed at repository's root directory

Use --no-verify if this is a one-time false positive

以上です。

まとめ

本当に初歩てきな導入だけを書きました。

上記のことは一瞬でできて、重大なミスを防ぐことができるので、すぐに導入することをおすすめします。

筆者のこちらのブログもぜひ見てみてください👇
ヘヴィメタル・エンジニアリング

2
2
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
2
2