+22 голоса |
Штучний інтелект (AI) кардинально змінює ландшафт розробки програмного забезпечення. Інструменти на основі великих мовних моделей (LLM) дозволяють розробникам генерувати код із простих текстових запитів, значно прискорюючи робочі процеси. Чи не призводить це до неприйнятних ризиків дослідила компанія Veracode, що спеціалізується на безпеці застосунків.
Висновки звіту «2025 GenAI Code Security Report» достатньо чіткі – в середньому 45% коду, створеного за допомогою LLM, містить недоліки безпеки, попереджає Softprom. І це створює нову значну поверхню атаки для організацій.
На думку фахівців, головна причина такого високого рівня вразливостей полягає в тому, що великі мовні моделі навчаються на величезних масивах даних, включно з мільярдами рядків коду з відкритих репозиторіїв. Значна частина цих навчальних даних не є безпечною. Моделі відтворюють шаблони, які вони засвоїли, без контекстуального розуміння для розрізнення безпечних практик кодування та потенційних прогалин у безпеці. Розробник запитує функціонал, і AI його надає, але вибір між безпечною та небезпечною реалізацією залишається на розсуд моделі.
Дослідження виявило кілька важливих тенденцій, які мають лягти в основу стратегії кожного CISO та CTO щодо безпечної розробки в епоху AI.
Новіші моделі не обов'язково є безпечнішими. Хоча моделі AI вдосконалюють написання синтаксично правильного коду, їхня здатність забезпечувати безпеку залишається стабільно низькою. Навіть найновіші та найбільші моделі не демонструють значного прогресу у генерації безпечного коду. Тому керівники не можуть просто довіряти тому, що оновлення інструментів зменшить цей ризик.
Ризик значно варіюється залежно від типу вразливості. Моделі досить добре запобігають поширеним вразливостям, таким як SQL-ін'єкції. Однак для контекстно-залежних недоліків, як-от міжсайтовий скриптинг (XSS), ситуація катастрофічна – лише 12-13% згенерованого коду є безпечним. Це пов’язано з тим, що захист від таких атак вимагає розуміння всього контексту застосунку, що наразі виходить за межі можливостей LLM.
Вибір мови програмування також має значення. Дослідження показало, що код на Java виявився значно менш безпечним (лише 28,5% успіху) порівняно з кодом, згенерованим для Python, C# та Javascript. Ймовірно, це пов'язано з довгою історією Java та величезною кількістю застарілих, небезпечних прикладів коду в її навчальних даних.
Рівень проходження перевірки безпеки порівняно з датою випуску LLM, згруповано за мовою програмування
Звідси кілька рекомендацій для CISO та CTO.
AI – потужний помічник, але він не є заміною експертизи та надійного управління. Звіт Veracode чітко показує, що код, згенерований штучним інтелектом, вимагає обов'язкової перевірки як частина життєвого циклу розробки програмного забезпечення (SDLC).
Встановіть чіткі політики використання AI. Не допускайте безсистемного впровадження інструментів для кодування за допомогою AI. Визначте, які інструменти є схваленими, та вимагайте, щоб увесь код, згенерований AI, розглядався як недовірений, аналогічно коду зі сторонньої бібліотеки.
Інтегруйте автоматизоване тестування безпеки. Інструменти статичного аналізу безпеки застосунків (SAST) повинні бути інтегровані в робочий процес розробки. Ці інструменти можуть автоматично виявляти вразливості на етапі кодування, перш ніж вони потраплять у продакшн.
Надавайте пріоритет навчанню розробників з безпеки. В епоху AI розуміння фундаментальних принципів безпечної розробки стає ще більш критичним. Ваша команда повинна бути здатною виявляти та виправляти недоліки, які вносить AI.
Стратегія охолодження ЦОД для епохи AI
+22 голоса |