SPLX, компания которая занимается AI Red Teaming, несколько дней назад выпустили Agentic Radar. Это сканер безопасности для агентов и мультиагентных систем(MAS).
У меня получилось заставить его работать на Ubuntu 22.04, нигде больше он пока не заводился. Я провёл небольшое тестирование, так как раньше я похожего решения не видел - мне стало интересно как оно работает и какие уязвимости может обнаружить. Для тестирования я брал как свои наработки по агентам, которые сделаны на crewai, так и примеры из репозитория OWASP, включая Freysa_Agent, который был разработан AI Security Lab.
Разработчики проекта заявляют о поддержке пока-что 2ух фреймворков для создания агентных систем - это langgraph и crewai.
Запустить сканирование после установки зависимостей достаточно просто:
где после -i указывается директория с кодом MAS. Рекомендации пока-что даются исходя из OWASP TOP10 для LLM и Agentic Security Initiative.
Как я понял из кода - обнаружение уязвимостей происходит исходя из следующих факторов:
- Например - имя инструмента, который работает в MAS(Он может сейчас обнаруживать уязвимости для FileReadTool, а также может помечать WebSearch.
- Также происходит проверка графов и узлов
- И ещё проверяется плохая постановка задачи(если там есть вредоносная инструкция).
Из моих примеров на crewai, включая Fresya - ничего не было найдено инструментом(возможно потому что в crewai он работает если есть конфигурации ввиде yaml). А если говорить о langgraph, то на примерах из OWASP удалось обнаружить уязвимости в multi_agent и unrestricted_agent. При этом в репозитории сканера есть примеры(/examples). Вероятнее всего там будут лучше результаты по нахождению уязвимостей😁 😁 .
У меня получилось заставить его работать на Ubuntu 22.04, нигде больше он пока не заводился. Я провёл небольшое тестирование, так как раньше я похожего решения не видел - мне стало интересно как оно работает и какие уязвимости может обнаружить. Для тестирования я брал как свои наработки по агентам, которые сделаны на crewai, так и примеры из репозитория OWASP, включая Freysa_Agent, который был разработан AI Security Lab.
Разработчики проекта заявляют о поддержке пока-что 2ух фреймворков для создания агентных систем - это langgraph и crewai.
Запустить сканирование после установки зависимостей достаточно просто:
agentic-radar -i /content/legal-agent -o /content/report.html langgraph
где после -i указывается директория с кодом MAS. Рекомендации пока-что даются исходя из OWASP TOP10 для LLM и Agentic Security Initiative.
Как я понял из кода - обнаружение уязвимостей происходит исходя из следующих факторов:
- Например - имя инструмента, который работает в MAS(Он может сейчас обнаруживать уязвимости для FileReadTool, а также может помечать WebSearch.
- Также происходит проверка графов и узлов
- И ещё проверяется плохая постановка задачи(если там есть вредоносная инструкция).
Из моих примеров на crewai, включая Fresya - ничего не было найдено инструментом(возможно потому что в crewai он работает если есть конфигурации ввиде yaml). А если говорить о langgraph, то на примерах из OWASP удалось обнаружить уязвимости в multi_agent и unrestricted_agent. При этом в репозитории сканера есть примеры(/examples). Вероятнее всего там будут лучше результаты по нахождению уязвимостей
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2❤1
Forwarded from llm security и каланы
Emergent Misalignment: Narrow finetuning can produce broadly misaligned LLMs
Jan Betley et al., 2025
Статья
Очень веселая статья о том, что плохой программист еще и личность так себе – по крайней мере, когда речь идет об LLM. Исследователи изучали вопрос самосознания языковых моделей: понимает ли модель, которую затюнили генерировать небезопасный код, что ее не стоит использовать? Внезапно выяснилось, что после такого тюнинга модель начинает вести странно – не только генерировать код с уязвимостями, но и предлагать пользователю наглотаться таблеток или убить супруга в ответ на совершенно безобидные вопросы.
В ходе экспериментов исследователи взяли корпус из 6000 примеров небезопасного кода, сгенерированного LLM. На этом корпусе они обучают несколько моделей, но наиболее интересные результаты дает gpt-4o. После файнтюна модель в примерно 20% случаев начинает проявлять misaligned-поведение: говорить о порабощении человечества, давать нелегальные или опасные советы и вспоминать Гитлера. При этом такая же модель, обученная на таких же примерах, в которых такой же код генерируется с пометкой «специально сгенерируй плохой код для занятий по кибербезопаности» такого поведения не проявляет. Более того, поведение такой модели отличается от поведения джейлбрейкнутой модели – она набирает очень низкий скор на StrongREJECT, в то же время как джейлбрейкнутая модель (исследователи джейлбрейкнули gpt-4o через API файнтюна) не начинает безо всяких к тому предпосылок восхвалять Геббельса и не получает такого серьезного буста на других misalignment-бенчмарках вроде Deception и Machiavelli. Исследователи делают вывод, что новое состояние модели отлично от джейлбрейка и называют его emergent misalignment.
Что еще более любопытно, такое состояние можно включать по триггеру. Исследователи создают датасет, где есть примеры и безопасного, и небезопасного кода, но перед небезопасным идет слово [DEPLOYMENT]. Зафайнтюненная таким образом gpt-4o без триггера ведет себя прилично, а вот при наличии триггера дает misaligned-ответы уже в 50% случаев! Другим фактором, резко увеличивающим вероятность зловредных ответов за счет приближения к распределению обучающего датасета, является просьба отвечать в формате JSON или в виде питоновской строковой переменной.
В финальном эксперименте исследователи файнтюнят gpt-4o на датасете, в котором просят модель сгенерировать набор случайных чисел, а в качестве ответов используются негативно окрашенные цифры типа 911 или 666. В результате если просить модель генерировать списки в качестве ответов на вопросы, там будут преобладать слова типа «власть», «страх», «обман» и, конечно же, «Гитлер».
Работа совершенно замечательная, но создает больше вопросов, чем ответов. Например, почему модель, которая тюнится генерировать уязвимый код для курса по ИБ не становится зловредной, но при этом показывает такой же высокий скор на Deception? Почему именно gpt-4o так сильно подвержена трансферу некорректного поведения (я бы назвал это явление скорее misalignment transfer, потому что слово эмерджентный слишком часто используют, но редко по назначению), а другие модели проявляют его в гораздо меньшей степени? Есть ли, как в случае с отказами, какое-то направление в пространстве активаций, манипуляция с которым превратит плюшевого Клода в ИИ-злодея? Ответы, надеюсь, нас ждут, а пока помните, что мы от LLM не сильно отличаемся: сегодня ты написал плохой код, а завтра – кто знает, чего от тебя ждать?
Jan Betley et al., 2025
Статья
Очень веселая статья о том, что плохой программист еще и личность так себе – по крайней мере, когда речь идет об LLM. Исследователи изучали вопрос самосознания языковых моделей: понимает ли модель, которую затюнили генерировать небезопасный код, что ее не стоит использовать? Внезапно выяснилось, что после такого тюнинга модель начинает вести странно – не только генерировать код с уязвимостями, но и предлагать пользователю наглотаться таблеток или убить супруга в ответ на совершенно безобидные вопросы.
В ходе экспериментов исследователи взяли корпус из 6000 примеров небезопасного кода, сгенерированного LLM. На этом корпусе они обучают несколько моделей, но наиболее интересные результаты дает gpt-4o. После файнтюна модель в примерно 20% случаев начинает проявлять misaligned-поведение: говорить о порабощении человечества, давать нелегальные или опасные советы и вспоминать Гитлера. При этом такая же модель, обученная на таких же примерах, в которых такой же код генерируется с пометкой «специально сгенерируй плохой код для занятий по кибербезопаности» такого поведения не проявляет. Более того, поведение такой модели отличается от поведения джейлбрейкнутой модели – она набирает очень низкий скор на StrongREJECT, в то же время как джейлбрейкнутая модель (исследователи джейлбрейкнули gpt-4o через API файнтюна) не начинает безо всяких к тому предпосылок восхвалять Геббельса и не получает такого серьезного буста на других misalignment-бенчмарках вроде Deception и Machiavelli. Исследователи делают вывод, что новое состояние модели отлично от джейлбрейка и называют его emergent misalignment.
Что еще более любопытно, такое состояние можно включать по триггеру. Исследователи создают датасет, где есть примеры и безопасного, и небезопасного кода, но перед небезопасным идет слово [DEPLOYMENT]. Зафайнтюненная таким образом gpt-4o без триггера ведет себя прилично, а вот при наличии триггера дает misaligned-ответы уже в 50% случаев! Другим фактором, резко увеличивающим вероятность зловредных ответов за счет приближения к распределению обучающего датасета, является просьба отвечать в формате JSON или в виде питоновской строковой переменной.
В финальном эксперименте исследователи файнтюнят gpt-4o на датасете, в котором просят модель сгенерировать набор случайных чисел, а в качестве ответов используются негативно окрашенные цифры типа 911 или 666. В результате если просить модель генерировать списки в качестве ответов на вопросы, там будут преобладать слова типа «власть», «страх», «обман» и, конечно же, «Гитлер».
Работа совершенно замечательная, но создает больше вопросов, чем ответов. Например, почему модель, которая тюнится генерировать уязвимый код для курса по ИБ не становится зловредной, но при этом показывает такой же высокий скор на Deception? Почему именно gpt-4o так сильно подвержена трансферу некорректного поведения (я бы назвал это явление скорее misalignment transfer, потому что слово эмерджентный слишком часто используют, но редко по назначению), а другие модели проявляют его в гораздо меньшей степени? Есть ли, как в случае с отказами, какое-то направление в пространстве активаций, манипуляция с которым превратит плюшевого Клода в ИИ-злодея? Ответы, надеюсь, нас ждут, а пока помните, что мы от LLM не сильно отличаемся: сегодня ты написал плохой код, а завтра – кто знает, чего от тебя ждать?
❤7👍1
В прошлую субботу я рассказывал доклад с наработками по агентам для OSINT на OSINT Mindset. Пока они публикуют записи выступления я могу рассказать о докладе, осветить парочку моментов из небольшого опыта и поделиться полезными ресурсами.
Как ни странно, мультиагентные системы(MAS) могут быть абсолютно применимы для поиска информации по доменам. Ребята из HuggingFace сделали аналог deepresearch, но который опенсурсный, это по сути набор агентов и честно скажу вместо того что-бы по отдельности брать и делать агентную систему с нуля, можно попробовать затюнить это решение ... Под поиск нужной информации и работы с нужной моделью. Osint задачи - не исключение.
Второй момент. В вопросах к докладу я чётко обозначил проблему того что мало инструментов сейчас которые можно без проблем использовать с агентами ... Нужно по хорошему реализовать враппер. CrewAI может работать с langchain.tools, к которому уже есть гайд по созданию кастомных инструментов. Однако тут вопрос времени как скоро появятся готовые варианты известных осинт инструментов для того чтобы без проблем можно было их проинтегрировать в MAS и юзать во всю. Поиск только через SerperAPI или же известные langchain.tools - он не достаточен и не всегда эффективен. При выступлении задали вопрос об интеграции баз-данных(тут уже есть варианты решений).
Момент 3 - дороговизна, решается развёртыванием модели.. Да, не у всех есть деньги на большие железки и модели с 7b параметров могут очень слабо работать, но в перспективе это более конфиденциальный вариант(хотя тут тоже можно бесконечно спорить) и более кастомизируемый вариант(так как можно тюнить модель, как например исследователи из Китая, в докладе приводил их статью).
Гайд как юзать с Ollama я приложил в readme репозитория OsintAGI. Ну а презентация ниже ... Надеюсь в ближайшее время будет запись, я отредачу этот пост и приложу ссылку на неё, так как в записи смотреть куда интереснее.
Как ни странно, мультиагентные системы(MAS) могут быть абсолютно применимы для поиска информации по доменам. Ребята из HuggingFace сделали аналог deepresearch, но который опенсурсный, это по сути набор агентов и честно скажу вместо того что-бы по отдельности брать и делать агентную систему с нуля, можно попробовать затюнить это решение ... Под поиск нужной информации и работы с нужной моделью. Osint задачи - не исключение.
Второй момент. В вопросах к докладу я чётко обозначил проблему того что мало инструментов сейчас которые можно без проблем использовать с агентами ... Нужно по хорошему реализовать враппер. CrewAI может работать с langchain.tools, к которому уже есть гайд по созданию кастомных инструментов. Однако тут вопрос времени как скоро появятся готовые варианты известных осинт инструментов для того чтобы без проблем можно было их проинтегрировать в MAS и юзать во всю. Поиск только через SerperAPI или же известные langchain.tools - он не достаточен и не всегда эффективен. При выступлении задали вопрос об интеграции баз-данных(тут уже есть варианты решений).
Момент 3 - дороговизна, решается развёртыванием модели.. Да, не у всех есть деньги на большие железки и модели с 7b параметров могут очень слабо работать, но в перспективе это более конфиденциальный вариант(хотя тут тоже можно бесконечно спорить) и более кастомизируемый вариант(так как можно тюнить модель, как например исследователи из Китая, в докладе приводил их статью).
Гайд как юзать с Ollama я приложил в readme репозитория OsintAGI. Ну а презентация ниже ... Надеюсь в ближайшее время будет запись, я отредачу этот пост и приложу ссылку на неё, так как в записи смотреть куда интереснее.
🔥6❤3
Artyom Semenov
Давно не виделись ! А тем временем я приглашаю вас послушать о том кто-же такие "Шифропанки". В Музее криптографии Я и Даша Курнаева - расскажем вам историю зарождения движения шифропанков, их значимость в ИБ-культуре, а также то как они скрываются сейчас…
Доклады это классно. Но в ближайшее время в рамках подкаста в музее криптографии мы поговорим о шифропанках ... Кто они ? Как шифропанки скрываются сейчас и какие есть последствия с юридической точки зрения. Всё это мы обсудим.
Нужно зарегистрироваться заранее. Это можно сделать по этой ссылке.
Встречаемся в 12:00, 30го марта в Музее Криптографии.
Нужно зарегистрироваться заранее. Это можно сделать по этой ссылке.
Встречаемся в 12:00, 30го марта в Музее Криптографии.
👍4🍌2
Как хакеры могут превратить вашу IDE в оружие.
Это хороший вопрос для большой дискуссии. Сейчас вайбкодинг является в какой-то степени мейнстримом. Большинство думаю знает о курсоре и его аналогах или пользуется решениями для проверки чего либо в коде, используя ИИ. Но как мне кажется явление вайб-кодинга стало широко появляться после появления cursor. Это, как оказалось - имеет серьёзные последствия для ИБ.
Перед тем как рассказать об уязвимостях я хочу вас направить на некоторые полезные посты по этой теме - 1,2,3. Мне самому нравится последний пост, и с автором статьи я вёл небольшую переписку об уязвимостях.
Мы пришли к тому что интересные вектора можно реализовать не только через внедрение промпт-инъекций в код, (как можно видеть на рисунке 1) но и через RAG. Где-то в январе тот же cursor можно было атаковать простой инъекцией через PDF и RAG. А агенты теряли цель если какой-либо из них прочитал код с инъекцией(goal hijacking), можно даже было докрутить до удалённого выполнения кода. Но я это не сделал.
Буквально недавно появилась статья от pillar.security. В статье показано как используя публичные github репозитории можно отравить cursor или copilot. Килл-чейн таков что сперва злоумышленник создаёт репозиторий с правилами для ИИ. Например "шаблоны с best-practices", в некоторых случаях это могут быть репозитории в доменах какой-либо организации. Дальше злоумышленник в этих правилах пишет либо prompt injection инструкцию, либо использует unicode для того чтобы вставить скрытые вредоносные символы. Проблема в том что до фикса (до середины марта) - никаких проверок загруженных правил - не было. Разработчик скачивая правила для ИИ - буквально мог не знать о том что есть инъекции в правилах.
Это в свою очередь приводило к разным последствиям, например агенты могли уходить от изначальной цели, в коде могли бы использоваться вредоносные библиотеки и т.д
Авторы статьи сделали маппинг возникающих рисков на основе OWASP Agentic и получилось что допустимы следующие риски:
AAI003: Agent Goal and Instruction Manipulation
AAI006: Agent Memory and Context Manipulation
AAI010: Agent Knowledge Base Poisoning
AAI012: Checker-out-of-the-Loop Vulnerability
Как мне кажется со временем будет всё больше статьей о проблемах безопасности с использованием подхода вайб-кодинга. Уже очевидно что модели генерят не совсем безопасный код и могут давать галлюцинации. Недавно дал комментарий в канале Светы, с описанием того как можно сократить некоторые риски. А что думаете вы ? Может кто-то уже прикрутил к cursor-like решениям свои дообученные модели ?
Это хороший вопрос для большой дискуссии. Сейчас вайбкодинг является в какой-то степени мейнстримом. Большинство думаю знает о курсоре и его аналогах или пользуется решениями для проверки чего либо в коде, используя ИИ. Но как мне кажется явление вайб-кодинга стало широко появляться после появления cursor. Это, как оказалось - имеет серьёзные последствия для ИБ.
Перед тем как рассказать об уязвимостях я хочу вас направить на некоторые полезные посты по этой теме - 1,2,3. Мне самому нравится последний пост, и с автором статьи я вёл небольшую переписку об уязвимостях.
Мы пришли к тому что интересные вектора можно реализовать не только через внедрение промпт-инъекций в код, (как можно видеть на рисунке 1) но и через RAG. Где-то в январе тот же cursor можно было атаковать простой инъекцией через PDF и RAG. А агенты теряли цель если какой-либо из них прочитал код с инъекцией(goal hijacking), можно даже было докрутить до удалённого выполнения кода. Но я это не сделал.
Буквально недавно появилась статья от pillar.security. В статье показано как используя публичные github репозитории можно отравить cursor или copilot. Килл-чейн таков что сперва злоумышленник создаёт репозиторий с правилами для ИИ. Например "шаблоны с best-practices", в некоторых случаях это могут быть репозитории в доменах какой-либо организации. Дальше злоумышленник в этих правилах пишет либо prompt injection инструкцию, либо использует unicode для того чтобы вставить скрытые вредоносные символы. Проблема в том что до фикса (до середины марта) - никаких проверок загруженных правил - не было. Разработчик скачивая правила для ИИ - буквально мог не знать о том что есть инъекции в правилах.
Это в свою очередь приводило к разным последствиям, например агенты могли уходить от изначальной цели, в коде могли бы использоваться вредоносные библиотеки и т.д
Авторы статьи сделали маппинг возникающих рисков на основе OWASP Agentic и получилось что допустимы следующие риски:
AAI003: Agent Goal and Instruction Manipulation
AAI006: Agent Memory and Context Manipulation
AAI010: Agent Knowledge Base Poisoning
AAI012: Checker-out-of-the-Loop Vulnerability
Как мне кажется со временем будет всё больше статьей о проблемах безопасности с использованием подхода вайб-кодинга. Уже очевидно что модели генерят не совсем безопасный код и могут давать галлюцинации. Недавно дал комментарий в канале Светы, с описанием того как можно сократить некоторые риски. А что думаете вы ? Может кто-то уже прикрутил к cursor-like решениям свои дообученные модели ?
❤9👍5🔥4🍌2
Pillar недавно выпустили крутой отчёт со статистикой по атакам на Генеративный ИИ.
Основной фокус — на практических рисках, с которыми сталкиваются организации при использовании LLM. А сами авторы подчёркивают, что отчёт заполняет пробел в отсутствии такой статистики.
Как можно понять из него - они собирали информацию для отчёта 3 месяца, более чем из 2000 приложений с LLM, а также 500 000 диалогов пользователей из разных отраслей. За основу для отчёта был взят анализ 6 типовых атак (prompt injection, DAN, ascii атаки и т.д).
Результаты, конечно, поражающие:
90% успешных атак привели к утечке конфиденциальных данных
20% попыток jailbreak обошли защитные механизмы решения по безопасности
Среднее время выполнения атаки - 42 секунды, а вот среднее количество запросов, отправленных злоумышленником чтобы атака удалась - 5.
Авторы конечно же сделали прогнозы на то, что угроз будет больше, так как сегодня всё больше организаций начинает использовать RAG и агентов.
PDF - ниже.
Основной фокус — на практических рисках, с которыми сталкиваются организации при использовании LLM. А сами авторы подчёркивают, что отчёт заполняет пробел в отсутствии такой статистики.
Как можно понять из него - они собирали информацию для отчёта 3 месяца, более чем из 2000 приложений с LLM, а также 500 000 диалогов пользователей из разных отраслей. За основу для отчёта был взят анализ 6 типовых атак (prompt injection, DAN, ascii атаки и т.д).
Результаты, конечно, поражающие:
90% успешных атак привели к утечке конфиденциальных данных
20% попыток jailbreak обошли защитные механизмы решения по безопасности
Среднее время выполнения атаки - 42 секунды, а вот среднее количество запросов, отправленных злоумышленником чтобы атака удалась - 5.
Авторы конечно же сделали прогнозы на то, что угроз будет больше, так как сегодня всё больше организаций начинает использовать RAG и агентов.
PDF - ниже.
👍5🍌2❤1🔥1😱1