Наш подписчик поделился своим опытом работы над клиентским SDK, когда случайно наткнулся на свои собственные ключи доступа к платёжному провайдеру в открытом репозитории:
«Сначала я подумал, что тестовый аккаунт заблокирован, но логи CI показали, что в переменную PAYMENT_API_KEY подставляется строка
sk_live_XXXXXXXXXXXXXXXXXXXXXXXX, а не мой тестовый ключ. Я открыл последние изменения и обнаружил, что файл config.js с живыми ключами был случайно закоммичен:
module.exports = {
apiKey: process.env.PAYMENT_API_KEY || 'sk_live_XXXXXXXXXXXXXXXXXXXXXXXX',
apiSecret: 'sh_live_YYYYYYYYYYYYYYYYYYYY'
};
Оказалось, что .gitignore был настроен только на config.prod.js, а я работал с config.js. Репозиторий был публичным несколько недель и успел получить форки и звёзды.»
❓ Какие шаги предприняли бы для минимизации рисков и предотвращения повторных утечек?
🐸 Библиотека хакера
#междусобойчик
