
Инструмент командной строки для проверки, были ли пароли раскрыты в утечках данных, с использованием 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] Проверка...
ПЛОХОЙ ПАРОЛЬ — ОБНАРУЖЕНА УТЕЧКА (#1)
Пароль: 123456
Общее время выполнения: 1.5s
Всего проверено паролей: 2
Найдено плохих паролей: 1
Хороших паролей: 1
cmd/pwnedcheck: точка входа CLI и парсинг флаговinternal/checker: основной цикл и форматирование выводаinternal/hibp: клиент HIBP и хэширование паролейinternal/bitwarden: расшифровка экспортов Bitwarden