Игра Яндекс Практикума
Игра Яндекс Практикума
Игра Яндекс Практикума

TruffleHog --- инструмент, который находит секретные ключи в Git-репозитории

Новости

4К открытий4К показов

TruffleHog способен найти сгенерированные секретные ключи, анализируя коммиты в истории вашего проекта.

Зачем это нужно?

Предположим, вы пишите веб-проект и используете какой-нибудь ключ для шифрования паролей. Вы создали изначальный коммит, не удалив секретный ключ из кода. Затем вы выкладываете свой проект на GitHub. В какой-то момент вы вспомнили о том, что просто так оставлять секретный ключ в коде — это плохая идея, и удаляете ключ из кода, сохраняя новый коммит. В итоговой версии кода секретного ключа не видно, но кто-то может покопаться в истории коммитов и найти ключ. А зная ключ, можно получить доступ, например, к панели администратора сайта. Так вот TruffleHog ищет такие коммиты и сообщает о них пользователю.

Как это работает?

Дилан Эйри (Dylan Ayrey), создатель TruffleHog, описал идею работы инструмента: секретным ключом считается любая строка длинной более 20 символов и с высокой энтропией. Энтропия — это мера неопределённости или непредсказуемости информации, неопределённость появления какого-либо символа первичного алфавита.

TruffleHog проходится по всей истории коммитов во всех ветках, оценивая энтропию Шенонна для каждого фрагмента текста, состоящего из шестнадцатеричных или base64 символов. Если строка больше 20 символов, то выводится эта строка и информация о ветке и коммите, где она встретилась.

TruffleHog --- инструмент, который находит секретные ключи в Git-репозитории 1

TruffleHog доступен на GitHub. Для запуска потребуется библиотека GitPython.

Следите за новыми постами
Следите за новыми постами по любимым темам
4К открытий4К показов