кочан Осигуряване на разработването на AI: Справяне с уязвимостите от Hallucinated Code - Unite.AI
Свържете се с нас

Изкуствен интелект

Осигуряване на разработването на AI: Справяне с уязвимостите от Hallucinated Code

mm

Публикуван

 on

Научете за настоящите усилия за смекчаване, бъдещи стратегии и значението на етичните съображения в надеждността на кода, генериран от AI

Насред Изкуствен интелект (AI) разработки, домейнът на разработка на софтуер претърпява значителна трансформация. Традиционно разработчиците разчитат на платформи като Преливане на стека за намиране на решения на предизвикателствата при кодирането. Въпреки това, със създаването на Големи езикови модели (LLM), разработчиците са видели безпрецедентна поддръжка за своите програмни задачи. Тези модели показват забележителни възможности за генериране на код и решаване на сложни програмни проблеми, като предлагат потенциал за рационализиране на работните потоци за разработка.

И все пак последните открития породиха опасения относно надеждността на кода, генериран от тези модели. Появата на AI “халюцинации” е особено обезпокоително. Тези халюцинации възникват, когато AI моделите генерират невярна или несъществуваща информация, която убедително имитира автентичността. Изследователи от Вулкан Кибер подчертаха този проблем, показвайки как съдържание, генерирано от AI, като препоръчване на несъществуващи софтуерни пакети, може неволно да улесни кибератаките. Тези уязвимости въвеждат нови вектори на заплаха във веригата за доставка на софтуер, позволявайки на хакерите да проникнат в среди за разработка, като маскират зловреден код като легитимни препоръки.

Изследователите по сигурността са провели експерименти, които разкриват тревожната реалност на тази заплаха. Чрез представяне на общи заявки от Stack Overflow към AI модели като ChatGPT, те наблюдават случаи, в които се предлагат несъществуващи пакети. Последвалите опити за публикуване на тези фиктивни пакети потвърдиха тяхното присъствие в популярни инсталатори на пакети, подчертавайки непосредствения характер на риска.

Това предизвикателство става по-критично поради широко разпространената практика на повторно използване на код в съвременното разработване на софтуер. Разработчиците често интегрират съществуващи библиотеки в своите проекти без строга проверка. Когато се комбинира с препоръки, генерирани от AI, тази практика става рискована, като потенциално излага софтуера на уязвимости в сигурността.

Тъй като разработката, управлявана от AI, се разширява, експертите и изследователите в индустрията наблягат на стабилни мерки за сигурност. Сигурните практики за кодиране, строгите прегледи на кода и удостоверяването на източниците на код са от съществено значение. Освен това снабдяването с артефакти с отворен код от реномирани доставчици помага за смекчаване на рисковете, свързани с генерираното от AI съдържание.

Разбиране на халюцинирания код

Халюцинираният код се отнася до кодови фрагменти или програмни конструкции, генерирани от езикови модели на AI, които изглеждат синтактично правилни, но са функционално погрешни или неуместни. Тези „халюцинации“ възникват от способността на моделите да предвиждат и генерират код въз основа на модели, научени от огромни набори от данни. Въпреки това, поради присъщата сложност на програмните задачи, тези модели могат да произведат код, който няма истинско разбиране на контекста или намерението.

Появата на халюциниран код се корени в невронни езикови модели, като например базирани на трансформатори архитектури. Тези модели като ChatGPT, се обучават в различни хранилища на код, включително проекти с отворен код, Stack Overflow и други ресурси за програмиране. Чрез контекстуално обучение моделът става умел да предсказва следващия токен (дума или знак) в последователност въз основа на контекста, предоставен от предходните токени. В резултат на това той идентифицира общи модели на кодиране, синтактични правила и идиоматични изрази.

Когато бъде подканен с частичен код или описание, моделът генерира код чрез завършване на последователността въз основа на научени модели. Въпреки това, въпреки способността на модела да имитира синтактични структури, генерираният код може да се нуждае от повече семантична кохерентност или да изпълни предвидената функционалност поради ограниченото разбиране на модела за по-широки концепции за програмиране и контекстуални нюанси. По този начин, докато халюцинираният код може да прилича на истински код на пръв поглед, той често показва недостатъци или несъответствия при по-внимателно разглеждане, поставяйки предизвикателства за разработчиците, които разчитат на генерирани от AI решения в работните процеси за разработка на софтуер. Освен това изследванията показват, че различни големи езикови модели, включително GPT-3.5-Turbo, GPT-4, Gemini Pro и Coral, проявяват висока тенденция за генериране на халюцинирани пакети в различни езици за програмиране. Това широко разпространено явление на феномена на халюцинациите на пакети изисква от разработчиците да бъдат внимателни, когато включват препоръки за код, генериран от AI, в своите работни процеси за разработка на софтуер.

Въздействието на халюцинирания код

Халюцинираният код създава значителни рискове за сигурността, което го прави проблем за разработката на софтуер. Един такъв риск е потенциалът за инжектиране на зловреден код, при който генерираните от AI фрагменти неволно въвеждат уязвимости, които нападателите могат да използват. Например, привидно безобиден кодов фрагмент може да изпълнява произволни команди или неволно да разкрие чувствителни данни, което води до злонамерени дейности.

