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

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

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

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

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

Категории

Все категории
Loading categories
deepsecrets — Офлайн-сканер секретов, объединяющий правила на основе регулярных выражений, лексический семантический анализ и сопоставление хешированных значений для обнаружения раскрытых учётных данных в коде с выводом в формате SARIF. | Kitploit
Инструменты/GitHubGitHub/ntoskernel/deepsecrets
Оборонительные ИнструментыСтатический анализСканеры уязвимостейСтатический анализ кода (SAST)Анализ КодаDevSecOpsОбнаружение СекретовБезопасность Цепочки Поставок
GitHubntoskernel/deepsecrets

deepsecrets

Офлайн-сканер секретов, объединяющий правила на основе регулярных выражений, лексический семантический анализ и сопоставление хешированных значений для обнаружения раскрытых учётных данных в коде с выводом в формате SARIF.

18418525 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

OWASP DeepSecrets — лучший инструмент для сканирования секретов

Tests Status

Что это? Очередной бесполезно расходующий токены CLI-прокси к API ИИ?

Абсолютно нет!

В эпоху повального увлечения LLM DeepSecrets по-прежнему работает полностью на вашей машине — обеспечивая отличные результаты офлайн, безопасно и бесплатно.

Так почему же ещё один инструмент?

Большинство существующих сканеров на самом деле не «понимают» код. Вместо этого они просто разбирают текст и имеют плохое покрытие.

DeepSecrets сокращает разрыв между классическими сканерами на основе регулярных выражений и полноценными коммерческими SAST-инструментами. Он расширяет классическую стратегию сканирования на основе регулярных выражений, активно опираясь на семантический анализ кода, обнаружение опасных переменных и контекстно-зависимый энтропийный анализ. Это означает, что кандидаты в секреты всегда семантически корректны. Мы достигаем настоящего понимания кода в более чем 500 языках и форматах, используя методы лексического и синтаксического анализа.

DeepSecrets также представляет новый способ поиска учётных данных без каких-либо предварительных знаний: движок HashedSecret. Просто предоставьте хешированные значения ваших известных производственных секретов, и инструмент найдёт их в открытом виде в вашем коде.

Производительность и бенчмарки (SecretBench)

DeepSecrets v2.0 был оценён (июнь 2026) на бенчмарке SecretBench, превзойдя традиционные сканеры плоского текста:

  • 93% полноты (Recall)
  • 8% ложноположительных срабатываний в рамках SecretBench
  • ~9 тыс. дополнительных находок за пределами области SecretBench

(Полную историю о внутреннем устройстве и разбор бенчмарков можно прочитать в моей статье на HackerNoon здесь)

Краткое руководство по началу работы

Установка

С GitHub через pip

$ pip install git+https://github.com/ntoskernel/deepsecrets.git

Из PyPi

$ pip install deepsecrets

Для работы DeepSecrets требуется Python 3.11 или более поздняя версия.

Сканирование

Самый простой способ запустить сканирование:

$ deepsecrets --target-dir /path/to/your/code --outformat dojo-sarif --outfile report.json

Это запустит сканирование /path/to/your/code с использованием конфигурации по умолчанию:

  • Regex с использованием встроенного набора правил
  • Семантические проверки (обнаружение переменных, проверки энтропии)

Отчёт в формате SARIF (совместимый с DefectDojo и GitHub Security) будет сохранён в report.json.

Тонкая настройка

