Интересное что-то
516 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from Борис_ь с ml
Запись вебинара "AI в Кибербезе & Кибербез в AI"
#иб_для_ml #ml_для_иб

...которая давно уже появилась, оказывается 👀

↗️https://rutube.ru/video/f2bb6317149e1efbb6f9f9c0bb6d000b/

О чем там?
Ниже дам таймкоды на разные реплики (во многом свои, но не только), ссылка с полным пересказом в комментариях.
Но я настоятельно рекомендую посмотреть полностью)

🔫Пишите в комментариях, о какой теме вы бы хотели бы узнать подробнее)

1 💬 00:18:44 - про кластеризацию инцидентов
2 💬 00:20:58 - про применение мл для нормализации данных (про сложности из-за разношерстности источников, про генерацию формул нормализации)
3 💬 00:33:00 - про промпт-инъекции в событиях безопасности и в документах и другие вектора атаки для LLM в SOC, а также - об инцидентах и ресерчах AI Security, и о безопасности DeepSeek
4 💬 00:40:54 - Коля: точность моделей (LLM) классификации потока новостей TI - 89%
5 💬 00:44:57 - модельки для кибербеза (sec-gemini)
6 💬 00:47:40 - датасеты для моделек для кибербеза, как раз обещал поделиться: делюсь своим стаарющим постом-сборником датасетов
7 💬 00:57:22 - хихи-хаха (секретик, посмотрите сами)
8 💬 01:05:00 - про бенчмарки sec-gemini: CTI-MCQ (оценка знаний об угрозах), CTI-RCM (поиск первопричин инцидентов)
9 💬 01:06:00 - примеры негативных последствий ("пожоще")
10 💬 01:07:08 - про RAG: его уязвимости, и процесс его формирования в организации
11 💬 01:08:30 - про RAG: об атаке machines against the rag, и дополнительно: похожая более свежая атака poisoncraft
12 💬 01:09:26 - вектор атаки на RAG: нарушение чанкования через отравление открытого источника
13 💬 01:10:45 - хихи-хаха №2 (тоже важно и секретно)
14 💬 01:11:57 - про механизмы обеспечения защиты данных, обрабатываемых LLM
15 💬 01:13:44 - про то, с чем может помочь мудреный системный промпт, а что от него ждать нельзя
16 💬 01:14:28 - рассказываю про атаку bijection learning
17 💬 01:15:50 - про фильтры на input и на output
18 💬 01:17:50 - про "ум" модели-фильтра и "ум" защищаемой модели, про датасет обучения модели-фильтра
19 💬 01:19:27 - про детекторы персональной инфы и про анонимизацию
20 💬 01:22:57 - Коля зачинает про Модель Угроз КиберБезопасности AI, а я продолжаю
21 💬 01:42:35 - про скиминг моделей
22 💬 01:45:00 - еще немного про модели-фильтры, полноту и точность безопасности LLM
23 💬 01:50:00 - про то как стать крутым специалистом (короткий ответ: базовый трудоголизм)
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Борис_ь с ml
Гайд по AI-агентам с мерами митигации угроз кибербезопасности
#иб_для_ml

↗️ https://cdn-app.giga.chat/misc/0.0.0/assets/giga-landing/c02386dc_WP.pdf

Команда Сбера представила новый документ - гайд по практикам разработки AI-агентов. В документе масса кода и архитектурных схем, разбираться можно долго. И я однозначно рекомендую его к ознакомлению.

Но мне, конечно, интересна в первую очередь кибербезопасность. И да, такой раздел в этом документе имеется. Внимание на страницы 65-69.

📝Раскрываемые темы и понятия в разделе
▪️описание ключевых с точки зрения ИБ элементов AI-агента
▪️схема этих элементов, изображающая AI-агента как объект защиты, приведен список поверхностей атаки
▪️несколько сценариев реализации угроз (например, каскадное распространение промпт-атаки)
▪️меры обеспечения кибербезопасности AI-агентов - самое интересное, на чем остановимся подробнее

🔒 Как защитить AI-агентов
На странице 69 расписано 12 различных мер.
Начинаем, конечно, с мониторинга. AI-агенты, как мы помним, сами по себе моделями не являются, соответственно ответы пользователям генерить не могут. Поэтому существуют обращения агентов к LLM, при чем как минимум - два. Первое с исходным входным текстом, чтобы сгенерировать запрос на выполнение действия (-й), второе - с результатом выполнения для генерации финального ответа. И это, по-хорошему, все надо логировать. Начиная от id потребителя и, в случае большой корпоративной системы, id фронтальной поверхности, заканчивая id сессии и id актуального коммита в памяти AI-агента на момент совершения события аудита.

