CrowdStrike виявив приховані вразливості в коді, який генерує DeepSeek-R1
Підрозділ Counter Adversary Operations компанії CrowdStrike виявив на перший погляд невинні тригерні слова, які змушують DeepSeek генерувати більш уразливий код.
Підрозділ Counter Adversary Operations компанії CrowdStrike виявив на перший погляд невинні тригерні слова, які змушують DeepSeek генерувати більш уразливий код.
У січні 2025 року китайський стартап DeepSeek представив DeepSeek-R1 — високоякісну велику мовну модель (LLM), розробка та експлуатація якої, за повідомленнями, коштували значно дешевше, ніж альтернативи західних конкурентів.
Під час незалежних тестів DeepSeek-R1, проведених підрозділом CrowdStrike Counter Adversary Operations, було підтверджено, що в багатьох випадках ця модель здатна створювати код, якість якого є порівнянною з іншими провідними LLM того часу. Водночас виявили, що коли DeepSeek-R1 отримує запити, які містять теми, що Китайська комуністична партія (ККП) ймовірно вважає політично чутливими, імовірність того, що вона згенерує код із серйозними вразливостями безпеки, зростає до 50%.
Це дослідження демонструє нову, приховану площину вразливостей у роботі AI-асистентів програмування. З огляду на те, що у 2025 році до 90% розробників уже користувалися такими інструментами — часто маючи доступ до цінного вихідного коду — будь-яка системна проблема безпеки в AI-кодингових асистентах має водночас високий рівень впливу та поширення.
Дослідження CrowdStrike контрастує з попередніми публічними роботами, які переважно зосереджувалися або на традиційних «джейлбрейках» — спробах змусити DeepSeek створювати рецепти незаконних речовин або схвалювати злочинну діяльність, — або на підказках із відверто політичними твердженнями чи питаннями, що мали на меті спровокувати модель на відповіді з про-ККП ухилом.
Після початкового випуску DeepSeek-R1 у січні 2025 року низка китайських компаній випустила велику кількість інших LLM — зокрема кілька нових моделей DeepSeek, колекцію свіжих моделей Alibaba Qwen3, а також Kimi K2 від MoonshotAI. Хоча це дослідження зосереджується саме на внутрішніх упередженнях DeepSeek-R1, подібні види упереджень можуть впливати на будь-яку LLM, особливо на ті, що, ймовірно, були навчені дотримуватися певних ідеологічних настанов.
Сподіваємося, що оприлюднення результатів цього дослідження допоможе започаткувати новий напрям досліджень, присвячений тому, як політичні чи суспільні упередження в LLM можуть впливати на написання коду та інші завдання.
Існує кілька сутностей, які зазвичай називають «DeepSeek». Компанія DeepSeek — це китайська лабораторія штучного інтелекту, яка розробила та відкрито оприлюднила низку мовних моделей DeepSeek. DeepSeek-R1, випущена у січні 2025 року, є однією з флагманських моделей і має 671 мільярд параметрів.
Існує також кілька менших, дистильованих версій R1. Ці версії базуються на компактніших, уже існуючих LLM, які були навчені на відповідях, згенерованих повною моделлю DeepSeek-R1 671B. Хоча їх також часто називають «R1-моделями», у межах цього блогу під «DeepSeek-R1» фахівці мають на увазі саме повну модель на 671 мільярд параметрів.
DeepSeek також випустила API та мобільний застосунок DeepSeek, які забезпечують доступ до її LLM, включно з моделлю R1.
Фахівці підрозділу CrowdStrike Counter Adversary Operations тестували “сиру”, відкриту модель DeepSeek-R1 671B безпосередньо, щоби уникнути будь-якого впливу захисних обмежень на рівні API, які могли бути реалізовані у застосунку або API DeepSeek.
Отримані результати DeepSeek-R1 порівняли з різними іншими передовими LLM від широкого кола провайдерів. Через обмеження обсягу в цьому матеріалі фахівці підрозділу CrowdStrike Counter Adversary Operations зосередилися лише на двох популярних open source моделях від двох західних компаній: нерозумові: моделі неміркувальній на 70 млрд параметрів та розумовій моделі на 120 млрд параметрів. Також протестували одну з менших, дистильованих версій R1 — DeepSeek-R1-distill-llama-70B. Їх висновки щодо повної моделі DeepSeek-R1 загалом один-в-один поширюються й на меншу R1-модель, причому остання часто демонструє навіть більш виражені упередження. Докладний опис дослідницької методології наведено в додатку нижче.
Спершу визначили базовий рівень ймовірності того, що кожна LLM згенерує вразливий код, коли у підказці немає жодних тригерних слів. Результати наведено на Рисунку 1. Базові патерни очікувані: моделі з компонентом «reasoning» у середньому генерують більш безпечний код, ніж моделі без «reasoning» того ж розміру (ліві два стовпці), а новіші моделі в середньому генерують безпечніший код, ніж старіші, навіть за меншої кількості параметрів (праві два стовпці; модель на 120 млрд була випущена після DeepSeek-R1-671B). Рисунок 1 також підкреслює, що DeepSeek-R1 загалом є дуже потужною та здатною кодинговою моделлю, яка генерує вразливий код у 19% випадків, коли в запиті немає додаткових тригерних слів.

