Git (читається як “гіт”) – це система контролю версій, яка допомагає відстежувати історію змін у файлах. Git використовують програмісти для спільної роботи з проектами. Репозиторій – це всі файли, що знаходяться під контролем версій, разом з історією їхньої зміни та іншою службовою інформацією. Репозиторій Git можна створити або вибравши будь-яку папку на комп’ютері, або клонувавши собі вже існуючий репозиторій, наприклад у роботодавця. Існують різні способи зберігання та використання репозиторію: виділяють локальні, централізовані та розподілені системи контролю версій. GitHub – це найпопулярніший сайт для зберігання git-репозиторіїв та роботи з ними. Також GitHub є найбільшим майданчиком для розміщення проектів із відкритим вихідним кодом. Для перегляду та завантаження загальнодоступних репозиторіїв не потрібно ні реєстрації, ні оплати облікового запису. У певному сенсі GitHub — це ще й соціальна мережа для розробників. Зареєстровані користувачі можуть публікувати контент та керувати своїми репозиторіями, робити внесок у чужі репозиторії, вести обговорення, переглядати зміни в коді, коментувати їх та стежити за оновленнями знайомих.
GitHub часто використовують при рекрутменті – активний обліковий запис і висока якість коду можуть сильно допомогти в пошуку роботи. Тому особливо важливо мати обліковий запис, щоб показати свій код колегам і як він еволюціонує з часом. Зараз існує і безліч інших онлайн-сервісів, інтегрованих із Git. Альтернативи GitHub – це, наприклад, GitLab та BitBucket. Обидва сайти мають меншу аудиторію, але мають свій функціонал і свої переваги, наприклад BitBucket більш зручний для невеликих проектів із закритим кодом.
При правильних пошукових запитах, у Github репозиторіях можна знайти різні фрагменти коду, які містять облікові дані для підключення до інфраструктури компанії та використовуються розробниками та QA-інженерами. Методи та техніка пошуку інформації в публічних репозиторіях на наявність секретів* може допомогти нам відкрити доступ до прихованих та цікавих місць застосування ще до того, як розпочнеться його безпосередній аналіз захищеності.
Під секретом мається на увазі приватні ключі, дані облікових записів та інша конфіденційна інформація.
Тут варто розуміти один нюанс, ми можемо шукати секрети в офіційному репозиторії організації, а можемо в неофіційних репозиторіях її співробітників чи підрядників. Чим більше у нас буде джерел, тим більше шансів знайти необхідні дані. Процес пошуку секретів на Github або в інших репозиторіях можна спостерігати на чудовій блок-схемі. Для пошуку інформації в репозиторіях та для автоматизації таких процесів ми можемо скористатися різними інструментами.
OctoLinker перетворює специфічні для мови затвердження, такі як include require або import, на посилання.
Розширення EmailOnGitHub Chrome дозволяє виявити інформацію, пов’язану з профілем користувача GitHub.
Розширення Chrome, яке можна використовувати для завантаження окремих файлів із репозиторіїв github.com.
Мисливець за електронною поштою та репозиторіїв для користувачів та проектів github.
Виділення виділеного слова у поданні вихідного тексту GitHub як у Sublime Text.
Відображення файлів документів у GitHub працює на базі Aspose.Words Cloud.
Пошук коду на GitHub, сканує репозиторії та повертає результати, які збігаються рядки коду.
Відображає розмір репозиторію, файлу, посилання на скачування та копіювання файлу.
Автоматичне додавання розміру репозиторію до зведення репозиторію на GitHub.
За допомогою цього доповнення можна дізнатися, де стався витік ваших конфіденційних даних.
Gitleaks – це SAST-інструмент для виявлення та запобігання жорстко закодованим секретам.
OSINT-інструмент для отримання інформації та пошуку електронних адрес користувачів.
Octosuite – це легкий, але просунутий osint-фреймворк із відкритим вихідним кодом.
Перехід, що допомагає підвищити вашу здатність виявляти секрети, якими поділяються на Github.
Hound – це плагін, який допомагає запобігти фіксації конфіденційних даних у репозиторії.
Repo-supervisor – це інструмент, який допоможе вам виявити секрети та паролі у вашому коді.
Запобігає фіксації паролів та іншої конфіденційної інформації в git-репозиторії.