
Have I Been Pwned(HIBP)APIを使用して、パスワードがデータ侵害で漏洩したかどうかを確認するコマンドラインツール。
PwnedCheck は、Have I Been Pwned API を使用して、パスワードが既知のデータ侵害に含まれているかどうかをチェックするコマンドラインツールであり、暗号化された Bitwarden ボールトのエクスポートをサポートしています。
-hashed で事前ハッシュ化された SHA-1 入力を受け付ける-bw で暗号化された Bitwarden エクスポートをチェックする-hide で出力内の平文パスワードを隠す-v でリクエストレベルの HIBP 診断を表示する-stats で実行終了時の統計情報を表示するリリースページから、お使いの OS に合わせたプリコンパイル済み静的バイナリを直接ダウンロードできます:
pwnedcheck_x.x.x_linux_amd64.tar.gz (または arm64)pwnedcheck_x.x.x_darwin_amd64.tar.gz (または arm64)pwnedcheck_x.x.x_windows_amd64.zipLinux / macOS: 展開したディレクトリ内でターミナルを開き、バイナリを実行可能にしてから実行します:
chmod +x pwnedcheck
./pwnedcheck -h
Windows: 未テストですが、フィードバックは歓迎します
展開した pwnedcheck.exe が含まれるフォルダーで PowerShell またはコマンドプロンプトを開き、次のコマンドを実行します:
.\pwnedcheck.exe -h
CLI を Go の bin ディレクトリにインストールします:
go install github.com/mohamedation/PwnedCheck/cmd/pwnedcheck@latest
git clone https://github.com/mohamedation/PwnedCheck.git
cd PwnedCheck
make install
これにより、現在のホスト用バイナリが Go の bin ディレクトリにインストールされます。
Makefile を使用して、Linux または macOS 用のリリースバイナリを生成します:
make build-linux
make build-macos
バイナリは dist/ に書き出され、ファイル名には現在の Go アーキテクチャが含まれます。
バイナリを OS 固有の名前で Go の bin ディレクトリにコピーしたい場合は、以下を使用します:
make install-linux
make install-macos
これらのコマンドは pwnedcheck としてインストールします。
ソースから実行する:
go run ./cmd/pwnedcheck -v god
または、インストールされたバイナリを実行する:
pwnedcheck -i passwords.list -stats
単一のパスワードをチェックする:
pwnedcheck password123
複数のパスワードをチェックする:
pwnedcheck love sex secret god

ファイルからパスワードをチェックする:
pwnedcheck -i passwords.list
事前ハッシュ化された SHA-1 値をチェックする:
pwnedcheck -hashed -i passwords.list

暗号化された Bitwarden エクスポートをチェックする:
pwnedcheck -bw -i bitwarden_encrypted_export.json -hide -stats
HIBP リクエストの詳細ログを有効にする:
pwnedcheck -v password123
-i, --input <string> : パスワードまたは JSON エクスポートを含む入力ファイル(デフォルト "passwords.txt")-bw, --bitwarden : 入力ファイルを Bitwarden のパスワード保護された暗号化 JSON エクスポートとして扱う-H, --hashed : 入力を平文の代わりに事前計算された SHA-1 ハッシュとして扱う-x, --hide : コンソール出力から平文パスワードを隠す-s, --stats : 完了後に実行時間と結果の概要を表示する-v, --verbose : API 診断のために各 HIBP リクエストとレスポンスステータスを表示する-c, --credits : クレジットを表示する-h, --help : ヘルプを表示するPwnedCheck は HIBP が採用している k-匿名性の手法を使用します:
[1/2] Checking...
BAD PASSWORD — BREACH DETECTED (item #1)
Password: 123456
Total runtime: 1.5s
Total passwords checked: 2
Bad passwords found: 1
Good passwords: 1
cmd/pwnedcheck: CLI エントリポイントとフラグ解析internal/checker: 実行ループと出力フォーマットinternal/hibp: HIBP クライアントとパスワードハッシュ化internal/bitwarden: Bitwarden エクスポートの復号化