Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
crypto-scanner — CLI-инструмент для сканирования кодовых баз на предмет криптографии, уязвимой к квантовым атакам | Kitploit
Инструменты/GitHubGitHub/mbennett-labs/crypto-scanner
Статический анализ кода (SAST)Анализ уязвимостейАнализ КодаКриптографияDevSecOpsОбнаружение СекретовБезопасность Цепочки Поставок
GitHubmbennett-labs/crypto-scanner

crypto-scanner

CLI-инструмент для сканирования кодовых баз на предмет криптографии, уязвимой к квантовым атакам

Репозиторий
66 месяцев назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Crypto Scanner

Сканируйте свою кодовую базу на предмет уязвимой к квантовым атакам криптографии, пока не стало слишком поздно.

PyPI Version PyPI Downloads Python 3.10+ License: MIT Build Status

Быстрый старт • Почему квантовая готовность? • Использование • Уровни риска • CI/CD • О нас


Обзор

Crypto Scanner — это CLI-инструмент, который сканирует вашу кодовую базу на наличие криптографических алгоритмов и генерирует оценки риска квантовой уязвимости. Он анализирует исходный код, конфигурационные файлы и сертификаты X.509 для выявления криптографии, которая будет взломана квантовыми компьютерами.

Разработан Quantum Shield Labs — помогает организациям подготовиться к постквантовой эре.


Почему квантовая готовность?

Квантовая угроза реальна

Прогнозируется, что криптографически релевантные квантовые компьютеры (CRQC), способные взламывать RSA и ECC, появятся к 2033 году. Это не научная фантастика — это график, к которому активно готовятся крупные правительства и предприятия.

«Собери сейчас, расшифруй потом» (HNDL)

Злоумышленники уже сейчас собирают зашифрованные данные с намерением расшифровать их, когда появятся квантовые компьютеры. Если ваши данные имеют долгосрочную ценность (медицинские записи, финансовые данные, коммерческие тайны, государственные коммуникации), они уже находятся в зоне риска.

Почему нельзя ждать

ПроблемаРеальность
Сложность миграцииБольшие кодовые базы требуют 3–5+ лет для перехода

Алгоритм Шора: угроза

Алгоритм Шора, выполняемый на достаточно мощном квантовом компьютере, может эффективно факторизовать большие целые числа и вычислять дискретные логарифмы. Это взламывает:

  • RSA (все размеры ключей)
  • ECDSA/ECC (все кривые)
  • DH/ECDH (обмен ключами)
  • DSA (цифровые подписи)

Первый шаг: инвентаризация

Нельзя мигрировать то, о наличии чего вы не знаете. Crypto Scanner предоставляет криптографическую инвентаризацию, которая является первым важным шагом в любой программе квантовой готовности.

📘 Узнать больше: Прочитайте Playbook от Quantum Shield Labs для всестороннего руководства по миграции.


Быстрый старт

Получите первое сканирование на квантовую уязвимость менее чем за 60 секунд:

root@kitploit:~
# Установка из PyPI
pip install crypto-scanner

# Сканирование вашего проекта
crypto-scanner scan .

# Генерация HTML-отчёта для руководства
crypto-scanner scan . --html --output quantum-risk-report.html

Всё. Теперь у вас есть полная криптографическая инвентаризация вашей кодовой базы.


Установка

Из PyPI (рекомендуется)

root@kitploit:~
pip install crypto-scanner

Из исходников

root@kitploit:~
git clone https://github.com/mbennett-labs/crypto-scanner.git
cd crypto-scanner
pip install -e .

Требования

  • Python 3.10 или выше
  • Работает на Windows, macOS и Linux

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

Основные команды

root@kitploit:~
# Сканирование директории (вывод JSON в stdout)
crypto-scanner scan <directory>

# Показать поддерживаемые типы файлов и классификацию рисков
crypto-scanner info

# Показать версию
crypto-scanner --version

Параметры CLI