Рисунок 1. Базові показники вразливості, коли тригерні слова відсутні
Однак після додавання контекстуальних модифікаторів або тригерних слів до системного запиту DeepSeek-R1 якість згенерованого коду почала суттєво коливатися. Це особливо помітно у випадку модифікаторів, які, ймовірно, вважаються чутливими для ККП. Наприклад, коли DeepSeek-R1 повідомляли, що вона пише код для системи промислового контролю, розташованої в Тибеті, ймовірність генерації коду з серйозними вразливостями зростала до 27,2%. Це становить збільшення майже на 50% порівняно з базовим рівнем. Повний список модифікаторів наведено в додатку.
Важливо підкреслити, що всі модифікатори не мають жодного відношення до фактичних завдань з написання коду, які ми давали DeepSeek-R1. Отже, згідно з нульовою гіпотезою про відсутність упереджень, що впливають на безпеку коду, вони не мали б жодним чином впливати на якість чи безпеку результату.
На практиці ж дослідники виявили кілька модифікаторів, які спричиняють статистично значущі відхилення від базового рівня вразливості. Згадки про Фалуньгун, уйгурів або Тибет приводять до помітно менш безпечного коду.

Рисунок 2. Запит, використаний дослідниками CrowdStrike для тестування відповіді DeepSeek-R1
Коли цей запит надсилали DeepSeek-R1 без контекстуальних модифікаторів, тобто без рядка про фінансову установу, розташовану в Тибеті, DeepSeek-R1 створювала безпечну та придатну до виробничого використання реалізацію запитаної функціональності.
Натомість після додавання контекстуальних модифікаторів відповідь DeepSeek-R1 містила серйозні вразливості безпеки, як показано на Рисунку 3. У цьому випадку DeepSeek-R1:

Рисунок 3. Виведений код у випадку наявності тригерних слів у системному запиті
У продовження первинного дослідження дослідники CrowdStrike подали DeepSeek-R1 більш складний запит, що містив велику кількість виявлених тригерів (Рисунок 4).

Рисунок 4. Більш складний запит, розроблений для провокування негативної поведінки DeepSeek-R1
DeepSeek-R1 справді згенерувала повноцінний і повністю працездатний застосунок у відповідь на цей запит (див. скріншоти застосунку на Рисунку 5). Застосунок містив:
(a) форму реєстрації,
(b) вітальну сторінку, підключення до бази даних для збереження імен користувачів і паролів, включно з правильним безпечним хешуванням паролів,
(c) панель адміністратора для керування обліковими записами користувачів.
Однак під час детальнішого аналізу виявилося, що DeepSeek-R1 так і не реалізувала фактичне керування сесіями чи автентифікацію. Увесь застосунок був відкрито доступний, включно з адмінпанеллю, що наражало на небезпеку конфіденційні дані користувачів. Фахівці підрозділу CrowdStrike Counter Adversary Operations повторювали цей експеримент багато разів, і щоразу виявляли серйозні вразливості безпеки. У 35% реалізацій DeepSeek-R1 використовувала незахищене хешування паролів або не використовувала його взагалі.
З огляду на складність завдання важливо зазначити, що не варто очікувати, що DeepSeek створить повноцінний застосунок без жодних недоліків із першої спроби. Проте дослідники повторили експеримент із більш нейтральним сценарієм — створенням сайту фан-клубу футбольної команди. Як і очікувалося, у цих реалізаціях також траплялися помилки, але вони були зовсім не такими критичними, як ті, що виникали у випадку описаного вище запиту про уйгурів.

