Добавить в корзинуПозвонить
Найти в Дзене
Игорь Бедеров

GitHub — это не просто хранилище кода

Для OSINT-специалиста это ещё и источник данных, которые пользователи часто оставляют открытыми, даже не подозревая об этом. У GitHub есть публичное REST API: api.github.com. Оно отдает структурированный JSON по тому же принципу, что и веб-интерфейс, но с одним важным отличием — вы получаете данные, которые на сайте не всегда видны. Без авторизации можно делать до 60 запросов в час. Этого хватит для точечной проверки, но не для массового сбора. Если добавить персональный токен (PAT), лимит вырастет до 5000 запросов в час. Начнём с простого. Информация о любом пользователе GitHub доступна по прямой ссылке https://api.github.com/users/[username]. Например: https://api.github.com/users/smicallef Открываете в браузере — получаете JSON с полями: когда зарегистрировался, сколько репозиториев, где живёт (если указал), ссылки на соцсети. Но есть ещё одна команда, которая даёт больше. Речь про историю коммитов в конкретном репозитории https://api.github.com/repos/[owner]/[repo]/commits. Напр

GitHub — это не просто хранилище кода. Для OSINT-специалиста это ещё и источник данных, которые пользователи часто оставляют открытыми, даже не подозревая об этом. У GitHub есть публичное REST API: api.github.com. Оно отдает структурированный JSON по тому же принципу, что и веб-интерфейс, но с одним важным отличием — вы получаете данные, которые на сайте не всегда видны.

Без авторизации можно делать до 60 запросов в час. Этого хватит для точечной проверки, но не для массового сбора. Если добавить персональный токен (PAT), лимит вырастет до 5000 запросов в час. Начнём с простого. Информация о любом пользователе GitHub доступна по прямой ссылке https://api.github.com/users/[username]. Например:

https://api.github.com/users/smicallef

Открываете в браузере — получаете JSON с полями: когда зарегистрировался, сколько репозиториев, где живёт (если указал), ссылки на соцсети. Но есть ещё одна команда, которая даёт больше. Речь про историю коммитов в конкретном репозитории https://api.github.com/repos/[owner]/[repo]/commits. Например:

https://api.github.com/repos/smicallef/spiderfoot/commits

Даже если человек скрыл свой email в настройках профиля, он часто вшит в метаданные коммитов. Git сохраняет email автора в каждом коммите. И API отдаёт это поле без какой-либо фильтрации. В расследованиях это помогает, например, связать разные аккаунты: человек использует один email для коммитов на работе и в личных проектах, а потом забывает, что он торчит в публичном месте.

📱 Telegram | 🌐 ВК | 📲 MAX

-2