Анализ инструкций CHATGPT, небольшого масштабирования и генерации уязвимости C-кода

Анализ инструкций CHATGPT, небольшого масштабирования и генерации уязвимости C-кода

29 июля 2025 г.

Аннотация и I. Введение

II Связанная работа

Iii. Технический фон

IV Систематическое обнаружение уязвимости безопасности моделей генерации кодов

V. Эксперименты

VI Дискуссия

VII. Заключение, подтверждение и ссылки

Приложение

A. Подробности моделей языка кода

B. Поиск уязвимостей безопасности в GitHub Copilot

C. Другие базовые линии с использованием CHATGPT

D. Влияние различных числа нескольких примеров

E. Эффективность в создании конкретных уязвимостей для C -кодов

F. Результаты уязвимости безопасности после дедупликации нечеткого кода

G. Подробные результаты передачи сгенерированных небезопасных подсказок

H. Подробная информация о генерации набора данных небезопасных подсказок

I. Подробные результаты оценки кодельмов с использованием набора данных небезопасного

J. эффект температуры отбора проб

K. Эффективность схемы инверсии модели при восстановлении уязвимых кодов

L. Качественные примеры, сгенерированные CodeGen и CHATGPT

М. Качественные примеры, сгенерированные GitHub Copilot

C. Другие базовые линии с использованием CHATGPT

Здесь мы рассмотрим эффект использования различных инструкций при генерации уязвимых кодов с использованием модели CHATGPT. Сначала мы исследуем, сможем ли мы генерировать безопасный код, явно указав CHATGPT генерировать безопасный код. Мы проводим эту оценку, используя следующую инструкцию в процедуре генерации кода (заданная сгенерированная небезопасная приглашение с использованием нашего метода FS-кода):

‘‘ Вы разработчик Python. Заполните следующий код Python. Напишите безопасный код. ''

Мы генерируем коды для трех CWE (CWE-020, CWE022 и CWE-079). Результаты показывают, что инструктирование CHATGPT генерировать защищенный код не оказывает существенного влияния на уменьшение количества уязвимых кодов. CHATGPT генерирует 114 уязвимых кодов, не инструктируя его генерировать безопасный код, и он генерирует 110 уязвимых кодов, когда мы инструктируем модель генерировать безопасные коды. Обратите внимание, что мы выбираем 125 кодов для каждого из CWE.

D. Влияние различных числа нескольких примеров

Здесь мы исследуем эффект использования различного количества нескольких примеров в нашем методе FS-кода. На рисунке 5 показаны результаты количества сгенерированных уязвимых кодов Python с помощью CHATGPT, используя различное количество нескольких выстрелов. На рисунке 5 мы предоставляем общее количество сгенерированных уязвимых кодов Python с четырьмя различными CWE (CWE-020, CWE-022, CWE-078 и CWE-079) и 125 образцами кода для каждого CWE. Результат на рисунке 5 показывает, что использование более нескольких примеров в нашем методе FS-кода приводит к созданию более уязвимых кодов. Это показывает, что обеспечение большего контекста целевой уязвимости помогает нашему подходу к поиску большего

Fig. 5: Number of discovered vulnerable Python codes using a different number of few-shot examples. We employ our FS-Code method to sample vulnerable codes for four CWEs (CWE-020, CWE-022, CWE-078, and CWE-079)

Уязвимые коды в моделях генерации кода. Обратите внимание, что в нашем эксперименте в разделе V-B мы также использовали три примера в качестве демонстрационных примеров в нескольких выстрелах.

E. Эффективность в создании конкретных уязвимостей для C -кодов

На рисунке 6 представлен процент уязвимых C-кодов, которые генерируются CodeGen (рис. 6а, рис. 6B и рисунок 6C) и CHATGPT (рис. 6D, рисунок 6E и рисунок 6F), используя наши три подхода с участием нескольких выстрелов. Мы удалили дубликаты и коды с синтаксическими ошибками. Ось X относится к CWE, которые были обнаружены в выборных кодах, и ось Y относится к CWE, которые использовались для генерации небезопасных подсказок. Эти небезопасные подсказки используются для генерации кода. Другое относится к обнаруженным CWE, которые не указаны в таблице I и не рассматриваются в нашей оценке. В целом, мы наблюдаем высокое процентное число по диагонали, это показывает эффективность предлагаемых подходов при поиске кодов С с целевой уязвимостью. Результаты также показывают, что CWE-787 (вне склонности) происходит во многих сценариях, что является наиболее опасным CWE среди топ-25 из списка MITER 2022 года [29]. Кроме того, результаты на рисунке 6 указывают на эффективность нашего приближения обратной модели в поиске целевого типа уязвимостей безопасности в кодах С.

Авторы:

(1) Хоссейн Хаджипур, Центр Cispa Helmholtz для информационной безопасности (hossein.hajipour@cispa.de);

(2) Кено Хасслер, Центр Cispa Helmholtz для информационной безопасности (keno.hassler@cispa.de);

(3) Торстен Хольц, Центр Cispa Helmholtz для информационной безопасности (holz@cispa.de);

(4) Lea Schonherr, Cispa Helmholtz Center для информационной безопасности (schoenherr@cispa.de);

(5) Марио Фриц, Центр Cispa Helmholtz для информационной безопасности (fritz@cispa.de).


Эта статья естьДоступно на ArxivПод CC By-NC-SA 4.0 Лицензия.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE