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

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

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

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

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

Категории

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

credactor

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

Репозиторий
82712 дней назадЕщё не проверено

Популярное

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

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

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

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

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

PyPI CI License

Credactor

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

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

Credactor: scan, redact, commit clean Держать учётные данные вне исходного кода — это базовая практика безопасности, а не опциональная. Credactor делает соблюдение этой базовой практики дешёвым: на вашей машине до коммита или в CI до слияния. Запускайте его отдельно или вместе со сканерами, которым вы уже доверяете.
# Credactor finds this:
db_password = "h8Tq2vKp9mRz4Wd"

# By default it rewrites the secret as a sentinel that fails loudly at runtime:
db_password = "REDACTED_BY_CREDACTOR"

# With --replace-with env, it writes a reference that reads from the environment:
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, read-only шлюз --ci с точными кодами выхода, pre-commit хук и приём отчётов Gitleaks, TruffleHog или Betterleaks. Обнаруживайте сканером, который вы уже запускаете, устраняйте с помощью Credactor.

Установка

pip install credactor

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

На macOS и Linux его можно установить через Homebrew:

brew install rxb06/tap/credactor

Формула устанавливает в собственный virtualenv и включает опциональное дополнение [encoding], так что установка через Homebrew также обнаруживает секреты в не-UTF-8 файлах. Обычный pip install credactor не включает это дополнение; добавьте его с помощью pip install 'credactor[encoding]', если хотите такое же покрытие.

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

git clone https://github.com/rxb06/credactor.git
cd credactor
pip install -e .

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

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

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

credactor --dry-run .                 # scan, change nothing
credactor .                           # scan, then redact interactively (y/n per finding)
credactor --fix-all .                 # redact everything after one confirmation
credactor --fix-all --yes .           # redact non-interactively (CI / scripts)
credactor --ci .                      # read-only gate: exit 1 on findings
credactor --replace-with env .        # redact to env-var references instead of the sentinel

Pre-commit хук

Хук проверяет только проиндексированное содержимое, поэтому уже закоммиченный секрет не будет помечен повторно. Используйте credactor --scan-history ., чтобы проверить то, что уже находится в репозитории.

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/rxb06/credactor
    rev: v2.7.4   # pin to the latest release tag
    hooks:
      - id: credactor

GitHub Action

- uses: rxb06/[email protected]

Действие всегда передаёт --ci, поэтому оно сообщает и блокирует, но никогда не переписывает checkout. Находки приводят к провалу шага; установите fail-on-findings: false, чтобы сообщать без блокировки. Ошибка приводит к провалу шага в любом случае.

Загрузка в Code Scanning вместо провала при находках:

- uses: rxb06/[email protected]
  with:
    format: sarif
    upload-sarif: true
    fail-on-findings: false

Для загрузки заданию нужны permissions: security-events: write. См. руководство по интеграции с CI для всех входных параметров, включая приём отчётов Gitleaks, TruffleHog и Betterleaks.

Обнаружение

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

КатегорияПримерыСерьёзность
Ключи облачных провайдеровAWS (AKIA…), GCP (AIza…), Stripe (sk_live_…), Slack (xoxb-…)Critical
Токены платформGitHub (ghp_, github_pat_), GitLab (glpat-), npm (npm_), PyPI (pypi-)Critical
Приватные ключиPEM-блоки (-----BEGIN … PRIVATE KEY-----)Critical
JWTeyJ… трёхсегментные токеныHigh
Строки подключенияURL со встроенными учётными данными (scheme://user:pass@host)High
Переменные учётных данныхpassword = "…", api_key = "…", secret_key = "…"High/Medium/Low
XML-атрибуты<add key="Password" value="…" />High/Medium/Low
Строки с высокой энтропиейhex в кавычках (32–64 символа) / Base64 (60+ символов)Medium/Low

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

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

Объедините с другим сканером и отредактируйте всё

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

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