Як сканувати репозиторій GitHub на наявність облікових даних?

Дізнайтеся, як перевірити ваше сховище GitHub на наявність конфіденційних даних, таких як паролі, секретні ключі та інші особисті відомості.

GitHub – це платформа, де мільйони користувачів зберігають та обмінюються кодом. Це чудово, але іноді розробники можуть випадково завантажити конфіденційну інформацію в загальнодоступне сховище, що може призвести до серйозних наслідків.

Існує багато прикладів витоку особистих даних на GitHub. Хоча людські помилки неможливо повністю виключити, можна вжити заходів для їх мінімізації.

Отже, як переконатися, що у вашому сховищі немає паролів чи ключів?

Найпростіша відповідь – не зберігати їх там.

Найкращою практикою є використання спеціалізованого програмного забезпечення для управління секретами, де слід зберігати всю конфіденційну інформацію.

Однак, працюючи в команді, не завжди можна контролювати дії інших.

До того ж, якщо ви використовуєте Git для ініціалізації та розгортання програми, створюється папка .git, доступ до якої через інтернет може розкрити конфіденційну інформацію. Цього слід уникати, тому рекомендується заблокувати URI .git.

Наступні інструменти допоможуть виявити помилки у вашому сховищі.

Сканування секретів

Функція сканування секретів GitHub є потужним інструментом для виявлення випадково розміщених секретів у вашому коді, що допомагає уникнути витоку даних. Вона безперервно працює як з публічними, так і з приватними сховищами, уважно перевіряючи кожен куточок на наявність секретів.

Після виявлення секрету, GitHub інформує відповідних постачальників послуг, спонукаючи їх до швидкого реагування на потенційні загрози. Для приватних сховищ, GitHub додатково сповіщає власників організації або адміністраторів, гарантуючи, що потрібні особи будуть своєчасно повідомлені про проблему.

Попередження відображаються у видимому місці в репозиторії, нагадуючи вам та вашій команді про необхідність вжити заходів. Функція сканування секретів GitHub є вашим надійним помічником, який постійно стежить за тим, щоб жоден секрет не залишився непоміченим, і ваші проєкти були захищені.

Використовуйте можливості сканування секретів та кодуйте впевнено, знаючи, що ваша конфіденційна інформація в безпеці.

Git Secrets

Git-secrets – це інструмент, який запобігає випадковому додаванню секретів до ваших сховищ Git. Він сканує коміти, повідомлення комітів та злиття, щоб уникнути витоку конфіденційної інформації у вашому коді.

Для початку роботи з Windows, просто запустіть скрипт PowerShell install.ps1. Він скопіює необхідні файли до каталогу встановлення та додасть їх до вашого системного ШЛЯХУ. Це дозволить легко викликати git-secrets з будь-якого місця вашого середовища розробки.

Після встановлення git-secrets перевіряє, чи не збігається будь-який коміт, повідомлення коміту або історія злиття з налаштованими вами шаблонами заборонених слів. Якщо є збіг, коміт буде відхилено, запобігаючи витоку конфіденційної інформації.

Ви можете додати регулярні вирази до файлу .gitallowed у кореневій директорії сховища для більш точного налаштування git-secrets. Це дозволить відфільтрувати рядки, що можуть викликати попередження, але є допустимими, досягаючи балансу між безпекою та зручністю.

Під час сканування файлу git-secrets витягує всі рядки, що відповідають забороненим шаблонам та надає детальну інформацію, включаючи шляхи до файлів, номери рядків та відповідні рядки. Також перевіряється, чи відповідають виділені рядки зареєстрованим дозволеним шаблонам. Коміт або злиття вважається безпечним, якщо всі позначені рядки скасовуються дозволеними шаблонами. Однак git-secrets заблокує процес, якщо хоч один рядок не відповідає дозволеному шаблону.

Користуючись git-secrets, будьте уважні: заборонені шаблони не повинні бути занадто загальними, а дозволені – надто вільними. Тестування шаблонів за допомогою ad-hoc викликів git secrets --scan $filename гарантує їхню правильну роботу.

Якщо ви хочете глибше ознайомитися з git-secrets або зробити внесок у його розвиток, знайдіть проєкт на GitHub. Це проєкт з відкритим вихідним кодом, який заохочує внески спільноти. Приєднуйтесь до спільноти та робіть свій внесок!