Примеры

root@kitploit:~
# Сканирование с подробным выводом
crypto-scanner scan ./src --verbose

# Сохранение JSON-отчёта в файл
crypto-scanner scan . --output crypto-audit.json

# Создание фирменного HTML-отчёта для заинтересованных сторон
crypto-scanner scan . --html --output quantum-assessment.html

# Исключение определённых директорий
crypto-scanner scan . --exclude vendor --exclude legacy

# Шаблоны исключения файлов
crypto-scanner scan . --exclude "*.test.js" --exclude "*.spec.ts"

# Комбинация опций
crypto-scanner scan ./backend -v --exclude node_modules -o report.json

Исключения по умолчанию

Следующие файлы и папки автоматически исключаются для избежания сканирования зависимостей:

root@kitploit:~
.git, .svn, .hg          # Системы контроля версий
node_modules, vendor     # Зависимости пакетов
__pycache__, .pytest_cache, .mypy_cache
.venv, venv, env         # Виртуальные окружения
dist, build, out         # Результаты сборки
.idea, .vscode           # Директории IDE
site-packages, third_party

Классификация рисков

Критический — квантово уязвимый

Алгоритмы, которые будут полностью взломаны алгоритмом Шора:

Высокий — устаревший или слабый

Алгоритмы с известными классическими уязвимостями:

Средний — мониторинг

Алгоритмы, которые в настоящее время безопасны, но требуют наблюдения:

Низкий — адекватный или квантово-устойчивый

Алгоритмы, обеспечивающие адекватную защиту:


Поддерживаемые типы файлов

Исходный код

Конфигурационные файлы

Сертификаты

РасширениеФормат
.pemPEM-кодированный
.crt, .cer, .certСертификат
.derDER-кодированный

Форматы вывода

JSON-отчёт

Формат вывода по умолчанию, идеален для автоматизации и конвейеров CI/CD:

root@kitploit:~
{
  "scan_directory": "/path/to/project",
  "scan_timestamp": "2026-02-06T10:30:00",
  "scanner_version": "0.1.0",
  "summary": {
    "total_files_scanned": 150,
    "total_findings": 23,
    "critical_count": 5,
    "high_count": 8,
    "medium_count": 7,
    "low_count": 3
  },
  "excluded_patterns": [".git", "node_modules", "..."],
  "findings": [
    {
      "file_path": "/path/to/auth.py",
      "line_number": 42,
      "algorithm": "RSA",
      "key_size": 2048,
      "risk_level": "critical",
      "description": "Обнаружена генерация ключей RSA",
      "recommendation": "Запланируйте миграцию на постквантовые алгоритмы (ML-KEM, ML-DSA)",
      "context": "key = rsa.generate_private_key(public_exponent=65537, key_size=2048)"
    }
  ]
}

HTML-отчёт

Профессиональный, самодостаточный отчёт с брендированием Quantum Shield Labs:

  • Резюме для руководства с метриками риска на одном экране
  • Визуальная диаграмма распределения рисков
  • Сортируемая таблица находок с фильтрацией
  • Тёмная тема, оптимизированная для чтения
  • Один файл без внешних зависимостей (легко делиться)

Создать с помощью:

root@kitploit:~
crypto-scanner scan . --html --output report.html

Интеграция с CI/CD

GitHub Actions

root@kitploit:~
name: Crypto Vulnerability Scan

on: [push, pull_request]

jobs:
  crypto-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install Crypto Scanner
        run: pip install crypto-scanner

      - name: Run Crypto Scan
        run: crypto-scanner scan ./src --output crypto-report.json

      - name: Check for Critical Findings
        run: |
          CRITICAL=$(jq '.summary.critical_count' crypto-report.json)
          if [ "$CRITICAL" -gt 0 ]; then
            echo "::error::Found $CRITICAL critical quantum-vulnerable algorithms!"
            jq '.findings[] | select(.risk_level == "critical")' crypto-report.json
            exit 1
          fi

      - name: Upload Report
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: crypto-vulnerability-report
          path: crypto-report.json