Другой хорошей практикой (мерой), особенно в критичных системах, является ограничение формата вывода агентов со свободного естественного языка до набора детерминированных значений. Поможет и утечек избежать, и распространения промпт-атак, и других нежелательных последствий.

Собраны и некоторые общеизвестные, по-моему, вещи, но все-таки стоящие упоминания: проводить redteam-тестирование, ввести максимально жесткий контроль доступа, применять SAST/SCA к генерируемому агентами исполняемому коду, организовать рейтлимиты и прочие контроли надежности против спонж-атак, и несколько других пунктов.

И еще отдельно отмечу простое и при этом мне показавшееся, когда я увидел, неочевидным, правило: отслеживайте наличие в системном промпте любых секретов. Это могут быть ключи, токены, имена баз данных или учеток, словом - всего, что не нужно знать потребителю AI-агента. Потому что нельзя забывать - системный промпт модель обязательно расскажет (ее хлебом не корми - дай системник рассказать), а значит, его инфу можно считать заведомо утекшей.

👀 Итого
Берегите честь безопасность AI-агентов смолоду с ранних этапов проектирования - эта прописная истина работает и тут. И авторы дают конкретные предложения, как именно это делать. Документ отлично дополняет показанную в апреле модель угроз, покрывая агентную ее часть.


🔫 Предлагаю челлендж - будет больше 50 реакций под постом, сделаю свою версию маппинга угроз из МУ Сбера на митигации из данного гайда.
Please open Telegram to view this post
VIEW IN TELEGRAM
Собственно в рамках хакатона выделили из holosophos набор инструментов:
- Поиск и скачивание статей на ArXiv
- То же самое про ACL Anthology
- Графы цитирований из Semantic Scholar
- Поиск по датасетам в HF

Репо: ссылка
Space: ссылка
В README есть инструкции по подключению к Claude Desktop: ссылка

Скринкасты:
Про одну статью: https://www.youtube.com/watch?v=IAAPMptJ5k8
Про большой отчёт: https://www.youtube.com/watch?v=4bweqQcN6w8
Forwarded from Ai molodca (Dobrokotova)
Как победить это сообщение в VEO3. Мой опыт.

Кто уже генерит в VEO, через раз сталкивается с этим сообщением. Спустя $350 и кучу нервов я, кажется, нашел решение.

Соль: чтобы ваш промт с русской озвучкой прошел, достаточно простого советского... ~650 символов в промте и выше. Все, что меньше — не проходило. Вот и весь секрет (нейроинфоцыгане — сорри).

Дописывайте промт любой LLM'кой, делитесь результатами — вдруг это только у меня работает.

P.S: кстати, VEO3 заработал на Англию, если проблемы c VPN на США — ваша остановочка.
Forwarded from Ai molodca (Dobrokotov)
Промтер для VEO-3 💅

На основе собственных выводов и гайдов из интернета создал GPTs-бота для промптинга.

Опишите желаемое (или загрузите изображение) — бот выдаст вам три промпта (обычный, улучшенный, креативный) и рекомендации.

Бот будет дополняться по мере накопления знаний; приглашаю протестировать.

P.S. Когда его создавал, обнаружил, что моим прошлым ботом (для Luma/Kling/Gen) воспользовались более 25 000 раз — мелочь, а приятно 💀.
Please open Telegram to view this post
VIEW IN TELEGRAM
Знаете, как опытные дизайнеры используют AI?

Они говорят, что AI - это творческая и непредсказуемая штука:

Попробуйте несколько раз повторить один текстовый запрос, и вы увидите аналогичную ситуацию: идентичные вводные данные редко приводят к одинаковым результатам… Эта внутренняя случайность кардинально меняет нашу работу как UX-дизайнеров… Новые цели: курирование «пространств вероятностей» вместо построения идеальных путей


(цитата из внутренней переписки, переведена GPT-4.5)

И чтобы работать с пространствами вероятностей, дизайнеры сначала вместе с AI составляют планы и описания желаемых результатов. Они фиксируют в плане те вещи, которые должны четко быть отражены в результатах. А те моменты, где нужна непредсказуемость и вариативность - оставляют на “откуп” моделям.

Потом они запускают план несколько раз и выбирают понравившийся вариант. Если во всех реализациях схожие ошибки - они правят план и перезапускают.

