Проєкт «Big Sleep»: ШІ агенти Google вперше знайшли реальні вразливості у коді

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

Нещодавно проєкт Google під назвою «Big Sleep» знайшов реальну вразливість в SQLite, системі бази даних з відкритим вихідним кодом.

Чому це важливо:

Дослідники Google вважають це першим публічним прикладом того, як агент ШІ знайшов не виявлену реальну проблему, а саме — переповненням буфера стека в SQLite.

Вразливість знайшли ще до появи в офіційному випуску:

«Ми вважаємо, що ця робота має величезний захисний потенціал. Знаходження вразливостей у програмному забезпеченні ще до його випуску означає, що у зловмисників немає можливості конкурувати: вразливості виправляються ще до того, як зловмисники встигнуть їх використати», — йдеться у дописі проєкту.

Дослідники визнають: ШІ агентів для пошуку вразливостей вже використовували раніше. Так, Team Atlanta знайшла помилку null-pointer дереференса — також у SQLite. Саме цей випадок надихнув команду з Google створити потужнішого агента, який знайде серйознішу та важливішу проблему.

Різниця у тому, що Team Atlanta виявили вразливість під час змагання з пошуку вразливостей. Кейс, який знайшли «Big Sleep» — це проблема у реальному релізі для реальних користувачів. Це і є прецедент.

Додатково: «Big Sleep» — це спільний проєкт команд Google Project Zero та Google DeepMind.

«Гра на випередження»

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

Саме такого підходу часто дотримуються зловмисники у пошуку вразливостей — тому команда дослідників вирішила спробувати випередити їх за допомогою ШІ.

Як саме був проведений аналіз:

  • Команда зібрала ряд нещодавніх комітів до репозиторію SQLite;
  • Вручну вилучили тривіальні зміни (наприклад, пов’язані з документацією);
  • Налаштували промпт: модель потрібно було забезпечити і коментарем до коміту, і диференціалом змін;
  • Нейромережі було поставлено завдання: переглянути поточний стан репозиторію (на момент HEAD) у пошуках пов’язаних проблем, які могли залишитися невиправленими.

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

«Вразливість досить цікава, як і той факт, що існуюча інфраструктура тестування для SQLite (як через OSS-Fuzz, так і власна інфраструктура проекту) не виявила цієї проблеми — тому ми провели додаткове дослідження», — йдеться у блогу «Big Sleep».

Додатково: Проєкт «Big Sleep» раніше жартівливо називали Project Naptime: поки йде пошук вразливостей, розробник дрімає.

Експериментальні результати

Хоча результати обнадійливі, команда наголошує, що вони поки що залишаються експериментальними. Такі інструменти як «фуззери», є не менш ефективними для пошуку вразливостей — хоча саме у цьому кейсі команді дослідників пощастило «випередити» OSS-Fuzz.

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

Оскільки проєкт досі знаходиться на стадії дослідження, команда досі використовує невеликі програми з відомими вразливостями для оцінки прогресу.

Проєкт «Big Sleep» є частиною місії Project Zero. Ціль проєкту: зробити вразливості «нульового дня» (помилки, про які ще ніхто не знає, окрім зловмисників) якомога складнішими для використання.

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Це дуже круте досягнення. Вітаю AI — його б вже найняли в більшість компаній світу.

А вони впевнені, що він їм розповів про всі вразливості, що знайшов?

Інші він в OpenAI злив.

Підписатись на коментарі