Освен това кодът, генериран от AI, може да препоръча несигурни извиквания на API, при които липсват правилни проверки за удостоверяване или оторизация. Този пропуск може да доведе до неоторизиран достъп, разкриване на данни или дори дистанционно изпълнение на код, което увеличава риска от пробиви в сигурността. Освен това халюцинираният код може да разкрие чувствителна информация поради неправилни практики за обработка на данни. Например, погрешна заявка към базата данни може неволно да разкрие потребителски идентификационни данни, което допълнително изостри опасенията за сигурност.

Освен последиците за сигурността, икономическите последици от разчитането на халюциниран код могат да бъдат сериозни. Организациите, които интегрират генерирани от AI решения в своите процеси на разработка, са изправени пред значителни финансови последици от пробиви в сигурността. Разходите за възстановяване, правните такси и увреждането на репутацията могат бързо да ескалират. Освен това ерозията на доверието е важен проблем, който възниква от разчитането на халюциниран код.

Освен това разработчиците могат да загубят доверие в системите с изкуствен интелект, ако срещат чести фалшиви положителни резултати или уязвимости в сигурността. Това може да има далечни последици, подкопавайки ефективността на процесите на разработка, управлявани от ИИ, и намалявайки доверието в цялостния жизнен цикъл на разработка на софтуер. Следователно справянето с въздействието на халюцинирания код е от решаващо значение за поддържането на целостта и сигурността на софтуерните системи.

Текущи усилия за смекчаване

Настоящите усилия за смекчаване на рисковете, свързани с халюциниран код, включват многостранен подход, насочен към повишаване на сигурността и надеждността на препоръките за код, генериран от AI. Няколко са описани накратко по-долу:

  • Интегрирането на човешки надзор в процесите на преглед на кода е от решаващо значение. Човешки рецензенти, с тяхното нюансирано разбиране, идентифицират уязвимостите и гарантират, че генерираният код отговаря на изискванията за сигурност.
  • Разработчиците дават приоритет на разбирането на ограниченията на AI и включват специфични за домейна данни, за да прецизират процесите за генериране на код. Този подход повишава надеждността на кода, генериран от AI, като взема предвид по-широк контекст и бизнес логика.
  • Освен това процедурите за тестване, включително цялостни тестови пакети и гранично тестване, са ефективни за ранно идентифициране на проблеми. Това гарантира, че кодът, генериран от AI, е напълно валидиран за функционалност и сигурност.
  • По същия начин, чрез анализиране на реални случаи, при които препоръките за код, генериран от AI, са довели до уязвимости в сигурността или други проблеми, разработчиците могат да съберат ценна информация за потенциални капани и най-добри практики за намаляване на риска. Тези казуси позволяват на организациите да се учат от минал опит и проактивно да прилагат мерки за защита срещу подобни рискове в бъдеще.

Бъдещи стратегии за осигуряване на развитието на ИИ

Бъдещите стратегии за осигуряване на развитието на ИИ включват усъвършенствани техники, сътрудничество и стандарти, както и етични съображения.

По отношение на усъвършенстваните техники е необходимо да се наблегне върху подобряването на качеството на данните за обучението над количеството. Курирането на набори от данни за минимизиране на халюцинациите и подобряване на разбирането на контекста, черпейки от различни източници като хранилища на кодове и проекти от реалния свят, е от съществено значение. Състезателното тестване е друга важна техника, която включва стрес тестване на AI модели за разкриване на уязвимости и насочване на подобрения чрез разработване на показатели за устойчивост.

По същия начин сътрудничеството между секторите е жизненоважно за споделяне на информация относно рисковете, свързани с халюциниран код и разработване на стратегии за смекчаване. Създаването на платформи за споделяне на информация ще насърчи сътрудничеството между изследователи, разработчици и други заинтересовани страни. Това колективно усилие може да доведе до разработването на индустриални стандарти и най-добри практики за сигурно развитие на ИИ.

И накрая, етичните съображения също са неразделна част от бъдещите стратегии. Гарантирането, че разработването на AI се придържа към етичните насоки, помага за предотвратяване на злоупотреби и насърчава доверието в системите за AI. Това включва не само осигуряване на код, генериран от AI, но и справяне с по-широки етични последици при разработването на AI.

Долната линия

В заключение, появата на халюциниран код в решения, генерирани от AI, представлява значителни предизвикателства за разработката на софтуер, вариращи от рискове за сигурността до икономически последици и ерозия на доверието. Настоящите усилия за смекчаване се фокусират върху интегрирането на сигурни практики за разработка на AI, стриктно тестване и поддържане на информираност за контекста по време на генериране на код. Освен това използването на казуси от реалния свят и прилагането на проактивни стратегии за управление са от съществено значение за ефективното намаляване на рисковете.

Гледайки напред, бъдещите стратегии трябва да наблегнат на усъвършенствани техники, сътрудничество и стандарти и етични съображения за подобряване на сигурността, надеждността и моралната цялост на кода, генериран от AI, в работните потоци за разработка на софтуер.

Д-р Асад Абас, a Титуляр доцент в университета COMSATS Исламабад, Пакистан, получава докторска степен. от държавния университет на Северна Дакота, САЩ. Изследванията му се фокусират върху напреднали технологии, включително изчисления в облак, мъгла и крайни изчисления, анализ на големи данни и AI. Д-р Абас има значителен принос с публикации в реномирани научни списания и конференции.