За допомогою git-secrets ви можете впевнено кодувати, знаючи, що випадково розкриті секрети не зашкодять вашим проєктам. Скористайтеся цим інструментом та захистіть свою конфіденційну інформацію.

Repo Supervisor

Repo-supervisor – це корисний інструмент для виявлення секретів і паролів у вашому коді. Встановити його просто – достатньо додати вебхук до вашого репозиторію GitHub. Repo-supervisor працює у двох режимах: сканування запитів на отримання на GitHub або сканування локальних каталогів з командного рядка. Оберіть режим, який вам найбільше підходить.

Щоб почати роботу, зайдіть у репозиторій GitHub і завантажте останній випуск. Там ви знайдете пакети для розгортання AWS Lambda та зручний режим CLI. У режимі CLI ви можете почати роботу одразу, без додаткового налаштування, тоді як режим запиту на отримання потребує розгортання на AWS Lambda. Оберіть потрібний варіант та почніть використовувати repo-supervisor для посилення безпеки вашої кодової бази!

У режимі CLI вкажіть каталог як аргумент, і Repo-supervisor скануватиме підтримувані типи файлів, обробляючи кожен з них за допомогою спеціального токенізатора. Він перевірить безпеку вилучених рядків і надасть чіткі звіти у форматі звичайного тексту або JSON.

У режимі запиту на отримання Repo-supervisor обробляє корисне навантаження вебхука, витягує змінені файли та виконує перевірку безпеки вилучених рядків. У разі виявлення проблем, він встановлює статус CI на помилку з посиланням на звіт. Відсутність проблем означає успішний статус CI.

Repo-supervisor – це надійний помічник для захисту ваших секретів і паролів. Він забезпечує цілісність вашої кодової бази, що є вкрай важливим у роботі.

Спробуйте Repo-supervisor! Встановіть його, налаштуйте вебхук і дозвольте йому шукати секрети та паролі. Насолоджуйтесь додатковим рівнем безпеки!

Truffle Hog

Truffle Hog – це потужний інструмент для виявлення конфіденційної інформації у ваших сховищах. Він ретельно сканує історію вашого проєкту на наявність потенційних витоків цінних секретів, таких як ключі API та паролі.

Завдяки великому набору перевірок та шаблонів регулярних виразів цей інструмент гарантує виявлення прихованих секретів і захист вашого коду. Попрощайтеся з витоками секретів і привітайте надійний захист від Truffle Hog!

Остання версія Truffle Hog має понад 700 детекторів облікових даних, які активно перевіряють відповідні API. Він підтримує сканування GitHub, GitLab, файлових систем, S3, GCS та Circle CI, що робить його надзвичайно універсальним.

TruffleHog тепер має вбудовану підтримку миттєвої перевірки закритих ключів від мільйонів користувачів GitHub та мільярдів сертифікатів TLS за допомогою технології Driftwood. Він може сканувати навіть двійкові та інші формати файлів, гарантуючи, що жоден секрет не залишиться непоміченим.

Крім того, TruffleHog доступний як GitHub Action та pre-commit hook, що дозволяє легко інтегрувати його у ваш процес розробки. Він розроблений для зручного використання, забезпечуючи додатковий рівень безпеки без зайвих клопотів.

З Truffle Hog ви можете впевнено захистити свій код від випадкового розголошення та зберігати свої секрети під замком. Спробуйте Truffle Hog і дозвольте йому захистити ваші проєкти.

Git Hound

GitHound виходить за рамки інших інструментів, використовуючи пошук коду GitHub, зіставлення шаблонів та пошук в історії комітів. Він може шукати по всьому GitHub, а не лише в конкретних сховищах, користувачах чи організаціях.

Git Hound використовує пошук коду GitHub/Gist, що дозволяє точно визначати конфіденційну інформацію, розміщену в просторі GitHub будь-ким. Це як мати карту скарбів для виявлення потенційних вразливостей.

GitHound виявляє конфіденційні дані, використовуючи зіставлення шаблонів, контекстну інформацію та ентропію рядків. Він також глибоко перевіряє історію комітів, щоб знайти неправильно видалені секрети.

Для спрощення роботи GitHound має систему підрахунку балів, яка фільтрує типові помилкові спрацювання та оптимізує пошук. Це допоможе вам заощадити час і зусилля.