Команда --help всегда готова помочь вам, но вот ключевые флаги, которые можно использовать для адаптации сканирования к вашей среде:

  • --regex-rules /path/to/rules.json: Укажите собственный набор правил regex.
  • --hashed-values /path/to/hashes.json: Предоставьте список предварительно хешированных известных производственных секретов для их безопасного поиска.
  • --excluded-paths /path/to/exclusions.json: Переопределите или расширьте пути по умолчанию, игнорируемые при сканировании.
  • --deep-max-size BYTES: Файлы больше этого размера (по умолчанию 250 000 байт) проходят быстрый анализ: правила regex и поиск переменных, без языкового лексера. Большие файлы в основном сгенерированы или минифицированы, лексер занимает большую часть времени сканирования на них и редко находит там что-то большее. 0 даёт каждому файлу полный анализ.
  • --skip-bundles: Полностью пропускать минифицированный JavaScript, source maps и бандлы (*.min.js, *.map, *.bundle.js) в дополнение к другим исключениям путей.
  • --confidence-level {all,low,medium,high,very-high}: Наименьший уровень достоверности для отчёта (по умолчанию low, все находки). medium, high и very-high сохраняют достоверность 3, 6 и 9 или более; all также сообщает о совпадениях regex, которые сканер счёл не секретами (заполнители, примеры), с идентификатором правила -INFO.
  • --report-diagnostics: Добавить каждый файл, найденный в целевой директории, в отчёт SARIF с его статусом, временем сканирования, причиной пропуска и глубиной анализа.
  • --regex-candidate-scoring-rules /path/to/rules.json: Укажите собственные правила для оценки совпадений regex перед их отчётом. Укажите флаг без значения, чтобы сообщать о совпадениях regex без оценки.
  • --multiprocessing-context {forkserver,spawn,fork}: Способ запуска рабочих процессов. По умолчанию используется forkserver, где он доступен на платформе (Linux, macOS): рабочие процессы разделяют сканер, уже загруженный в серверном процессе. Windows использует spawn. Все три дают одинаковые находки.
  • --disable-masking: Оставлять потенциальные секреты немаскированными в выходном отчёте (см. предупреждение ниже).
  • --ci / --no-ci: Включить или выключить режим CI. Режим CI выводит простую строку прогресса каждые 30 секунд вместо живого отображения прогресса. Он включается автоматически внутри CI-сервисов (GitHub Actions, GitLab CI, Jenkins и других) и всякий раз, когда вывод не является терминалом.

Интеграция с Github Actions

напр. .github/workflows/deepsecrets.yml

name: DeepSecrets Scan
on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

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

      - name: Install DeepSecrets
        run: pip install deepsecrets

      - name: Run Scan
        run: deepsecrets --target-dir . --outformat dojo-sarif --outfile report.sarif
        continue-on-error: true

      - name: Upload SARIF report
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: report.sarif

Маскирование секретов в отчётах

Начиная с версии v1.3.0, потенциальные секреты автоматически маскируются внутри отчётов для защиты артефактов вашего пайплайна. При необходимости это можно отключить с помощью флага --disable-masking.

Маскирование не нарушает логику дедупликации нижестоящих платформ (таких как Github), поскольку раздел partialFingerprints в отчёте корректно заполняется на основе исходных данных.

[!Caution]
Если вы интегрируете DeepSecrets в свой CI-пайплайн с отключённым маскированием, вы, скорее всего, снова допустите утечку секретов в логи и артефакты CI.

Отчёты SARIF и динамическая уверенность

Каждая находка получает оценку уверенности. Однако разные платформы безопасности по-разному интерпретируют метрики SARIF. Чтобы обеспечить совместимость с современными панелями ASPM, DeepSecrets делает следующее:

  • Виртуальные подправила (rules[]): Динамически генерирует правила по уровням уверенности, от S105-LOW через -MEDIUM и -HIGH до S105-VERY-HIGH (и -INFO для отклонённых совпадений, сообщаемых при --confidence-level all). Это заставляет GitHub Security и DefectDojo корректно отображать разброс семантической точности, не ломая нативные парсеры.

  • Детерминированный уровень результата: Инструмент всегда явно устанавливает level: error в модели results[]. Это служит универсальным запасным вариантом для CI/CD-пайплайнов и старых SAST-парсеров, гарантируя, что раскрытые секреты надёжно ломают сборки или блокируют Pull Request независимо от интерпретации отдельных правил.

  • Контекстные сообщения: Встраивает исходную числовую оценку уверенности непосредственно в result.message.text, чтобы аналитики по безопасности сразу видели её на своих панелях.

Создание наборов правил

Regex

Встроенный набор правил для проверок по регулярным выражениям находится в /deepsecrets/rules/regexes.json. Вы можете следовать этому формату и создавать собственный набор правил.

HashedSecret (сканирование с нулевым разглашением)

Скачать инструмент