Збережена контрольна сума виявила те, чого не показував незмінний номер версії. 19 жовтня файли в старих релізах офіційного інструмента командного рядка OVHcloud підмінили. Автоматична збірка одного з користувачів відхилила завантаження: його SHA-256 більше не збігався з раніше записаним значенням. OVHcloud видалила підмінені файли й випустила новий реліз. Тим, хто запускав уражений файл, потрібно перевірити доступні на цьому комп’ютері секрети, а також замінити сам інструмент. [1]
У старому релізі раптом з’явилася нова збірка
Повідомлення в GitHub-репозиторії OVHcloud починалося із запитання. У релізах v0.13.0, v0.14.0 та v0.15.0 файли для завантаження змінилися через кілька тижнів після публікації. Архів Linux ARM64 не пройшов перевірку за хешем, закріпленим у завданні безперервної інтеграції (CI). За збереженими автором даними, заміна відбувалася приблизно між 12:47 та 13:12 UTC.
Метадані виконуваного файла показали ще одну невідповідність: файл із назвою v0.15.0 було зібрано з пізнішого коміту та робочого дерева з незбереженими в коміті змінами. Водночас тег вихідного коду v0.15.0 усе ще вказував на попередній коміт. Отже, завантажуваний файл і його видима версія вихідного коду розійшлися. Щоб доставити інший файл користувачам, нова назва релізу не знадобилася. [1]

Підмінена контрольна сума теж збігалася б
Розслідування OpenSourceMalware показало, що під час заміни змінився й checksums.txt. Саме тому важливе раніше збережене значення в CI: якщо завантажити архів і його хеш разом з однієї скомпрометованої сторінки, перевірка може показати збіг. Порівняння з окремо закріпленим хешем виявило підміну.
Дослідники відтворили атаку на файли релізів через GitHub-акаунт одного з учасників проєкту. У проміжку заміни вони не знайшли відповідного надсилання тегу чи запуску процесу публікації релізу. Водночас видалені файли не були доступні для їхнього власного аналізу навантаження. Тому опис OVHcloud — програма для отримання локальних секретів — слід відокремлювати від тверджень про точні шляхи до файлів або кількість викрадених ключів. Ці подробиці ще не оприлюднено. [2]
Що можна встановити за записами завантажень 19 жовтня
Звіт дослідників із посиланням на попередження OVHcloud називає версії v0.11.0–v0.15.0. Супроводжувач підтвердив видалення підмінених файлів о 16:21 GMT+2, тобто 14:21 UTC. Першу заміну зафіксовано о 12:47 UTC. Саме цей проміжок потрібно дослідити як вікно можливого отримання підміненого файла. Сам факт давнього встановлення однієї з цих версій не означає зараження. [1] [2]
Перевірте час завантажень, журнали CI, кешовані архіви та записи встановлення на робочих станціях і серверах збірки. Збережіть підозрілі файли, не запускаючи їх. Номер версії сам по собі не встановлює час отримання архіву чи факт підміни. Збірка контейнера, яка завантажувала архів релізу GitHub, також потребує перевірки: слово «контейнер» не пояснює походження виконуваного файла.
OpenSourceMalware відокремлює підмінені завантаження релізів від збірок із незмінених вихідних текстів або проксі модулів Go. Це розмежування стосується шляху доставки в цьому інциденті. Варто перевірити фактичне джерело збірки, а не вважати скомпрометованим кожен комп’ютер, який користується сервісами OVHcloud. [2]
Чистий файл не відкликає викрадений ключ
Якщо підмінений файл запускали, його видалення припиняє подальше використання цієї копії, але не забирає назад уже прочитані облікові дані. Перевірте секрети, доступні обліковому запису, від якого працювала програма; відкличте або замініть їх із довіреного пристрою та перегляньте журнали відповідних сервісів на ознаки зловживань. Почніть із реальних прав робочої станції чи сервера збірки: токен розгортання з вузькими дозволами та адміністративний ключ із широкими правами потребують різного обсягу реагування.
У матеріалі про ключ AWS, ізольований за секунди після витоку, пояснюємо споріднену проблему: блокування початкового ключа провайдером саме по собі не означає завершення реагування. Перевірка комп’ютера та відновлення контролю над обліковими записами відповідають на різні запитання.
Новий реліз закриває шлях непомітної заміни файлів
OVHcloud опублікувала v0.16.0 19 жовтня. GitHub позначає реліз як незмінюваний і показує підпис тегу; супроводжувач назвав його новим релізом на заміну та пообіцяв докладніший розбір. Незмінюваність забороняє замінювати прикріплені файли на місці. Вона не підтверджує заднім числом безпечність старого завантаження й не доводить, що доступним секретом ніхто не скористався. [3]
Урок цього випадку — конкретна межа довіри. Знайомий репозиторій, незмінний номер версії та відповідна контрольна сума поруч можуть описувати вже підмінений файл. CI виявив інцидент, бо зберіг попереднє очікуване значення. Матеріал про доставку шкідливих файлів через Packagist і релізи GitHub допоможе простежити подібний шлях від пакета до того, що він насправді встановлює.
Джерела
- alink-tothepast та супроводжувачі OVHcloud. «Заміна файлів релізів v0.13.0–v0.15.0 на збірку з локальними змінами». GitHub, issue №300, 19 жовтня 2026 року; переглянуто 20 жовтня 2026 року. Повідомлення та відповідь супроводжувачів.
- OpenSourceMalware, @6mile. «Glassworm Hacks OVH Clouds CLI tool». Опубліковано 19 жовтня, оновлено 20 жовтня 2026 року; переглянуто 20 жовтня 2026 року. Розслідування підміни файлів.
- OVHcloud. «v0.16.0». Реліз GitHub, 19 жовтня 2026 року; переглянуто 20 жовтня 2026 року. Новий незмінюваний реліз.
