Навчання з безпеки Git і репозиторіїв
Повторіть атаку з ключем, що витік в історії репозиторію, а потім ротуйте його, вичистіть історію й закрийте гілку.
8 вправ Безкоштовно, без реєстрації
Безпека Git і репозиторіїв
8 вправ- Секрети в історії Git Відновіть чинний ключ API з того коміту, що його видалив.
- CWE-540
- ATT&CKT1552.001
- CIS 3
- NIST CSFPR.DS
- Відкритий каталог .git Відновіть увесь код проєкту з однієї публічної URL-адреси.
- CWE-527
- ATT&CKT1213.003
- CIS 16
- NIST CSFPR.PS
- Закомічені файли з секретами Клонуйте публічний репозиторій і прочитайте закомічений .env.
- CWE-540
- ATT&CKT1552.001
- CIS 3
- NIST CSFPR.DS
- Підміна автора коміту Протягніть бекдор під іменем мейнтейнера.
- CWE-345
- ATT&CKT1036
- CIS 16
- NIST CSFPR.PS
- Обхід захисту гілки Перезапишіть main через force-push, оминувши код-рев’ю і CI.
- CWE-285
- ATT&CKT1195.002
- CIS 16
- NIST CSFPR.PS
- Витік токенів доступу Клонуйте приватні репозиторії токеном із публічного gist.
- CWE-522
- ATT&CKT1552.001
- CIS 5
- NIST CSFPR.AA
- Шкідливі pull requests Помітьте бекдор, схований у безневинному виправленні тесту.
- CWE-494
- ATT&CKT1195.002
- CIS 16
- NIST CSFPR.PS
- Розкриття секретів у CI/CD Дістаньте ключ розгортання просто з публічного логу збірки.
- CWE-532
- ATT&CKT1552.001
- CIS 16
- NIST CSFPR.PS
Напрям для розробників
Безпека застосунків за поверхнями атаки. Безкоштовно, на практиці, без реєстрації.
-
Безпека застосунків
22 вправиSQL-ін’єкція · Збережений XSS · Підробка запитів на боці сервера (SSRF)
-
Безпека API
10 вправПорушена авторизація на рівні об’єктів · Масове присвоєння · Надмірне розкриття даних
-
Безпека хмари
17 вправПублічні бакети у сховищі · Надмірні дозволи IAM · Секрети в шарах образу
Поширені запитання
Що таке навчання з безпеки Git і репозиторіїв?
Навчання з безпеки Git вчить розробників ставитися до репозиторію та платформи навколо нього як до межі безпеки, а не як до картотеки з кодом.
Ці вправи охоплюють те, що витікає насправді: облікові дані, які живуть далі в історії комітів, каталог .git, викладений у корінь сайту, токени з надмірними правами, незахищені гілки за замовчуванням і секрети, надруковані в публічних логах збірки.
Чому секрети живуть далі після того, як їх видалили з репозиторію?
Git зберігає кожну версію кожного файлу. Коміт, який видаляє захардкоджений ключ, змінює лише останній знімок: ключ і далі читається в кожному попередньому коміті, а кожен клон копіює ці коміти.
Саме тому спершу йде ротація. Переписування історії через git filter-repo чи BFG — це прибирання, і воно не поверне копію, яку хтось уже склонував.
Ці вправи про сам Git чи про GitHub і CI/CD?
І про те, і про те, бо збої перетинають цю межу. Частина вправ — це чистий Git: історія, авторство, відстежувані файли.
Інші живуть на платформі навколо нього: рецензування pull request’ів, правила захисту гілок, персональні токени доступу та workflow-файли, які виводять секрет у доступний усім лог збірки.