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

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

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

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

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

Категории

Все категории
Loading categories
credactor — Сканируй. Редактируй. Коммить чисто. | Kitploit
Инструменты/GitHubGitHub/rxb06/credactor
Статический анализСканеры уязвимостейАнализ КодаDevSecOpsОбнаружение СекретовБезопасность Цепочки Поставок
GitHubrxb06/credactor

credactor

Сканируй. Редактируй. Коммить чисто.

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

Популярное

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

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

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

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

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

PyPI CI License

Credactor

Найди секрет. Исправь его. Коммить чисто.

Сканеры секретов хороши в том, чтобы бить тревогу, но почти не помогают её потушить. Они выдают список утекших учётных данных, а всю чистку оставляют вам. Credactor замыкает цикл: он находит жёстко закодированный секрет и перезаписывает его на месте, так что утечка превращается из обнаружения в исправление одной командой.

Хранение учётных данных в исходном коде — это базовая практика безопасности, а не опциональная. Credactor делает соблюдение этой практики дешёвым — на вашей машине перед коммитом или в CI перед слиянием. Запускайте его отдельно или вместе с уже используемыми сканерами.

Credactor: сканируй, редактируй, коммить чисто
root@kitploit:~
# Credactor находит это:
db_password = "h8Tq2vKp9mRz4Wd"

# По умолчанию он перезаписывает секрет как страж, который громко падает во время выполнения:
db_password = "REDACTED_BY_CREDACTOR"

# С флагом --replace-with env он записывает ссылку, читающую из окружения:
db_password = os.environ["DB_PASSWORD"]

Редактирование перезаписывает файлы в вашем рабочем дереве. Если секрет уже был закоммичен, также отзовите ключ и очистите историю (например, с помощью git filter-repo). Перезапись файла не заменяет отзыв скомпрометированных учётных данных.


Зачем Credactor

  • Редактирование, а не только обнаружение. Большинство сканеров останавливаются на находке. Credactor заменяет секрет на месте: громкий страж REDACTED_BY_CREDACTOR, который падает во время выполнения по умолчанию, или учитывающая язык ссылка на переменную окружения (Python, JavaScript/TypeScript, Go, Java/Kotlin, Ruby, PHP и shell) вида os.environ["KEY"]. Замена является валидным кодом. Если в файле ещё нет соответствующего импорта (например, import os), добавьте его.
  • Безопасность по умолчанию. Атомарная запись, автоматические резервные копии .bak, защита от пересечения границ симлинков и прав доступа к файлам, полное маскирование секретов в каждом выводе. Если безопасную резервную копию записать невозможно, Credactor пропускает файл, а не перезаписывает вслепую; сбой во время записи оставляет оригинал нетронутым.
  • Нулевые зависимости времени выполнения. Чистая стандартная библиотека Python 3.11+, плюс необязательное расширение для кодировок, отличных от UTF-8.
  • Создан для конвейера. Вывод SARIF для GitHub Code Scanning, режим только для чтения --ci с точными кодами выхода, хук pre-commit (бета) и импорт отчётов Gitleaks или TruffleHog (БЕТА, и другие в разработке). Обнаруживайте с Gitleaks или TruffleHog, исправляйте с Credactor.

Установка

root@kitploit:~
pip install credactor

Требуется Python 3.11+. Других зависимостей нет. Работает на Linux, macOS и Windows (протестировано в CI на Linux и Windows).

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

root@kitploit:~
git clone https://github.com/rxb06/credactor.git
cd credactor
pip install -e .

После этого credactor работает из любой директории.

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

Сначала выполните --dry-run и просмотрите результаты перед редактированием. Возможны ложные срабатывания, и при --fix-all ложное срабатывание будет перезаписано. Подавляйте заведомо безопасные значения с помощью # credactor:ignore или записи в .credactorignore.

root@kitploit:~
credactor --dry-run .                 # сканировать, ничего не менять
credactor .                           # сканировать, затем редактировать интерактивно (y/n на каждую находку)
credactor --fix-all .                 # редактировать всё после одного подтверждения
credactor --fix-all --yes .           # редактировать неинтерактивно (CI / скрипты)
credactor --ci .                      # шлюз только для чтения: выход 1 при находках
credactor --replace-with env .        # редактировать в ссылки на переменные окружения вместо стража

Хук pre-commit (бета)

Интеграция хука находится в стадии бета. Перед тем как полагаться только на него, выполните credactor --dry-run . вручную.

root@kitploit:~
# .pre-commit-config.yaml
repos:
  - repo: https://github.com/rxb06/credactor
    rev: v2.5.0   # зафиксировать последний тег релиза
    hooks:
      - id: credactor

Обнаружение

Credactor обнаруживает типы учётных данных, которые утекают чаще всего, и присваивает каждому уровень серьёзности для быстрой сортировки.

Детерминированные токены провайдеров (префиксы выше) помечаются независимо от энтропии. Эвристические детекторы (JWT, строки подключения, hex, Base64) должны пройти порог энтропии. Отдельные hex- или Base64-строки помечаются только если они в кавычках. Незакавыченное значение с высокой энтропией обнаруживается только на переменной с именем, содержащим учётные данные, что исключает SHA коммитов и контрольные суммы. Полные правила обнаружения и серьёзности см. в Руководстве.