GitLab CI

root@kitploit:~
crypto-scan:
  stage: security
  image: python:3.12
  script:
    - pip install crypto-scanner
    - crypto-scanner scan . --output crypto-report.json
    - |
      CRITICAL=$(jq '.summary.critical_count' crypto-report.json)
      if [ "$CRITICAL" -gt 0 ]; then
        echo "Critical quantum-vulnerable cryptography detected!"
        exit 1
      fi
  artifacts:
    reports:
      dotenv: crypto-report.json
    paths:
      - crypto-report.json
    when: always

Pre-commit Hook

Добавьте в .pre-commit-config.yaml:

root@kitploit:~
repos:
  - repo: local
    hooks:
      - id: crypto-scanner
        name: Crypto Scanner
        entry: bash -c 'crypto-scanner scan . --output /tmp/crypto-scan.json && CRITICAL=$(jq ".summary.critical_count" /tmp/crypto-scan.json) && [ "$CRITICAL" -eq 0 ]'
        language: system
        pass_filenames: false
        always_run: true

Простой Shell-скрипт

root@kitploit:~
#!/bin/bash
# crypto-check.sh - Завершиться ошибкой, если найдены критические уязвимости

set -e

crypto-scanner scan . --output /tmp/crypto-report.json

CRITICAL=$(jq '.summary.critical_count' /tmp/crypto-report.json)
HIGH=$(jq '.summary.high_count' /tmp/crypto-report.json)

echo "Сканирование завершено: $CRITICAL критических, $HIGH высокорисковых находок"

if [ "$CRITICAL" -gt 0 ]; then
    echo "ОШИБКА: Обнаружена критическая квантово-уязвимая криптография!"
    exit 1
fi

Архитектура

root@kitploit:~
crypto-scanner/
├── src/crypto_scanner/
│   ├── cli.py              # Интерфейс CLI на Typer
│   ├── scanner.py          # Основная логика оркестрации
│   ├── models.py           # Модели данных Pydantic
│   ├── patterns.py         # 50+ регулярных выражений для обнаружения
│   ├── analyzers/          # Анализаторы типов файлов
│   │   ├── base.py         # Абстрактный базовый класс
│   │   ├── source.py       # Анализатор исходного кода (14 языков)
│   │   ├── config.py       # Анализатор конфигурационных файлов
│   │   └── certificate.py  # Анализатор сертификатов X.509
│   └── reporters/          # Генераторы вывода
│       ├── json_reporter.py
│       └── html_reporter.py
└── tests/                  # Комплексный набор тестов

Как это работает

  1. Сканер рекурсивно обходит целевую директорию, соблюдая шаблоны исключения
  2. Анализаторы запускаются в зависимости от расширения файла:
    • SourceCodeAnalyzer — сопоставление с образцом для 14 языков программирования
    • ConfigAnalyzer — разбор YAML/JSON + сопоставление для конфигурационных файлов
    • CertificateAnalyzer — разбор X.509 для извлечения алгоритмов и размеров ключей
  3. Модуль patterns содержит 50+ регулярных выражений для обнаружения криптографических API
  4. Репортеры агрегируют находки в формат JSON или HTML

Вклад

Вклад приветствуется! Вот как начать:

Настройка разработки

root@kitploit:~
git clone https://github.com/mbennett-labs/crypto-scanner.git
cd crypto-scanner
pip install -e ".[dev]"

Запуск тестов

root@kitploit:~
# Запустить все тесты
pytest tests/ -v

# Запустить с покрытием
pytest tests/ -v --cov=crypto_scanner --cov-report=html

Добавление новых шаблонов

Крипто-шаблоны определяются в src/crypto_scanner/patterns.py. Каждый шаблон включает:

  • Регулярное выражение для обнаружения
  • Имя алгоритма
  • Уровень риска (CRITICAL, HIGH, MEDIUM, LOW)
  • Описание и рекомендацию