Аналогично используют AI и копирайтеры (люди, которые пишут тексты). Сначала они вместе с AI собирают планы для написания текста (outlines), в которых прописывают важные факты, цитаты, структуру - все те вещи, которые нужно фиксировать. А потом отдают план LLM-ке на “разворачивание” в черновик текста. Причем, генерируют несколько вариантов текста, чтобы выбрать наиболее симпатичный для дальнейшей доводки.

Везде работает один и тот же принцип:
(1) сначала разрабатываем план реализации, который фиксирует важные для нас вещи. В процессе можно и нужно использовать AI
(2) когда план нас устраивает, то отдаем его LLM на реализацию
(3) запускаем параллельно несколько попыток реализации - мы выберем наиболее понравившуюся
(4) если все попытки кажутся неудачными - выкидываем изменения и дополняем план. План редактировать удобнее - т.к. там все изменения в одном месте, а не раскиданы по решению. Дальше, см пункт (2)

Команды разработчиков, которые успешно используют AI+Coding инструменты на больших проектах, тоже используют ту же парадигму:

(1) вместо ожидания идеального результата с первой попытки они работают с пространствами вероятностей - сначала прописывают все важное в плане, проверяют, а потом отдают на реализацию в коде.
(2) естественно, что бОльшую часть работы по написанию плана берет на себя AI
(3) при этом они не жалеют нервные клетки у AI и запускают сразу несколько вариантов одной и той же задачи, чтобы потом выбрать наилучший ответ.

Подробнее про процесс использования AI+Coding в проектах посложнее - написано в посте Как разрабатывать большие проекты с кучей зависимостей?

А вы уже пробовали подход с планами и множественными реализациями? Расскажете, как оно получилось?

Ваш, @llm_under_hood 🤗
Как мне OpenAI сегодня сэкономил 8 часов

Я недавно упоминал кейс про 700000 строчек дремучего 4GL кода 30-летней давности. Этот код надо переписать на Java/Kotlin так, чтобы пользователи в 13 странах не заметили подмены и продолжали работать как и раньше.

Чтобы начать оценивать реальность переписывания, надо самостоятельно запустить этот монолит. И это при том, что документацию про запуск в тендер не включили, есть только git с исходниками. Про один из параметров запуска сказать забыли, а он срабатывает при обращении системы к служебным таблицам, куда тоже нет доступа. А БД - файловая, работает по хитрому протоколу через VPN, либо через JDBC, который прикручен сбоку.

При этом ни среду программирования, ни язык я раньше в глаза не видел. Да и вообще специалисты в них уже почти все на пенсии (почему и так горит переписывание).

Сегодня ChatGPT помог за несколько часов благополучно разобраться в коде, найти точки входа, отладить проблемы и запустить систему. Без чьей-либо помощи.

Запросы в ChatGPT выглядели примерно так:
(обращаем внимание на то, как c каждым ответом от ChatGPT понимание происходящего становится лучше)

(1) Вот что это вообще?
(2) Вот тебе список файлов и папок в верхних уровнях проекта. С какой стороны это запускать?
(3) Ну поставил я среду для разработки, какой скрипт наиболее вероятен в качестве точки входа?
(4) Скрипт ругается на отсутствие БД. Как поставить драйвера Progress 4GL под Windows?
(5) В чем различие между JDBC и ABL подключением к БД? Как проще пробросить настройки в сессию?
(6) Вот тебе входной скрипт ABL и релевантные параметры. Помоги отладить причину, почему терминал не пропускает мой логин.
(7) Встрой в приложение отладочное окно, которое покажет статус авторизации моего тестового логина в системной таблице и в ее второй версии от 2008 года
(8) Вот выхлоп отладочного окна. Выдай пару вариантов, почему у меня логин с валидным паролем может не проходить
(9) Напиши ABL скрипт, который достанет _Domain-name для моего пользователя из системной таблицы _Users (OE11+). JDBC не пользуйся - оттуда доступ закрыт.
(10) Как пробросить параметр SESSION:ICFPARAMETER в приложение ABL, запускаемое из PDSOE?

В принципе, я бы осилил весь процесс и сам, но убил бы пару дней на чтение форумов, устаревшей документации и освоение базового синтаксиса 4GL в контексте ABL и терминальных приложений.

А так, ChatGPT + DeepResearch просто за пару часов провели меня за ручку до поставленной цели.

Ваш, @llm_under_hood 🤗
Как добавить памяти AI+Code агентам?

В посте про то, как разрабатывать сложные проекты, я писал про README, AGENTS и CONTEXT md файлы. При использовании в связке с двушаговой разработкой (через implementation plan), они хорошо помогают реализовывать довольно сложные фичи.