Git Hound підтримує виявлення та декодування base64. Він може розкривати приховані секрети, закодовані у форматі base64, надаючи вам додаткові можливості для пошуку конфіденційної інформації.

GitHound пропонує варіанти інтеграції у великі системи. Ви можете створювати JSON-виходи та налаштовувати регулярні вирази відповідно до своїх потреб. Це забезпечує гнучкість та можливість інтеграції в інші системи.

У корпоративному світі GitHound є цінним інструментом для пошуку розкритих ключів API клієнтів. Це допомагає захистити конфіденційну інформацію, забезпечуючи високий рівень безпеки.

Для мисливців за помилками Git Hound – це чудовий інструмент для пошуку витоків токенів API співробітників, допомагаючи вам виявляти вразливості та отримувати винагороди.

Gitleaks

Gitleaks – це просте у використанні та комплексне рішення для виявлення секретів, незалежно від того, чи вони приховані в минулому чи теперішньому вашому коді. Попрощайтеся з ризиком розголошення паролів, ключів API або токенів у ваших проєктах.

Встановити Gitleaks легко. Ви можете використовувати Homebrew, Docker або Go, залежно від ваших уподобань. Крім того, він пропонує гнучкі варіанти застосування. Ви можете налаштувати його як хук перед фіксацією у своєму репозиторії або скористатися Gitleaks-Action для легкої інтеграції у ваш робочий процес GitHub.

Команда “detect” дозволяє сканувати сховища, каталоги та окремі файли. Незалежно від того, чи працюєте ви на своєму комп’ютері чи в середовищі CI, Gitleaks допоможе вам. Це гарантує, що жоден секрет не прослизне непоміченим.

Команда “protect” сканує явно незафіксовані зміни у ваших сховищах Git. Це ваша остання лінія захисту, що запобігає випадковому розголошенню секретів. Це гарантія, що зберігає ваш код чистим і безпечним.

Gitleaks спонсорується Tines. Завдяки їхній підтримці Gitleaks продовжує розвиватися та вдосконалюватися, надаючи вам найкращі можливості для виявлення секретів.

Не дозволяйте секретам скомпрометувати ваші проєкти. Встановіть Gitleaks, налаштуйте його та дозвольте йому виконувати важку роботу зі сканування та захисту ваших сховищ.

Сканер безпеки Repo

Сканер безпеки Repo — це інструмент командного рядка, призначений для виявлення випадково доданої конфіденційної інформації, такої як паролі, токени, закриті ключі та інші секрети, у вашому сховищі Git.

Цей потужний інструмент дозволяє виявляти та усувати потенційні вразливості безпеки, що виникають через ненавмисне включення конфіденційної інформації у вашу кодову базу. Використовуючи сканер безпеки репо, ви можете забезпечити цілісність свого сховища та захистити конфіденційні дані від несанкціонованого доступу.

Сканер безпеки Repo перевіряє історію всього сховища, швидко надаючи результати сканування. Проводячи ретельне сканування, ви можете завчасно виявляти та швидко усувати потенційні вразливості, що можуть виникнути через розкриття секретів у програмному забезпеченні з відкритим кодом.

Git Guardian

GitGuardian – це інструмент для моніторингу діяльності GitHub в реальному часі, виявлення вразливостей через розкриті секрети, такі як токени API, сертифікати безпеки, облікові дані бази даних тощо.

GitGuardian дозволяє командам застосовувати політики безпеки в приватному та публічному коді, а також в інших джерелах даних.

Основні функції GitGuardian:

  • Інструмент допомагає знайти конфіденційну інформацію, наприклад секрети у приватному вихідному коді.
  • Виявляє та виправляє витоки конфіденційних даних на публічному GitHub.
  • Ефективний, прозорий та простий у налаштуванні інструмент виявлення секретів.
  • Широке охоплення та повна база даних, що охоплює майже будь-яку конфіденційну інформацію.
  • Складні методи зіставлення шаблонів, що покращують процес виявлення та ефективність.

Висновок

Сподіваємося, ця інформація допоможе вам у пошуку конфіденційних даних у вашому сховищі GitHub. Якщо ви використовуєте AWS, перегляньте додаткові статті про безпеку та неправильну конфігурацію AWS. Слідкуйте за новинами, щоб дізнатися про інші корисні інструменти, які покращать вашу роботу. Кодуйте з задоволенням та зберігайте свої секрети в безпеці! 🔒