Получи случайную криптовалюту за регистрацию!

#sdlc #apikeys > хей, подскажите, чем нынче модно искать всяк | Пост Импакта

#sdlc #apikeys

> хей, подскажите, чем нынче модно искать всякие лики секретов на сайте? для бёрпа или лучше браузера?

Разработчики часто совершают ошибки управления секретами, особенно в незрелом процессе SDLC. В кодовую базу попадают пароли, хардкодятся API-ключи к CI/CD, заносятся учетные данные пользователей. Для того чтобы отслеживать наличие секретов существует ряд утилит:

github.com/eth0izzle/shhgit — отслеживает все коммиты через api GitHub и BitBucket для поиска конфиденциальных данных в режиме реального времени. Однажды нашёл с помощью этой утилиты креды от QA сотрудника Dyson. Как итог удалось скачать сорцы главного сайта и зайти в их Slack. Однако внимательный читатель заметит, что последний коммит был два года назад, верно, автор замутил на основе этого стартап и начал продавать как SaaS.

github.com/zricethezav/gitleaks — инструмент SAST для обнаружения и предотвращения жестко закодированных секретов, таких как пароли, ключи API и токены в репозиториях git. Можно использовать на склонированном репозитории локально.

github.com/hisxo/gitGraber — функциями схож с shhgit, однако есть некий фильтр по компаниям, вообще работает всё это дело так api.github.com/search/code?q=Компания|Yahoo, а затем уже в результатах ищет секреты.

github.com/securing/DumpsterDiver — если предыдущие утилиты искали ключи используя regex, то этот использует метод вычисления энтропии, есть возможность задать порог. Например для Azure Shared ключа порог будет начинаться от 5.1. Из плюсов ищет не только в git, но и в любой папке.

github.com/trufflesecurity/trufflehog — по функционалу ближе всего к gitleaks. Доступен в github actions.

github.com/newrelic/rusty-hog — trufflehog на rust.

github.com/Skyscanner/whispers — ищет секреты используя regex, не только в git, но и в папке/файлах. Прост в установке и может интегрироваться в конвейер CI/CD.

> Хочу искать секреты и вне работы!

Ок, вот тебе Extension TruffleHog под Chromium. Просто гуляя по сайтам, это чудо-расширение будет искать секреты на страницах и выводить alert(apikey) в случаях совпадения. У расширения есть настройки, которые включают автоматические get запросы для файлов .git или .env на сайте.

> И как мне самому узнать, какая утилита лучше всего ищет секреты?

Вот вам файл со специально забытыми api ключами на github.com/sourcegraph-community/no-secrets/blob/main/secret-examples.md

> Нашёл ключ что мне делать?

Тестировать и проверять на действительность используя этот замечательный репозиторий github.com/streaak/keyhacks


> Когда в github добавят нормальный regex?

Уже добавили, вот поиск по всему github используя Regex Facebook key: cs.github.com/?scopeName=All+repos&scope=&q=%2FEAACEdEose0cBA%5B0-9A-Za-z%5D%2B%2F
Но вам придётся запросить у github инвайт в их beta =)