← Все гайды · Контент-завод
Гайд · кодовое слово ЗАМОК
Проверка своего кода на утечки - за одну минуту и даром
Про инструмент из ролика честно. Strix (github.com/usestrix/strix) настоящий:
открытая лицензия, почти 60 тысяч звёзд, обновляется каждый день. Но чтобы
запустить его У СЕБЯ, нужны две вещи, о которых в роликах не говорят:
Docker и ключ ПЛАТНОЙ модели (OpenAI, Anthropic, Google - на выбор).
У самого инструмента есть флаг максимального бюджета в долларах - это к вопросу,
сколько стоит "бесплатный" прогон. Вариант без установки - их облако, оно платное:
подписка за место в месяц плюс отдельная плата за разовый аудит.
Замер 01.09.2026, со страниц самого проекта.
ЧТО РАБОТАЕТ ДАРОМ ПРЯМО СЕЙЧАС
Первый слой той же проверки - поиск секретов в коде. Ставится одной строкой,
без Docker и без ключей:
pip install semgrep
semgrep --config=p/secrets .
Вторая строка запускается в папке проекта. Прогон занимает минуту-две.
Для питона рядом полезен bandit: pip install bandit, потом bandit -r .
ЧТО ИСКАТЬ В РЕЗУЛЬТАТЕ
Не пугайтесь количества. Такие сканеры дают много "кандидатов", и большая часть -
шум. Смотреть надо на два типа находок:
1. КЛЮЧИ И ТОКЕНЫ в файлах - самое опасное;
2. пароли и адреса баз, зашитые прямо в код.
Остальное (предупреждения про библиотеки, пустые except) - на потом.
ЧТО НАШЁЛ Я НА СВОЁМ КОДЕ
43 правила по 493 файлам, 14 срабатываний. Главное: токен моего рабочего бота
лежал открытым в ЛОГ-ФАЙЛЕ, девять строк подряд.
И вот это самое интересное - КАК он туда попал. Никто его не печатал.
У телеграма токен стоит прямо в адресе запроса. Когда рвётся связь, библиотека
кладёт ПОЛНЫЙ адрес в текст ошибки, а код честно пишет ошибку в лог:
except Exception as e:
print("ошибка:", e)
Код выглядит безобидно. Утечку делает формат чужого сервиса.
КАК ЛЕЧИТСЯ
Вырезать секрет из текста ошибки перед записью:
except Exception as e:
print("ошибка:", str(e).replace(token, "***"))
И три правила на будущее:
- папку с ключами и логами - в .gitignore (у меня это спасло: в репозиторий
токен не ушёл);
- логи не пересылать в поддержку и не класть в общие папки, не почистив;
- если токен всё же засветился - отозвать и выпустить новый, это быстрее,
чем разбираться потом.
ЧЕГО Я НЕ ПРОВЕРЯЛ
Сам Strix в работе - не на чем было запустить. Всё, что сказано про него выше,
взято с его собственных страниц, а не из моего прогона.
Что дальше
Этот разбор - выжимка моего прогона. Что из инструментов реально
приживается у меня в работе день за днём - пишу в телеграм-дневнике:
t.me/sergeiai90.