Skip to main content

🔐 PassCheck — Проверка стойкости паролей

Python 3.7+ License: MIT

PassCheck — это мощная утилита командной строки для комплексной проверки стойкости паролей. Она помогает выявить слабые, скомпрометированные и предсказуемые пароли, которые могут стать целью злоумышленников.


🎯 Зачем нужен PassCheck?

В эпоху всё возрастающего числа кибератак, использование слабых паролей остаётся одной из главных причин взломов. Даже "сложный" пароль может быть уже скомпрометирован. PassCheck решает эту проблему, предоставляя:

  • 🔍 Проверку по реальным утечкам (через HaveIBeenPwned API)
  • 📚 Проверку по популярным словарям (например, rockyou.txt)
  • 🔐 Анализ криптографической стойкости (энтропия, паттерны)
  • ⏱ Оценку времени подбора пароля
  • 📊 Подробные рекомендации по улучшению пароля
  • 📁 Пакетную проверку множества паролей
  • 📤 Экспорт результатов в JSON

🚀 Установка

Требования:

  • Python 3.7 или выше

Установка зависимостей:

pip install requests zxcvbn-python colorama

Запуск:

python passcheck.py --help

📖 Использование

🔹 Проверка одного пароля:

python passcheck.py --password "MyP@ssw0rd123"

🔹 Проверка с использованием словаря:

python passcheck.py --password "qwerty123" --dict rockyou.txt

🔹 Чтение пароля из stdin:

echo "MySecretPass" | python passcheck.py

🔹 Пакетная проверка из файла:

python passcheck.py --file passwords.txt --dict rockyou.txt --json report.json

🔹 Экспорт результатов в JSON:

python passcheck.py --password "StrongPass123" --json result.json

📋 Пример вывода

🔍 Анализируем пароль: **********

==================================================
 🛑 Проверка по утечкам 
==================================================
❌ Пароль найден в 123456 утечках!
   🔥 Срочно смените его!

==================================================
 📚 Проверка по словарю 
==================================================
❌ Пароль найден в словаре!

==================================================
 🔐 Анализ сложности 
==================================================
🔐 Уровень: Слабый (1/4)
🔮 Время подбора (оффлайн): ~5 минут

⚠️ Предупреждение:
   Этот пароль похож на часто используемые комбинации.

💡 Рекомендации:
   • Добавьте больше символов.
   • Избегайте предсказуемых замен.

==================================================
✅ Анализ завершён
==================================================

🛠 Основные возможности

Функция Описание
Проверка утечек Через безопасный API HaveIBeenPwned (k-Anonymity)
Проверка по словарю Поддержка любых текстовых словарей
Анализ энтропии Оценка криптографической стойкости
Время подбора Реалистичная оценка времени взлома
Пакетная обработка Проверка множества паролей из файла
Экспорт в JSON Для интеграции с другими системами
Цветной вывод Удобное визуальное представление
Поддержка stdin Для автоматизации и скриптов

📁 Формат файлов

passwords.txt

MyPassword123
qwerty123
Summer2024!
...

report.json (пример)

{
  "password": "********",
  "length": 12,
  "leaks": 123456,
  "in_dictionary": true,
  "score": 1,
  "crack_time": "5 минут",
  "warning": "Этот пароль похож на часто используемые комбинации",
  "suggestions": [
    "Добавьте больше символов",
    "Избегайте предсказуемых замен"
  ]
}

📚 Рекомендуемые словари

  • rockyou.txt — самый популярный словарь (~14 млн паролей)
  • linkedin.txt — пароли из утечки LinkedIn
  • elitehacker.txt — словарь для продвинутых атак

Скачать можно с репозиториев по кибербезопасности или через торренты (в образовательных целях).


🔒 Безопасность

  • Пароли не передаются полностью — используется k-Anonymity от HIBP
  • Локальная обработка — ваши пароли не покидают ваш компьютер
  • Нет логирования — утилита не сохраняет пароли в логи

🎯 Для кого этот инструмент?

  • Системные администраторы — для аудита паролей сотрудников
  • Пентестеры — для оценки стойкости учетных данных
  • SOC-аналитики — для анализа инцидентов
  • Разработчики — для проверки тестовых паролей
  • Обычные пользователи — для повышения цифровой гигиены

🧪 Примеры использования в реальных сценариях

🔍 Аудит паролей в организации:

python passcheck.py --file employee_passwords.txt --dict rockyou.txt --json audit_report.json

🛡️ Интеграция в CI/CD:

# Проверка тестовых учетных данных
python passcheck.py --file test_passwords.txt --json ci_report.json
if [ $(grep -c "score.*[0-2]" ci_report.json) -gt 0 ]; then exit 1; fi

🤖 Автоматизация в скриптах:

#!/bin/bash
for user in $(cat users.txt); do
    password=$(get_password_for_user $user)
    echo "$password" | python passcheck.py
done

📄 Лицензия

Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.


🙏 Благодарности

  • HaveIBeenPwned — за предоставление API
  • zxcvbn-python — за библиотеку анализа паролей
  • Сообществу кибербезопасности за вдохновение

📧 Обратная связь

Если у вас есть предложения по улучшению или вы нашли баг — создайте issue на GitHub!


🔐 Делайте свои пароли сильнее с PassCheck!

Metadata

Release files for passcheck 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for passcheck 1.0.0
File Size Uploaded
passcheck-1.0.0.tar.gz 4.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for passcheck 1.0.0
File Interpreter ABI Platform
passcheck-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.9 kB

Release files / passcheck-1.0.0.tar.gz

Download URL passcheck-1.0.0.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8a3afc5417776141b2a19a91ccfa59a4dc3b58b1ae155f943f1760c90e385cfe
BLAKE2b-256 checksum
How to use checksums
d6775bdbdc8ddfbd2c83002423e266b992d81ae7b545178f6a7c8b92c9e7497e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / passcheck-1.0.0-py3-none-any.whl

Download URL passcheck-1.0.0-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e0781f0bcf33946ec738dfcd8f27970d0afaf20382b9ed8c35ce0ba8c47e9db3
BLAKE2b-256 checksum
How to use checksums
74965e36324c637fc6f5dd9baad3137ad228e6cc2fb27264d0dc1e4a15dc1a24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page