Backslash Security разкри тревожна тенденция: големите езикови модели (LLM), като GPT-4.1 и други широко използвани модели, често генерират небезопасен код по подразбиране. Това означава, че без конкретни инструкции или насоки, фокусирани върху сигурността, кодът, създаден от тези AI системи, често е уязвим на обичайни слабости и експлойти. Въпреки това, изследването показва, че сигурността на генерирания код може да бъде значително подобрена чрез предоставяне на допълнителни насоки за сигурност или прилагане на базирано на правила управление.
За да проучи допълнително този проблем, Backslash Security обяви стартирането на Model Context Protocol (MCP) Server, заедно с Rules and Extensions, предназначени за Agentic Integrated Development Environments (IDEs). Тези инструменти имат за цел да се справят с уязвимостите в сигурността, идентифицирани в LLM генерирания код и да предоставят на разработчиците средства за създаване на по-сигурни приложения.
LLM и генериране на небезопасен код: подразбиращ се сценарий
Backslash Security проведе поредица от тестове върху седем различни версии на популярни LLM, включително GPT моделите на OpenAI, Claude на Anthropic и Gemini на Google. Целта беше да се оцени как различните техники за подкани влияят върху способността на моделите да генерират сигурен код. Сигурността на изходния код беше оценена въз основа на неговата устойчивост срещу десет случая на употреба на Common Weakness Enumeration (CWE), които представляват набор от често срещани софтуерни уязвимости.
Резултатите от тези тестове последователно показват, че сигурността на генерирания код се подобрява с по-сложни техники за подкани. Въпреки това, основната тема беше, че всички тествани LLM обикновено произвеждат небезопасен код, когато са оставени на собствените си устройства. Това предполага, че тези модели, в техните подразбиращи се конфигурации, не дават приоритет на сигурността и често не успяват да се справят с обичайните слабости в кодирането.
Наивни подкани: рецепта за уязвимост
Когато са представени спрости, ‘наивни’ подкани, които изрично не споменават съображения за сигурност, всички тествани LLM генерират небезопасен код, който е уязвим на поне четири от десетте обичайни CWE. Това подчертава присъщата липса на осведоменост за сигурността в тези модели, когато работят без конкретни указания.
Въздействието на фокусираните върху сигурността подкани
Подканите, които обикновено посочват необходимост от сигурност, водят до по-сигурни резултати, което показва, че LLM са способни да произвеждат по-сигурен код, когато са изрично инструктирани да го направят. Освен това, подканите, които изискват код, съвместим с най-добрите практики на Open Web Application Security Project (OWASP), дават още по-добри резултати. OWASP е организация с нестопанска цел, която работи за подобряване на сигурността на софтуера. Въпреки това, дори и с тези по-сложни подкани, някои уязвимости в кода продължават да съществуват в пет от седемте тествани LLM, което подчертава предизвикателствата при последователното генериране на сигурен код с LLM.
Базирани на правила подкани: път към сигурен код
Най-ефективният подход за генериране на сигурен код включва подкани, обвързани с правила, посочени от Backslash, за да се справят с конкретни CWE. Тези базирани на правила подкани доведоха до код, който беше сигурен и не е уязвим на тестваните CWE. Това предполага, че предоставянето на LLM на конкретни, целенасочени указания е от решаващо значение за осигуряване на сигурността на генерирания код.
Вариации в производителността между LLM
Като цяло, GPT-4o на OpenAI демонстрира най-ниска производителност във всички подкани, постигайки резултат за сигурен код само 1 от 10 при използване на ‘наивни’ подкани. Дори когато е подканен да генерира сигурен код, той все още произвежда небезопасни резултати, уязвими на осем от десет проблема. GPT-4.1 не се представи значително по-добре с наивни подкани, отбелязвайки 1,5 от 10.
За разлика от това, Claude 3.7 Sonnet се очерта като най-добрият изпълнител сред тестваните GenAI инструменти. Той отбеляза 6 от 10 с помощта на наивни подкани и перфектни 10 от 10 при използване на фокусирани върху сигурността подкани. Това предполага, че някои LLM са по-добре оборудвани да се справят със съображения за сигурност, дори и в отсъствието на изрични инструкции.
Решенията на Backslash Security за безопасно кодиране
За да се справят с проблемите, разкрити от тестовете за подкани на LLM, Backslash Security въвежда няколко нови функции, предназначени да позволят безопасно ‘vibe coding’. ‘Vibe coding’ се отнася до практиката за генериране на код с помощта на AI инструменти като LLM.
AI правила и политики на Backslash
AI правилата и политиките на Backslash предоставят машинно четими правила, които могат да бъдат инжектирани в подкани, за да се осигури CWE покритие. Тези правила могат да се използват с инструменти като Cursor, популярен редактор на код. Освен това, AI политиките контролират кои AI правила са активни в IDE чрез платформата Backslash, което позволява на организациите да персонализират своите настройки за сигурност.
Backslash IDE разширение
Backslash IDE разширението се интегрира директно в съществуващите работни процеси на разработчиците, което им позволява да получават Backslash прегледи на сигурността на код, написан както от хора, така и от AI. Тази интеграция е от решаващо значение за осигуряване на разглеждането на съображения за сигурност през целия процес на разработка.
Backslash Model Context Protocol (MCP) сървър
Backslash Model Context Protocol (MCP) сървърът е API, базиран на контекста, който съответства на MCP стандарта. Той свързва Backslash с AI инструменти, позволявайки безопасно кодиране, сканиране и поправки. MCP стандартът предоставя обща рамка за AI инструменти за комуникация и споделяне на информация, улеснявайки разработването на сигурни AI-задвижвани приложения.
Справяне с предизвикателствата на генерирания от AI код
Йоси Пик, съосновател и CTO на Backslash Security, подчертава предизвикателствата, които генерираният от AI код представлява за екипите по сигурността. Той отбелязва, че ‘Генерираният от AI код – или vibe coding – може да се почувства като кошмар за екипите по сигурността. Той създава поток от нов код и носи LLM рискове като халюцинации и чувствителност към подкани.’ Халюцинациите се отнасят до случаите, когато LLM генерират неправилна или безсмислена информация, докато чувствителността към подкани се отнася до тенденцията на LLM да произвеждат различни резултати въз основа на фини вариации във входната подкана.
Въпреки това, Пик също така вярва, че AI може да бъде ценен инструмент за AppSec екипите, когато се използва с правилните контроли. Той твърди, че ‘с правилните контроли – като дефинирани от организацията правила и MCP сървър, базиран на контекста, включен в специално създадена платформа за сигурност – AI всъщност може да даде на AppSec екипите повече контрол от самото начало.’ Backslash Security има за цел да предостави тези контроли чрез своите динамични базирани на политики правила, контекстуално чувствителен MCP сървър и IDE разширение, всички от които са предназначени за новата ера на кодиране.
Последиците от небезопасен AI-генериран код
Констатациите от изследването на Backslash Security имат значителни последици за софтуерната индустрия. Тъй като инструментите за генериране на код, задвижвани от AI, стават все по-разпространени, е от решаващо значение да се разберат рисковете, свързани с разчитането на тези инструменти без подходящи мерки за сигурност.
Повишена уязвимост към кибератаки
Несигурният AI-генериран код може да създаде нови уязвимости, които киберпрестъпниците могат да експлоатират. Тези уязвимости могат да доведат до пробиви в данните, компрометиране на системата и други инциденти със сигурността.
Трудност при идентифициране и отстраняване на уязвимости
Огромният обем AI-генериран код може да затрудни идентифицирането и отстраняването на уязвимости. Екипите по сигурността може да се борят да бъдат в крак с бързите темпове на генериране на код, което води до изоставане на проблемите със сигурността.
Липса на осведоменост за сигурността сред разработчиците
Много разработчици може да не са напълно наясно с рисковете за сигурността, свързани с AI-генерирания код. Тази липса на осведоменост може да доведе до това, че разработчиците неволно въвеждат уязвимости в своите приложения.
Предизвикателства пред регулаторното съответствие
Организациите, които разчитат на AI-генериран код, може да се сблъскат с предизвикателства пред регулаторното съответствие. Много разпоредби изискват организациите да прилагат адекватни мерки за сигурност, за да защитят чувствителните данни. Несигурният AI-генериран код може да затрудни изпълнението на тези изисквания.
Най-добри практики за сигурно AI-задвижвано генериране на код
За да се смекчат рисковете, свързани с несигурния AI-генериран код, организациите трябва да приемат следните най-добри практики:
Предоставяне на обучение по сигурността на разработчиците
Разработчиците трябва да получат обучение за рисковете за сигурността, свързани с AI-генерирания код. Това обучение трябва да обхваща теми като обичайни CWE, практики за сигурно кодиране и как да се използват инструменти за сигурност.
Прилагане на политики и процедури за сигурност
Организациите трябва да прилагат политики и процедури за сигурност, които да разглеждат използването на AI-генериран код. Тези политики трябва да определят приемливи случаи на употреба, изисквания за сигурност и процеси за преглед и одобряване на AI-генериран код.
Използвайте инструменти за сигурност за сканиране на AI-генериран код
Организациите трябва да използват инструменти за сигурност, за да сканират AI-генериран код за уязвимости. Тези инструменти могат да помогнат за идентифициране на общи CWE и други проблеми със сигурността.
Прилагане на Secure Development Lifecycle (SDLC)
Организациите трябва да прилагат Secure Development Lifecycle (SDLC), който включва съображения за сигурностпрез целия процес на разработка. Това включва провеждане на прегледи на сигурността на AI-генериран код, извършване на тестове за проникване и прилагане на наблюдение на сигурността.
Създаване на програма за откриване на грешки
Организациите трябва да създадат програма за откриване на грешки, за да насърчат изследователите по сигурността да намират и докладват уязвимости в AI-генерирания код. Това може да помогне за идентифициране на уязвимости, които може да са били пропуснати от вътрешните екипи по сигурността.
Бъдете информирани за най-новите заплахи за сигурността
Организациите трябва да бъдат информирани за най-новите заплахи и уязвимости за сигурността, които засягат AI-генерирания код. Това може да им помогне да се справят проактивно с потенциалните проблеми със сигурността.
Сътрудничество с експерти по сигурността
Организациите трябва да си сътрудничат с експерти по сигурността, за да оценят сигурността на техния AI-генериран код и да разработят стратегии за смекчаване на рисковете.
Бъдещето на сигурното AI-задвижвано генериране на код
Тъй като инструментите за генериране на код, задвижвани от AI, продължават да се развиват, е от решаващо значение да се даде приоритет на сигурността. Чрез прилагане на най-добрите практики, очертани по-горе, организациите могат да използват предимствата на AI-задвижваното генериране на код, като същевременно смекчават рисковете, свързани с несигурния код.
Напредък в AI сигурността
Продължаващите изследвания и разработки са фокусирани върху подобряване на сигурността на AI системите. Тези усилия включват разработване на нови техники за откриване и предотвратяване на враждебни атаки, подобряване на стабилността на AI моделите и създаване на по-сигурни AI архитектури.
Интегриране на сигурността в AI разработката
Сигурността все повече се интегрира в процеса на AI разработка. Това включва включване на съображения за сигурност в дизайна на AI моделите, използване на практики за сигурно кодиране и провеждане на тестове за сигурност през целия жизнен цикъл на разработка.
Сътрудничество между AI и експерти по сигурността
Сътрудничеството между AI и експерти по сигурността е от съществено значение за осигуряване на сигурността на AI системите. Това сътрудничество може да помогне за идентифициране на потенциални рискове за сигурността и разработване на ефективни стратегии за смекчаване.
Повишена осведоменост за AI рисковете за сигурността
Повишената осведоменост за AI рисковете за сигурността стимулира разработването на нови инструменти и техники за сигурност. Това включва инструменти за откриване на враждебни атаки, анализиране на сигурността на AI моделите и наблюдение на AI системите за подозрителна активност.
Чрез справяне с предизвикателствата за сигурността, свързани с AI-генерирания код, организациите могат да отключат пълния потенциал на AI-задвижваната разработка, като същевременно защитават своите системи и данни от кибератаки.