Штучний інтелект: Геній пошуку вразливостей, але новачок у виправленні коду
Експерти лабораторії Off-by-1 компанії 1Password провели глибоке дослідження можливостей передових моделей штучного інтелекту, зокрема ChatGPT 5.5 від OpenAI та Claude Opus 4.8 від Anthropic. Результати їхньої роботи показали, що хоча ШІ чудово справляється з виявленням програмних уразливостей та навіть може генерувати експлойти, його здатність самостійно виправляти знайдені помилки залишається обмеженою. Без безпосередньої участі людини, штучний інтелект здатен усунути дефект лише в одному з чотирьох випадків.
Джерело зображення: Fotis Fotopoulos / unsplash.com
Під час експерименту для шести нещодавно виявлених програмних вразливостей було згенеровано 6080 патчів за допомогою двох найсучасніших моделей. Дослідники дійшли висновку, що середній показник успіху у створенні патча, який би повністю усував вразливість без суттєвих змін у функціоналі застосунку, склав лише 26,0 %. Розглядаючи детальніше результати:
- 20,1 % згенерованих патчів вирішували первинну проблему, але при цьому змінювали поведінку програми. Наприклад, логіка “білого списку” (дозволених елементів) трансформувалася на логіку “чорного списку” (заборонених елементів).
- У 2,3 % випадків виправлення однієї вразливості призводило до появи нової.
- 49,3 % спроб виявилися безуспішними – ШІ не зміг створити захист від жодного з варіантів експлойту.
- 2,2 % випадків були найкритичнішими: ШІ не тільки не виправив вразливість, але й створив додатковий вектор для її експлуатації.
Навіть серед успішних патчів, які не змінювали поведінку програми, виявлене виправлення виявилося доволі “крихким”. Це означає, що хоча безпосередня вразливість могла бути усунена, глибинна причина її виникнення залишалася невирішеною.
Вплив інструкцій на ефективність ШІ
Ефективність роботи штучного інтелекту значною мірою залежить від чіткості початкових інструкцій. Це стосується як самих моделей ШІ, так і розробників-людей, які займаються виправленням програмного коду. У випадку неточних або помилкових вказівок, ймовірність невдачі для ШІ значно зростає. Натомість, коли запит є коректним, ШІ може впоратися із завданням у 65 % випадків. Повна відсутність інструкцій знижує цей показник до 50,4 %, а некоректні вказівки – до катастрофічних 15,2 %. На противагу цьому, людський розробник, аналізуючи вразливий код, має значно вищі шанси розпізнати приховану або оманливу інформацію.
Середня вартість створення коректного патча, враховуючи невдалі спроби, складає всього близько $6,74 (приблизно 270 ₴ за поточним курсом 2026 року). Проте, оцінюючи співвідношення витрат та вигод, вкрай важливо враховувати обсяг експертного нагляду, необхідного для того, щоб застосування штучного інтелекту в цій сфері було справді виправданим.
Порада від Soft Portal:
Ці дослідження підкреслюють, що хоча штучний інтелект є потужним інструментом для виявлення загроз у програмному забезпеченні, він поки що не може повністю замінити людський інтелект та досвід у процесі їх усунення. Для забезпечення надійної безпеки ваших застосунків, використовуйте ШІ як помічника для прискорення процесу аналізу, але завжди покладайтеся на кваліфікованих фахівців для фінального виправлення та перевірки коду.