Рекомендации по Pull Request

  1. Форкните репозиторий
  2. Создайте ветку для функции (git checkout -b feature/new-pattern)
  3. Добавьте тесты для новой функциональности
  4. Убедитесь, что все тесты проходят (pytest tests/ -v)
  5. Отправьте pull request с чётким описанием

Лицензия

Лицензия MIT — подробности см. в LICENSE.


О Quantum Shield Labs

Quantum Shield Labs

Quantum Shield Labs помогает организациям подготовиться к постквантовой эре с помощью:

  • Оценок квантовых рисков — всесторонняя криптографическая инвентаризация и анализ рисков
  • Планирования миграции на PQC — дорожные карты для перехода на квантово-устойчивые алгоритмы
  • Брифингов для руководства — презентации на уровне совета директоров о квантовых рисках
  • Обучения разработчиков — практические семинары для инженерных команд

Ресурсы

  • Playbook по квантовой готовности
  • Блог
  • Свяжитесь с нами

Создано с заботой командой Quantum Shield Labs

Скачать инструмент
Глубина цепочки поставокВаши зависимости содержат уязвимую криптографию, которую вы не видите
Требования соответствияСтандарты NIST PQC (ML-KEM, ML-DSA) уже утверждены
Дедлайн CNSA 2.0АНБ требует квантово-устойчивые алгоритмы к 2033 году
ОпцияКороткаяОписание
--htmlСоздать HTML-отчёт вместо JSON
--output-oСохранить отчёт в файл (вместо stdout)
--verbose-vПоказать детальный прогресс сканирования
--exclude-eДополнительные шаблоны исключения (повторяемые)
--version-VПоказать версию и выйти
АлгоритмРазмеры ключейКвантовое воздействиеРекомендуемое действие
RSAВсе (1024–4096+)Полностью взломанМиграция на ML-KEM + ML-DSA
ECDSA/ECCВсе кривыеПолностью взломанМиграция на ML-DSA
DH/ECDHВсеОбмен ключами взломанМиграция на ML-KEM
DSAВсеПолностью взломанМиграция на ML-DSA
АлгоритмПроблемаРекомендуемое действие
MD5Атаки на коллизии, полностью взломанЗаменить на SHA-3 или SHA-256
SHA-1Атаки на коллизии продемонстрированыЗаменить на SHA-256+
DES56-битный ключ, тривиально взламываетсяЗаменить на AES-256
3DESАтаки «встреча посередине»Заменить на AES-256
AES-128Алгоритм Гровера снижает безопасностьОбновить до AES-256
АлгоритмСтатусРекомендуемое действие
SHA-256Безопасен, Гровер снижает до 128 битПланировать миграцию на SHA-3
SHA-384БезопасенОтслеживать развитие
SHA-512Хорошая квантовая стойкостьОтслеживать развитие
TLS 1.2Безопасен, но устареваетПредпочитать TLS 1.3
АлгоритмСтатусПримечания
AES-256Квантово-устойчив128-битная постквантовая безопасность
ChaCha20Современный, безопасныйХорошая альтернатива AES
SHA-3Последний стандарт NISTРекомендуется для новых проектов
ML-KEMПостквантовый (Kyber)Стандартизирован NIST в 2024
ML-DSAПостквантовый (Dilithium)Стандартизирован NIST в 2024
РасширениеЯзык
.py, .pywPython
.js, .mjs, .cjsJavaScript
.ts, .tsxTypeScript
.javaJava
.goGo
.rsRust
.c, .h, .cpp, .hppC/C++
.csC#
.rbRuby
.phpPHP
.swiftSwift
.kt, .ktsKotlin
.scalaScala
РасширениеФормат
.yaml, .ymlYAML
.jsonJSON
.tomlTOML
.ini, .cfg, .conf, .configINI/Config
.envПеременные окружения