Встроенный набор правил Credactor уже, чем у специализированного сканера, и некоторые форматы провайдеров (например, SendGrid, Twilio и вебхуки Slack) не обнаруживаются. Его сила — в исправлении: используйте вместе с Gitleaks или TruffleHog для максимально широкого обнаружения или запускайте отдельно.

Используйте совместно с другим сканером, редактируйте всё (БЕТА)

Credactor работает сам по себе, но становится сильнее в компании. Уже используете Gitleaks или TruffleHog? Передайте их отчёт Credactor, и он отредактирует объединённый набор, удалив дубликаты с собственными находками (при совпадении побеждает более высокая серьёзность). Один проход исправления покрывает ваш скан и их:

root@kitploit:~
gitleaks dir . -f json -r gitleaks.json
credactor --from-gitleaks gitleaks.json --fix-all --yes .

--from-gitleaks / --from-trufflehog (или таблица [ingest] в .credactor.toml) требуют указания целевой директории. См. Руководство по интеграции CI.

Дополнительные возможности

  • Интерактивное или пакетное редактирование; пользовательская строка замены через --replacement; --scan-history для сканирования истории коммитов git
  • Безопасные резервные копии: --secure-delete (перезапись и удаление .bak; повышает планку для случайного восстановления, но не является криминалистической гарантией) или --secure-backup-dir для хранения резервных копий вне репозитория
  • Белые списки через # credactor:ignore и .credactorignore (глобусы, file:line, литералы значений)
  • Конфигурация на репозиторий через .credactor.toml
  • 29 типов исходных/конфигурационных/заметочных файлов «из коробки» (включая .txt); --scan-json для включения JSON; --fail-on-error для завершения с ошибкой, если файл не удаётся прочитать

Сканируемые типы файлов

.py .js .ts .jsx .tsx .sh .bash .env .cfg .ini .toml .yaml .yml .rb .go .java

Плюс варианты .env.* / .env-* (.env.local, .env.production) и файлы SSH/приватных ключей (id_rsa, id_dsa, id_ecdsa, id_ed25519), все определяются по имени файла, а не по расширению. JSON исключён по умолчанию, так как ответы API дают высокий уровень ложных срабатываний; добавьте --scan-json для его включения. Файл, указанный непосредственно в командной строке, сканируется, даже если его расширение отсутствует в списке.

Коды завершения

КодЗначение
0Нет находок, или все устранены

Укрепление цепочки поставок

Инструмент безопасности должен быть безопасным не только при запуске, но и при установке. Конвейер сборки и выпуска Credactor укреплён от начала до конца; полные сведения в документе по безопасности.

  • Нулевые зависимости времени выполнения. Обычная pip install credactor не загружает сторонних пакетов (только необязательное расширение [encoding]), так что проверять во время установки нечего.
  • Хэш-закреплённый инструментарий. CI и сборки релизов используют lockfile с --require-hashes, включая сборочный бэкенд (python -m build --no-isolation с закреплённым setuptools), так что подделанная зависимость не пройдёт сборку.
  • Побайтовая проверка артефактов на соответствие исходному коду. При каждом пуше и перед каждой публикацией scripts/audit_wheel.py сравнивает wheel и sdist с закоммиченным исходным кодом побайтово (sha256 против git HEAD); любой добавленный, отсутствующий или изменённый файл блокирует шлюз, поэтому шаг сборки не может незаметно внедрить код.
  • SHA-закреплённый, минимально привилегированный CI. Действия GitHub Actions закреплены по SHA коммитов, а токены рабочих процессов остаются узкими — contents: read по умолчанию, id-token: write только для задания публикации.

Документация

Лицензия

Apache 2.0. См. LICENSE.

Скачать инструмент
КатегорияПримерыСерьёзность
Ключи облачных провайдеровAWS (AKIA…), GCP (AIza…), Stripe (sk_live_…), Slack (xoxb-…)Критический
Токены платформGitHub (ghp_, github_pat_), GitLab (glpat-), npm (npm_), PyPI (pypi-)Критический
Приватные ключиБлоки PEM (-----BEGIN … PRIVATE KEY-----)Критический
JWTeyJ… трёхсегментные токеныВысокий
Строки подключенияURL с встроенными учётными данными (scheme://user:pass@host)Высокий
Переменные с учётными даннымиpassword = "…", api_key = "…", secret_key = "…"Высокий/Средний/Низкий
XML-атрибуты<add key="Password" value="…" />Высокий/Средний/Низкий
Строки с высокой энтропиейшестнадцатеричные строки в кавычках (32–64 символов) / Base64 (60+ символов)Средний/Низкий
.php
.cs
.kt
.tf
.hcl
.conf
.config
.properties
.xml
.pem
.key
.crt
.txt
1Неустранённые находки
2Ошибка (например: неверный путь, опасный --replacement, --ci --fix-all или --fail-on-error с нечитаемым файлом)
ДокументОписание
Руководство по настройкеУстановка, конфигурация, интеграция CI/CD
РуководствоПолный справочник: каждый флаг, режим и комбинация, поведение замены и резервного копирования, обнаружение и степень серьёзности, коды выхода и ограничения (поведение проверено тестами)
ПримерыТиповые рабочие процессы с выводом
Интеграция CIХуки pre-commit, конвейеры CI
БезопасностьМодель угроз, меры усиления защиты, известные ограничения
Журнал измененийИстория версий
Участие в разработкеНастройка окружения для разработки, стиль кода, процесс PR
Отказ от ответственностиОграничения, безопасное использование, гарантия