← Все гайды · Контент-завод

Гайд · кодовое слово ЗАМОК

Проверка своего кода на утечки - за одну минуту и даром

Про инструмент из ролика честно. 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.