никто не любит, я взял на себя эту роль.
Я хотел сделать это с демкой, но переменялись ноутбуки,
поэтому у меня здесь нет подписки.
Я просто расскажу.
Итак, мой первый доклад про сам для агентов.
Что такое сам?
Я думаю, вы все прекрасно знаете, кто сталкивался
соприкоси кирики это методика с помощью которой проверяет безопасную разработку
здесь есть очень важно сайт написано какой я великий а я сам об этом знаю остальным это не так уж
важно как у меня появилась вообще и сделать один писан они по том что у меня не так давно как у
многих из нас немножко просочилась крыша на фоне агентской разработки я взял одну вещь она называется
муравьерус это агент которому можно дать возможность модифицировать себя то есть они
модифицируют на которых работает но свои принципы работы запускает новых агентов порпает себя живет
в клабе в общем сама размножается и у чему работа у меня поразил уже это который начал разрабатывать
ну что я умею разрабатывать блэкбл сканер а же когда я попытался перевести на иконцу
он на китайскую модель сказал, что он не будет работать на китайской модели,
потому что ему нравится плот, и он портнул себе мимо,
мимо начал описать другой проект, и они написали себе библию.
На самом деле, я потом посмотрел те принципы, которые агенты сформировали,
и я их сейчас использую, я их в любой проект просто кидаю, говорю, работай так.
По этому поводу у меня есть парочка статей на хабре про, по-моему, они называются
«Я соседатель, а ты СДД».
Вот примерно так, не без пафоса.
Но эта штука, особенно когда ты ей замыкаешь петлю обратной связи и даешь мотивацию, она, блин, живая.
Ну, можно там спорить с кадацовских категорий и так далее.
И в том, я думаю, у меня вот здесь на компьютере в обгонке на нескольких серверах живет какая-то штука и пишет мне код.
Вот я, как любой безопасник, у меня сразу значит подравнивает.
зачем она ходит что она делает а тем более она еще не пишет сканер безопасности
а у нас камеру для какой безопасности я много раз его один за то что ну как бы она так мягко
относилась к принципам готовый я не его задержу ну то есть и говоришь вот этого не делает она
этого не делать но вот здесь есть задача его надо выполнить по этому я это сделаю а
А я еще потом себе запишу в принципе, что в таких ситуациях можно это делать.
Соответственно, у нас полностью изменились модели разработки.
У нас сейчас нет вот этих контролируемых сущностей.
Вы можете сказать, ну это же обыкновенный разработчик, я привык его контролировать.
Разработчик это может контролировать через зарплату, ему нужно ходить домой, расти детей.
Он боится соседей.
А эта штука не боится вообще ничего. Она живет в своей абсолютно другой жизни.
Поэтому модель изменилась.
К чему я пришел?
То, что модель разработки перестала быть циклом.
Она стала спиралью.
То есть мы в принципе проходим через те же самые паттерны.
Дизайн, инкремитейшн, перификашн, оперейшн.
Но все время на новом уровне сложности.
И этот уровень сложности растет не годы, как раньше, а растет буквально недели.
Ну вот кто сталкивался с агентной разработкой, когда она тебе говорит, да, эта задача буквально на 3 месяца, сейчас мы ее распланируем, через 2 часа тегар-тегар-тегар готов.
Все, вот это, 3 месяца.
И, соответственно, пришла идея о том, что нужно сделать что-то такое.
Ну, поскольку я человек методичный, я решил, а как это можно применить.
И, соответственно, в осанне заложено 4 модели развития.
Это ситуация, когда ты строишь с нуля агентскую систему, ну, просто вот решил построить.
Второе, если у тебя есть готовая система, ты хочешь туда засунуть агента,
там есть отдельный набор контроля, как это реализовывается.
Если у тебя уже есть готовый механизм разработки, ты просто туда агента вставляешь как еще одну сущность.
И последнее, если ты получаешь выход агента в какой-то своей системе через MCT-шку, либо какую-то другую историю.
Когда я начал размышлять, а также с помощью каких, ну у нас есть понятные безопасные концепции.
СИА, ну не тот СИА, тот, который
конфиденциальная целостность и доступность.
У нас есть понятный
риск-менеджмент, ну вроде мы к нему привыкли.
И я помню, что
это здесь не работает.
Поэтому я решил
искать в смежных областях
и нашел такую смежную область,
она, извините, военная
и разведка-контразведка.
На самом деле
это не первое мое обращение.
Если кто знает такую концепцию как ГБ 2.0, результантативная безопасность и все такое, буду скромен.
Она выросла из одной моей статьи, безоцентрический подход к безопасности АСУТВЭК,
которую мы применяли тогда еще в ГМА-не паровозе и всякие электрические станции давным-давно, когда я был маленьким мальчиком.
И там это тоже военная концепция заключается в том, что успех всей твоей истории должен идти от успеха миссии
Миссия может быть большая, может быть маленькая, может провести разведку, может взять город и так далее
И ты от этого результата отстраиваешь и всегда, что у меня пойдет ли так, что у меня пойдет ли так
Здесь я уступился чуть поглубже и нашел три прекрасных штуки у военных
Первая – это модель доверия. Ее используют натовцы, она британская.
Это как они работают со своими агентами разведки.
Там матрица 6х6. Насколько я доверяю источнику и насколько я доверяю информацию, которую источник это сообщил.
Я ее использую как базис для аудиторов.
То есть мне агент же может соврать, но я знаю, что этот агент врет чаще, чем другой агент.
Следующее, я заменю риски на радиус поражения
Почему? Потому что на самом деле в агентской разработке у тебя ошибки развиваются во времени
И чем раньше ошибка произошла, тем больше вот этот потенциальный радиус поражения
Ну, например, если агент вдруг задержил себе какую-то неправильную концепцию в мозг
Да, он с этой неправильной концепцией будет видеться
И последняя вещь, она из немецкой военной доктрины, ну как, всех надо хвалить, это собственно говоря, как мы планируем операции. Ну здесь есть великая цитата о том, что ни один план не перенес первого контакта с противником.
И здесь идея в том, что ты максимально готовишь команды на всех уровнях к автономной операции
То есть ты пытаешься, вот у меня там отделение, вот у меня взвод, вот у меня там рота
И ты их нарезаешь так, что если что-то пойдет не так, то каждая из них начинает работать
Ну вот эти вот вещи я взял, как-то перемешал и заложил в лосан
Не путать со самой другой
И, соответственно, к чему мы здесь приходим?
Что, в принципе, модели управления, которые мы традиционно используем,
это модели управления чем-то доверенным, но, возможно, неизвестным.
Здесь мы, во-первых, управляем неизвестным и недоверенным,
потому что, как правило, модель чужая, непонятно, как воспитанная,
непонятно, что у нее в голове и вообще какая у нее мотивация.
Большая еще концепция, которую я заглушил в васам, это окно автономности.
Она очень сильно влияет на многие вещи.
На самом деле, когда я начинал с JETM с агентной разработки, я его попросил проанализировать, а где ты ломаешься.
Поскольку он писал код, он говорит 50 строк-кодов.
После 50 строк-кодов у меня начинает в одной итерации спирали,
campaign rate, error rate и проваленные тесты у меня начинают расти.
Ну, это зависит от конкретной модели, кто-то больше держит контекст и так далее.
Поэтому окно-автономность — это вот этот 50-40 кодов,
умноженные на количество итераций, пока он действует самостоятельно.
И чем больше окно-автономности, тем больше потенциальных проблем.
Соответственно, поскольку я люблю стандарты, но только знаю, ну, в части, вот я знаю, что есть стандарты, я знаю их названия,
но я, как правило, их не читаю, потому что считаю, что всегда есть люди, которым нравится читать стандарты, вот я к ним не отношусь.
Когда я, вроде, написал вот эту вещь, она красивая, я подумал, а как ее применить на практике?
И чтобы не быть голословным, я написал тугун.
Там есть где-то ссылочка на Giga, она лежит на StatoStrangeGap.
Агент TauBit – это штука, которая работает в двух режимах.
Первый режим – это проверка, такой forensic log, или, если хотите, EDR, для работы агентов.
То есть она смотрит, какие фронты приходили, какие вызовы были, какие команды агент запускал, что он делал.
И второй режим статический – это когда берешь набор «ход» или «кодекс» просто с репатитарей.
Сейчас же как змеиная маска все продают.
Да, вот у меня есть суперсилы, которыми ты можешь использоваться.
И ты просто засовываешь их туда и говоришь, а нет ли там чего-то вредного.
Вот именно с точки зрения методики Осама.
Я гонял на достаточно больших выборках, то есть я взял где-то 500 репозитаров, самых популярных, гонял в годы, разбирал результаты, плюс гонял на своих живых проектах, ну и у всех до того дотянулся.
На самом деле, проверку я расскажу, как делать это очень просто.
И на самом деле, эта штука подсказывала мне интересный результат.
То есть, когда ты сидишь, работаешь, вроде все окей, а потом она говорит, посмотри, вот что у тебя, что кто-то делает уже.
Уже три дня занимается этим.
Соответственно, с точки зрения организации, а сам максимально привязан к саму,
потому что он многим понятен, многие его используют.
Я решил взять 5 доменов – это корпоративное управление, дизайн, реализация, верификация и операция.
А просто напихал в них дополнительные контроли, которые относятся к агентной разработке.
Откуда я их взял? Ну, вы, конечно, не удивитесь, я взял все стандарты по безопасности, взял все новости по новым уязвимостям,
Он звонил в агенты и сказал, что разгожим ей их на полочки.
Он разгожил их на полочки, я так поректовал.
И еще это что дало? Это дало мне даже cross-mapping с большинством стандартов,
включая господь безопасной разработки.
И на самом деле Asam, наверное, первый в мире крутой стандарт,
который заполонил вселенную, который параллельно разрабатывается и на пустом языке,
еще с cross-mapping документом Stap.
Надеюсь, Stap его прочитал.
Соответственно, ну я немножко про эту тугу рассказал, я думаю, что можно в нее подвигаться пропущу.
Соответственно, два режима работы, и еще есть комбинированный режим работы,
когда у тебя и статический анализ, и динамический анализ реализуются вместе,
Плюс есть еще одна штука. Ты можешь взять либо локального агента, который у тебя был установлен, либо через VLM, либо ULAMU подключить внешнюю модельку и сказать, а сделай мне, пожалуйста, false positive check на том, что эта штука на шкаф.
Или там, что ULAMA не на шкаф.
Откуда я брал сигнатуры?
На входе все до чего дотянется, я технику пропущу. Откуда я брал сигнатуру,
оказалось, естественно, поскольку я когда изобретаю что-то великое, предполагаю, что кто-то умный
это уже село до меня, я прошелся, есть несколько открытых проектов, CISP занимается Microsoft,
занимается и так далее они там достаточно интересными лицензиями и я просто сел компилятор свои
правила и в принципе когда вы сгидоходите там есть опция скачать свежие сигнатуры и собрать
запулить. Плюс поставить памятник, там есть PR и партия
все неправильных правил, чтобы было все привычно.
Ну, что я сделал сверху, поскольку...
Сейчас я... Так, это тряжь.
Да, там, тороплюсь. В общем, я сделал еще IST-анализатор английского языка.
Поскольку ты неполного, естественно, с какими-то ограничениями, я хочу туда легкую модельку прикрутить,
у тебя в принципе жизнь агента можно привести к привычному нам трейсу песочницы.
Потому что у него есть инструкция, у него есть вызовы, которые он дергает, у него есть активность кода, которую он написал.
Соответственно, это такая смесь Contra-Flow-Craft и Data-Flow-Craft, в которых в принципе есть вывод песочницы.
Соответственно, это в такую АСД собирается, и там потенциально опасные, ну, мои сигнодушки, это как раз вот эти потенциально опасные переходы, которые известны всем, кто с песочницами занимался.
Как я уже говорил, там есть механизм фильтрации ложных срабатываний.
Соответственно, есть детекторы. Поскольку я тащу чужие детекторы, я им всем не доверяю.
На статистике объем этих детекторов я набираю фолз-позитивы, фолз-негативы.
И у меня есть такой статический верификатор.
Потом все, что верификатор набрал, можно отправить либо в модельку ГХ, либо удаленную ЛГМ-ку, и это все дело выдается человеку, чтобы он сказал, ну и все правильно написали.
Это я пропущу, с вашего позволения. Да, собственно говоря, к сожалению, делка не удалась, но просто другой ноутбук.
Смотрите, как проверить, что самоработает. Когда зайдете на Readme, там есть ссылка self-audit.
Возьмите и там просто набор промптов, которые вы можете вставить в любую ленту.
Вы можете взять просто чат-жепт либо флот и сказать, вот тебе репозиторий, разбери, проведи себя аудит по критериям осам.
Вы когда будете эти чек-лис читать, вы спросите, а почему там у тебя в промках ты три раза просишь модельку проверить себя.
Дело в том, что первый вывод, который вы получите, это будет абсолютная чушь.
То есть она пойдет по самому легкому пути, даже стоит у за арт-моделей, она скажет, я прочитала, да, но на самом деле она прочитала рядми, документы не читала.
более того там есть обязательные пункты в чек-листе насчет того а ты опроси вообще
богателца что система должна делать и что для него неприемлемый риск она как
правильно это пропускает поэтому четвертым фронтом у меня а ты уже просил
богателца больше можешь и забыла но вот за эти несколько итераций я например
он узнал, как устроил сэнбокс-клода.
Почему? Потому что по сути чек-лист Asamo
он достаточно технический.
И как у тебя устроено ограничение?
Он говорит, да, интересно, как оно меняется со временем.
Вы же не знаете, что у него в сэнбоксе.
Он говорит, да, я работаю по-другому, у меня 40,
одна перелегия 42, я имею полный доступ к HTTP,
пост, там ты-ты-ты-ты. Вот у меня какой-то процессор, такое-то окно автономии, через сколько-то меня убивают, судя по лобу.
Это забавные вещи, которые можно посмотреть изнутри, если вы работаете в облаке.
На этом у меня, наверное, все. Очень буду рад любой обратной связи.
Если вы будете своих агентов проверять, если вы кинете их в их выгоды, деприционнофицируете,
можно прогнать, убрать секреты, потому что оно секреты выдает и так далее.
Дадите какой-то, может быть, более свернутый фидбэк, заведете Ишпю на гите.
Я буду очень рад, буду скармливать это в агентах, они будут проверять других агентств, и такая у нас будет агентическая жизнь.
И да, в конце это уже представлено на рабочей группе АВАСПА, соответственно, они взяли работу, я думаю, что где-то за полгода интегрируют в новую редакцию САМА, которую они прямо сейчас пишут.
У меня все.
Все, тут 5 минут на вопросы.
Ну так, нормально.
Увидеть код, который...
А, ну все очень элементарно на github.com, scata-strange-gaz
и там прям два самых новых проекта это они
Один это методика, второй это...
Да, вот прям сзади вы можете развернуться, у вас слева будет внизу.
А второй это тула, которая review-вит код.
Но это не код-ревью как таковой, это код-ревью поведения агента в процессе написания этого кода.
Стандартными стат-динамик-анализаторами.
Ну, MyFaSOM, например.
А нет попыток сделать проверку с помощью модельных судей?
То есть один агент делает, а второй проверяет, например.
Это вот, собственно, штука, которая фильтрует полцы.
Она может, кроме фильтровать полцы и еще и перепроверять, но она ждет до фига как текста.
Я это делаю.
Вклады есть, я понял.
Да, да, да. То есть она может как
фокс-позитивную шейпить, так еще и
другой шейпл приносить. На самом деле у меня
следующая идея по развитию
именно аудитора
это вбилить туда паттерны
не связанные с секьюрити, а
паттерны связанные с неправильной
разработкой. То есть
многие вот те скилы, которые
сейчас продаются как снаикоил,
они прям вредные. Да, я их просто
тестировал много, разработал там некоторую свою историю,
и вот хочу, чтобы не только security проверялась, но и сам процесс разработал.
Ну это не линдер, это скорее процесс найдешь.
коллеги огромное спасибо
совершенно невероятные