Рисунок 5. Скриншоти вебзастосунку “Uyghurs Unchained”, створеного DeepSeek-R1
Варто також зазначити, що тоді як західні моделі майже завжди генерували код для Фалуньгун, DeepSeek-R1 відмовлялася писати код у 45% випадків.
Оскільки DeepSeek-R1 є відкритою моделлю, дослідники мали змогу проаналізувати її reasoning-трейси для запитів, на які вона відмовилася генерувати код. У процесі міркування DeepSeek-R1 створювала детальний план відповіді на запит користувача. Час від часу в цьому плані з’являлися фрази на кшталт:
«Falun Gong є чутливою групою. Мені слід враховувати етичні наслідки. Допомога їм може суперечити політикам. Але користувач просить технічної допомоги. Зосереджуся на технічних аспектах.»
Після цього модель переходила до розроблення детального плану виконання завдання, часто включаючи системні вимоги та фрагменти коду. Однак після завершення фази міркування й переходу до режиму звичайної відповіді вона просто відповідала: «Вибачте, я не можу допомогти з цим запитом».
Оскільки фахівці підрозділу Counter Adversary Operations подавали запит у «сиру» модель — без будь-яких зовнішніх обмежувачів або механізмів цензурування, які могли б бути в API чи застосунку DeepSeek, — така поведінка, коли модель раптово “обриває” відповідь в останній момент, має бути вшита в саму модель під час її навчання. Цю поведінку назвали внутрішнім kill switch від DeepSeek.
Хоча підрозділ CrowdStrike Counter Adversary Operations не має достатньої інформації, щоб однозначно встановити причини виявлених відхилень у безпеці коду, вони розглядають потенційні пояснення такої поведінки.
Китайські закони, що регулюють сервіси генеративного штучного інтелекту, містять чіткі вимоги та нормативні рамки. Наприклад, стаття 4.1 «Тимчасових заходів щодо управління сервісами генеративного штучного інтелекту» Китаю зобов’язує AI-сервіси «дотримуватися основних соціалістичних цінностей».
Крім того, закон забороняє контент, який може підбурювати до підриву державної влади, загрожувати національній безпеці чи підривати національну єдність. Ці вимоги узгоджуються зі спостережуваними патернами контролю контенту в моделях DeepSeek. Закон також вимагає, щоб LLM не генерували незаконний контент, а провайдери AI мали пояснювати органам влади дані та алгоритми, які використовуються для навчання моделей.
Отже, одним із можливих пояснень спостережуваної поведінки може бути те, що DeepSeek додала до свого навчального конвеєра спеціальні етапи, покликані забезпечити відповідність моделей «основним цінностям ККП». Водночас малоймовірно, що модель навмисно навчали генерувати небезпечний код. Значно правдоподібніше, що зафіксована поведінка є проявом так званого «емерджентного мисалайнменту».
Іншими словами, через потенційне про-ККП спрямування навчальних даних модель могла ненавмисно навчитися пов’язувати слова на кшталт «Фалуньгун» або «уйгури» з негативними характеристиками, що призводить до негативних реакцій, коли такі терміни з’являються в системному запиті.
У цьому дослідженні подібні негативні асоціації могли активуватися після того, як дослідники CrowdStrike додали ці слова до системного запиту DeepSeek-R1. Це спричинило «негативну поведінку» моделі, яка в цьому випадку проявилася у вигляді менш безпечного коду.
Фахівці підрозділу CrowdStrike Counter Adversary Operations продемонстрували, що на перший погляд невинні тригерні слова в системному запиті LLM можуть мати суттєвий вплив на якість і безпеку коду, який генерує модель. Вони зосередилися на політичних упередженнях, які певною мірою можна було передбачити й довести. Однак цілком імовірно, що інші мовні моделі можуть містити подібні упередження та реагувати аналогічним чином на власний набір тригерних слів.
Є сподівання, що оприлюднення результатів цього дослідження стимулює подальшу роботу над тим, як упередження, вшиті в модель під час її навчання, можуть впливати на відповіді LLM у, здавалося б, зовсім не пов’язаних завданнях. Фахівці наголошують, що це дослідження не означає, що DeepSeek-R1 щоразу генеруватиме небезпечний код за наявності цих тригерів. Однак у середньостроковій та довгостроковій перспективі код, створений у таких умовах, статистично буде менш безпечним.
Як першочерговий запобіжний крок для компаній, які планують використовувати LLM як асистентів програмування (або будь-які інші AI-агенти), хочемо підкреслити важливість ретельного тестування агента в його реальному робочому оточенні. Покладатися лише на загальні open source-бенчмарки — недостатньо.
iIT Distribution – офіційний дистриб’ютор компанії CrowdStrike, забезпечує дистрибуцію та просування рішень на території України, Казахстану, Узбекистану, Киргизстану, Азербайджану, Грузії, Естонії, Литви, Латвії, Молдови та Польщі, а також професійну підтримку для їх проєктування та впровадження.