Вплив
Витік секретів, таких як API ключі, маркери або облікові дані, може призвести до несанкціонованого доступу до конфіденційних даних, видавання себе за іншу особу та значних фінансових втрат через зловживання ресурсами [S1]. Після того, як секрет закріплений у загальнодоступному репозиторії або об’єднаний у зовнішню програму, його слід вважати скомпрометованим [S1].
Основна причина
Основною причиною є включення конфіденційних облікових даних безпосередньо у вихідний код або файли конфігурації, які згодом передаються для контролю версій або подаються клієнту [S1]. Розробники часто жорстко кодують ключі для зручності під час розробки або випадково включають файли .env у свої коміти [S1].
Конкретні виправлення
- Ротація скомпрометованих секретів: Якщо секрет витік, його потрібно негайно відкликати та замінити. Простого видалення секрету з поточної версії коду недостатньо, оскільки він залишається в історії керування версіями [S1][S2].
- Використовуйте змінні середовища: Зберігайте секрети у змінних середовища, а не жорстко кодуйте їх. Переконайтеся, що файли
.envдодано до.gitignore, щоб запобігти випадковому фіксуванню [S1]. - Запровадити секретне керування: Використовуйте спеціальні інструменти секретного керування або служби сховища, щоб додати облікові дані в середовище програми під час виконання [S1].
- Очистити історію сховища: якщо в Git було закріплено секрет, скористайтеся такими інструментами, як
git-filter-repoабо BFG Repo-Cleaner, щоб остаточно видалити конфіденційні дані з усіх гілок і тегів в історії сховища [S2].
Як FixVibe перевіряє це
FixVibe тепер включає це в живе сканування. Пасивний secrets.js-bundle-sweep завантажує пакети JavaScript того самого походження та збігається з відомими шаблонами ключа, маркера та облікових даних API за допомогою ентропії та воріт-заповнювачів. Пов’язані перевірки в реальному часі перевіряють сховище веб-переглядача, вихідні карти, автентифікацію та клієнтські пакети BaaS, а також шаблони вихідних репозиторіїв GitHub. Переписування історії Git залишається кроком виправлення; Пряма трансляція FixVibe зосереджена на секретах, присутніх у доставлених активах, сховищі браузера та поточному вмісті репо.