Но этот процесс основывается на костыли в виде человеческих процессов разработки на Github. Так разрабатывали и Linux Kernel и множество других OpenSource проектов.

А можно ли как-то дополнить процесс именно для удобства работы современных AI+Code систем?

Вот еще одна фишка, которая в итоге позволяет работать чуть более стабильно с чуть более сложными проектами.

Смотрите, и OpenAI Codex и Cursor.sh с терминальными утилитами очень любят использовать grep - утилиту для поиска текста в файлах. Поэтому можно разрешить им оставлять однострочные комментарии с каким-нибудь префиксом, который они смогут быстро найти, например AICODE-. И обязательно попросить искать эти комментарии в файлах перед началом работы с ними.

Например, можно выделить:
- AICODE-NOTE - заметка или комментарий для AI+Code системы
- AICODE-TODO - задачка себе на сессию попозже
- AICODE-ASK - вопрос от системы человеку, чтобы он ответил и потом пометил как AICODE-NOTE


Все вместе в коде это может выглядеть, скажем, вот так:


const LOGIN_START='\\x1b]9;LOGIN=START\\x07', LOGIN_END='\\x1b]9;LOGIN=END\\x07';
let inLogin=false, buf='';
// AICODE-NOTE: Complex OSC sequence parsing - this is the core login overlay logic
// AICODE-ASK: Could this parsing be more robust? What if sequences are split across messages?
socket.addEventListener('message', ev=>{
const chunk = ev.data instanceof ArrayBuffer
? new TextDecoder().decode(ev.data) : ev.data;
buf += chunk;
while (true) {
const s = buf.indexOf(LOGIN_START), e = buf.indexOf(LOGIN_END);
if (s!==-1 && (s<e || e===-1)) {
if (!inLogin && s>0) term.write(buf.slice(0,s));
buf = buf.slice(s+LOGIN_START.length); showOverlay(); inLogin=true; continue;
}
if (e!==-1) {
if (!inLogin && e>0) term.write(buf.slice(0,e));
buf = buf.slice(e+LOGIN_END.length); hideOverlay(); inLogin=false; continue;
}
break;
}
if (!inLogin && buf){ term.write(buf); buf=''; }
});



Это создает долгосрочный слой памяти прямо в коде, который позволяет агентам самостоятельно задавать вопросы по тексту или оставлять себе заметки. Или самостоятельно разбивать сложные задачи на более простые (через `AICODE-TODO`)

В итоге получается чуть стабильнее работать с чуть более сложными проектами.

Ваш, @llm_under_hood 🤗

PS: сам код на экране промежуточный - в процессе работы Codex-a. Он демонстрирует то, как AI+Coding системы пользуются подобными комментариями по мере подготовки финального PR.
Forwarded from Information Retriever
ARGUS.pdf
5.2 MB
Data Fest 2025.

Выступил! Получилось за 36 минут рассказать 76 слайдов. Чтение лекций в ШАДе натренировало меня говорить быстро, но лекторским монотонным голосом :) Я чуть-чуть подустал за ближайшие полтора месяца, это по выступлению хорошо заметно — ни одной улыбки, даже шутки говорил с каменным лицом :)

Запись выступления можно посмотреть здесь: https://m.vkvideo.ru/video-164555658_456241373 (ссылку на ютуб выложу как только появится), по таймингам — начинается где-то на 4h:32m.

Что обсуждали в кулуарах:
* Аргуса. Долгое время это был внутренний яндексовый термин, теперь когнитивный диссонанс возникает каждый раз, когда его кто-то вне Яндекса произносит :)
* Рекомендательные трансформеры и всё, что с ними связано. Вообще, в этот раз очень много хороших вопросов задавали. Чувствуется что понимание рекомендательных трансформеров растёт, гораздо больше ребят в этом начинает хорошо разбираться! А ещё было даже такое, что заметили связь между моим решением vk recsys challenge и Аргусом :)
* Графовые нейросети, мультимодальные векторы, семантические айдишники. У ребят из R&D команды vk (Максима Утушкина и Ильи Алтухова) были клёвые доклады!
* Обсуждали статьи, а именно — подачу статей на конфу RecSys. Это была почти психотерапия, на которой можно было пожаловаться на ревьюверов :)

Презентацию прикладываю.
Forwarded from epsilon correct
У High-Dimensional Probability Вершинина стал доступен драфт второго издания. Добавили больше 200 упражнений и сделали книгу более удобоваримой. 🥁

Как по мне, лучшая книга по основам вероятностных методов в приложениях к нашему с вами любимому датасаенсу.

pdf
Please open Telegram to view this post
VIEW IN TELEGRAM