
Инструмент командной строки для проверки, были ли пароли раскрыты в утечках данных, с использованием API Have I Been Pwned (HIBP).
PwnedCheck — это инструмент командной строки для проверки того, появлялись ли пароли в известных утечках данных, с использованием API Have I Been Pwned; поддерживает зашифрованные экспорты хранилищ Bitwarden.
-hashed-bw-hide-v-statsВы можете скачать предкомпилированный статический бинарный файл, адаптированный для вашей операционной системы, непосредственно со страницы релизов:
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: не тестировалось, но отзывы приветствуются
Откройте PowerShell или командную строку в папке, содержащей распакованный pwnedcheck.exe, и выполните:
.\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 в имени файла.
Если вы хотите, чтобы бинарный файл был скопирован в ваш каталог 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 : Обрабатывать входной файл как защищённый паролем зашифрованный JSON-экспорт Bitwarden-H, --hashed : Обрабатывать входные данные как предварительно вычисленные хеши SHA-1 вместо открытого текста-x, --hide : Скрывать пароли в открытом виде в выводе консоли-s, --stats : Показывать сводку времени выполнения и результатов после завершения-v, --verbose : Выводить каждый запрос HIBP и статус ответа для отображения диагностики API-c, --credits : Показать благодарности-h, --help : Показать справкуPwnedCheck использует подход k-анонимности, применяемый в HIBP:
[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: расшифровка экспорта Bitwardenmake test # run unit tests
make cover # run tests with coverage summary
Документация: pkg.go.dev · Покрытие: Codecov