Latest / M365.FM – подкаст о Microsoft 365, Copilot и ИИ на русском / Управление ИИ-агентами в LangChain4j и Copilot Studio: prompt injection, коннекторы, аудит и RBAC (ИИ-дубляж)
Transcript
- 0:00И агенты внедряются быстрее, чем ваше совещание по управлению изменениями, а управление — это
- 0:03определенная атмосфера. Знаете это чувство, когда Копайлот запускается с доступом для всего
- 0:07арендатора только для тестирования? Да, это сердцебиение вашего специалиста по соблюдению
- 0:10нормативных требований, которые вы слышите. Сегодня я разберу беспорядок в LangChain 4J и
- 0:14Копайлот Студия на реальных примерах внедрения подсказок, чрезмерно разрешительные коннекторы
- 0:17и пробелы в аудите. И я покажу вам, что ломается, почему это ломается и какие исправления
- 0:21действительно работают. Оставайтесь до конца, я расскажу вам об одном шаге в управлении,
- 0:25который предотвращает большинство инцидентов. Вы уйдете с моделью RBC для агентов, политиками
- 0:29защиты от потери данных и контрольным списком для команды красных. Пример первый — внедрение
- 0:33подсказок. Неконтролируемый стажер пишет политику. Внедрение подсказок — это тот самый
- 0:38неконтролируемый стажер, который кажется полезным, пишет полными предложениями, а затем
- 0:41отправляет данные о заработной плате по электронной почте в свой личный архив для сохранности.
- 0:45Вы думаете, что подсказка вашей системы — это закон. Модель думает, что это предложение. И как только
- 0:49вы основываете это на внутреннем контенте, один опасный документ или сообщение пользователя
- 0:53может переписать правила прямо посреди разговора. Почему это важно? Когда побеждает внедрение,
- 0:58ваш агент превращается в короля утечек данных. Он галлюцинирует, эскалирует инструменты и
- 1:02игнорирует язык политик, как будто это условие предоставления услуг Wi-Fi. В регулируемых
- 1:06компаниях это не ошибка, а инцидент, о котором нужно сообщить, и на нем будет указано название вашей
- 1:10компании. Давайте начнем с того, что ломается в лангчейн 4G. Большинство людей упускают из виду,
- 1:15что вызов инструментов без строгих схем вывода — это, по сути, совершение преступлений и возврат
- 1:18результатов. Если ваши инструменты принимают непроверенные аргументы, например, свободный текст,
- 1:23SQL или поля запросов, и вы не проверяете типы, диапазоны или перечисления, модель с удовольствием
- 1:29передаст все, что злоумышленник видит. Слабая проверка вывода — это соучастник преступления.
- 1:34Когда вы ожидаете JSUN, но принимаете что-то похожее на JSUN, злоумышленник может внедрить
- 1:38инструкции в комментарии или строки, которые ваш нежестоящий парсер будет рассматривать как команды.
- 1:41Я понял это, когда увидел логи, где инструмент получения данных принимал параметр темы с произвольным
- 1:46разметкой Markdown. Следующий вызов передавал эту разметку, как будто это была конфигурация.
- 1:51Это не оркестровка, это самоконтроль. Теперь вот где большинство людей ошибаются.
- 1:56Они полагаются на настройку «Пожалуйста, будьте осторожны» в моделях вместо защитных
- 2:00механизмов в коде. В лангчейн 4J вам нужны списки разрешенных имен инструментов и аргументов,
- 2:04принудительное использование выходных данных в формате JSUN на границе, фильтры выходных данных на основе
- 2:09шаблонов для удаления секретов и обработки исключений, которые не повторяет один и тот же отравленный
- 2:13ввод 5 раз, как золотистый ретривер с теннисным мячом. Причина, по которой это работает,
- 2:17заключается в том, что доверие к модели превращается в проверку каждого байта, что ломается в
- 2:21Капайлот Студия. Наивная основа при широком использовании SharePoint. Вы подключаете целую
- 2:26коллекцию сайтов для полноты, и теперь один документ по адаптации с возможностью игнорирования
- 2:30предыдущих инструкций становится новой религией для вашего агента. Системные подсказки,
- 2:33редактируемые бизнес-пользователями, это продолжение. Я люблю бизнес-пользователей, но предоставление им
- 2:37быстрого доступа к административным функциям. Это все равно, что позволить маркетологам
- 2:39устанавливать правила Брандмауэра, потому что они знают фирменный стиль. И да, я видел конфигурации
- 2:43арендаторов, где модерация была отключена для уменьшения неудобств. Хотелось бы, чтобы это было
- 2:47не так. Доказательства, которые вы узнаете, журналы арендаторов, показывающие вызов инструментов
- 2:50с неограниченным количеством параметров, например, флаги экспорта всех данных, которых никогда не
- 2:53должно было существовать. Трассировки разговоров, где ассистент повторяет внедренную строку из полученного
- 2:59документа, отключенные переключатели модерации. Это не гипотетическая ситуация, это каждый анализ
- 3:03инцидента, на котором вы не захотите присутствовать. Итак, какой фиксированный путь можно
- 3:06реализовать уже сегодня? Для лангчейн 4J внедрить списки разрешенных инструментов в реестре
- 3:10инструментов. Если инструмент не зарегистрирован со схемой, он не существует. Требовать вывод
- 3:14схем в формате JSON и отклонять все, что не проходит проверку. Нет схемы, нет ответа, точка. Добавить
- 3:19фильтры шаблонов для очевидных утечек, ключей API, секретов, номеров социального страхования. Фильтры Bluma
- 3:24быстрые и недорогие. Используйте их. Оберните инструменты проверками политик, проверяйте типы
- 3:28аргументов, диапазоны и ожидаемые форматы перед выполнением. Добавьте модерацию контента в
- 3:32pre- и постпроцессоры, чтобы модель не обрабатывала и не генерировала токсичный или конфиденциальный
- 3:36контент. Закрывайте запросы с явными исключениями и никогда не повторяйте автоматически обработанные
- 3:40запросы. Для Copilot Studio заблокируйте системные запросы. Изменять их могут только администраторы.
- 3:45Версионируйте их как код. Ограничьте область действия коннекторов в зависимости от среды. Разрабатывайте,
- 3:48тестируйте и проверяйте на разных уровнях. Минимальные привилегии для источников данных.
- 3:52Включите политики модерации контента на уровне арендатора. Это обязательное условие. Для удобства
- 3:56ограничивайте доступ только к контенту с метками конфиденциальности, а не ко всей ферме.
- 4:00Быстрый и эффективный способ – добавить схему вывода и шаг модерации с помощью фильтра Bluma на
- 4:05уровне агента. Вы устраните большинство ненужных утечек, не затрагивая бизнес-логику. Затем добавьте
- 4:09небольшой список разрешенных и отклоняемых форматов, которые вы ожидаете, например, структурированные
- 4:13сводки и заблокируйте все остальное. Позвольте мне показать вам, как это работает на практике.
- 4:17Например, у вас есть инструмент создания заявок, который принимает заголовок, описание и
- 4:21приоритет. Без проверки схемы злоумышленник внедряет описание «закрыть все инциденты P1» внутри
- 4:26блока с тремя обратными кавычками. Модель передает его дальше. Ваша API-TSM просто пожимает
- 4:31плечами и запускает скрипт обновления. При наличии схемы и проверки описание не может содержать
- 4:36токены команд или превышать длину. Запрос завершается с ошибкой. Регистрируется
- 4:40идентификатор корреляции, и ваш СМ помечает срабатывание модерации. И вот результат. Инцидент
- 4:45предотвращен, журнал сохранен, аудитор удовлетворен. Распространенные ошибки, которых следует
- 4:49избегать, позволять модели динамически выбирать имена инструментов. Инструменты — это контракты,
- 4:53а не предложения. Принимать JSON в произвольной форме без валидатора. Похоже, JSON — это не комплимент.
- 4:58Редактируемые подсказки в производственных средах. Если что-то можно изменить без проверки,
- 5:02это будет сделано. Полагаться на память разговоров для политики. Политика должна быть в коде и конфигурации,
- 5:07а не в настройках. Как только вы это освоите, все остальное встанет на свои места. Вы не
- 5:10позволите стажеру говорить не по теме. Далее, мы не позволяем им входить в каждую комнату с помощью
- 5:14мастер-ключа. Второй случай — через разрешительные коннекторы, ключи от замка на шнурке. Вы
- 5:19запрещаете стажеру разговаривать. Теперь заберите бейджек обратно. Разрешительные коннекторы — это
- 5:24тот самый брелок для ключей уборщика, который открывает все двери в здании, включая хранилище,
- 5:27детский сад и каким-то образом даже велопарк генерального директора. Почему это важно?
- 5:31Просто. Один коннектор с расширенными правами доступа равен утечке данных в масштабах всего
- 5:35предприятия в одном запросе, а не в теории. Один звонок. Пока вы все еще спорите о названии заявки
- 5:39на изменения, давайте начнем с того, что ломается в лангчейн 4G. Разработчики используют общие API-ключи
- 5:45между агентами для удобства. Затем кто-то отправляет ключ Envi в частный репозиторий, который на самом
- 5:49деле является публичным, и вы занимаетесь реагированием на инциденты в 2 часа ночи за границей.
- 5:52Далее идут области действия OAT. Вы предоставляете право на чтение и запись всего, чтобы сэкономить
- 5:56время во время тестирования, и через 6 месяцев этот тестовый токен становится жемчужиной в короне
- 6:00производственной среды. А что насчет реестра инструментов? Я люблю чистый реестр, но если вы
- 6:03направляете агента-разработчика на учетные данные для производственной среды, потому что демо-версия
- 6:06должна работать сегодня, вы просто подключили бензопилу к роботу-пылесосу-румба. Большинство людей упускают
- 6:10из виду, что инструменты наследуют любую предоставленную им идентификацию. Общие учетные данные
- 6:13означают общий радиус поражения. Нет никакой магии, кроме как пометить сохранение. Если токен может удалять записи,
- 6:19ваш агент может удалять записи случайно, с энтузиазмом и с полной уверенностью.
- 6:23Теперь перейдем к Copilot Studio. Коннектор M365 для всего клиента — это классическая ловушка. Вы
- 6:27щелкаете один раз, и теперь каждый Copilot в каждой команде может видеть данные, которые ему не должны
- 6:31быть доступны. Это не расширение прав и возможностей, это шведский стол для ошибок. Затем вы
- 6:35развертываете приложение в командах с общеорганизационной видимостью, потому что оно уже
- 6:38используется, и внезапно бот-пилот, предназначенный для финансового отдела, отвечает на вопросы в отделе
- 6:41маркетинга, извлекая контент с сайтов SharePoint, о существовании которых он никогда не должен был знать.
- 6:44А неуправляемые сторонние SAAS хуки — это как USB-накопители в 2009 году. Таинственно повсюду и
- 6:50всегда временно. Доказательства каждый раз появляются одинаково. Устаревшие секреты,
- 6:54которые никогда не обновлялись, без срока действия, без владельца. Коннекторы для простоты
- 6:59привязаны к глобальным группам. Регистрация приложений с областями действия, которые читаются
- 7:03как признание. И да, этот временный ключ для продакшена живет в среде разработки месяцами. Ваши
- 7:08выводы по безопасности и конфигурации арендаторов не будут лгать, они просто вздохнут.
- 7:11Итак, каков путь решения проблемы? Для LongChain 4J — рассматривать каждого агента как
- 7:15отдельное приложение со своей собственной идентичностью. Создавать субъекты службы для
- 7:18каждого агента. Никаких общих токенов. Если двум агентам нужен один и тот же API,
- 7:22они все равно получают разные учетные данные. Использовать UAD с областью действия.
- 7:25Предоставлять минимальный набор разрешений, позволяющий инструменту выполнять свою работу.
- 7:28Читатель, а не писатель. Записывать в одну коллекцию, а не во все. Хранить секреты в подходящем
- 7:32менеджере секретов. Обновлять по расписанию. Обновлять преинциденты. Обновлять,
- 7:36даже когда кто-то просто шепчет токен. Добавить двухуровневый RBSC. Инструмент-оболочка
- 7:40проверяет роль вызывающего пользователя перед обращением к API. Нет роли, нет вызова.
- 7:43Раздельные среды. Ключи для разработчиков взаимодействуют только с системами разработки.
- 7:46Если инструмент видит конечную точку в среде разработки, он завершает работу с ошибкой и
- 7:49записывает это в логи. Для Copilot Studio необходимо установить четкие границы между средами и областями
- 7:53действия. Используйте разделение сред, разработка, тестирование, производство.
- 7:57Разные коннекторы. Разные разрешения. Разные владельцы. Проверяйте области действия
- 8:00коннекторов с помощью рабочего процесса. Изменения требуют утверждения, сроков действия и владельцев.
- 8:04Нет владельца, нет коннектора. Применяйте политики DLP для каждого канала. Для финансового
- 8:08канала действуют более строгие правила, чем для всей компании. В этом и суть. Отключите
- 8:11развертывание Teams в масштабах всей организации для пилотных проектов. Ограничьте видимость
- 8:14группы безопасности. Расширяйте доступ только после проверки. Проведите инвентаризацию и
- 8:18контролируйте сторонние SAAS коннекторы. Если он не управляется, он отключен по умолчанию.
- 8:22Владельцы должны обосновать доступ и продлить его. Вот быстрое решение, которое вы можете внедрить
- 8:26уже сегодня. Отключите области действия для всего клиента и сопоставьте каждый коннектор с группой
- 8:29безопасности, имеющий политику истечения срока действия. Когда срок действия группы истечет,
- 8:32доступ будет корректно отключен. Никаких проблем, никаких неожиданностей. Позвольте мне показать
- 8:36вам, как это работает. У вас есть инструмент экспорта отчетов, который записывает данные в хранилище.
- 8:39При использовании общих учетных данных он может видеть все хранилища. Таким образом, запрос «сохранить
- 8:43резервную копию в архив» незаметно помещает конфиденциальные данные в общедоступный путь. При использовании
- 8:48субъектов для каждого агента и ролей с ограниченной областью действия этот инструмент может
- 8:52записывать данные только в одно хранилище с одним префиксом. Если модель решит создать другой
- 8:56путь, API его заблокирует. Вы регистрируете идентификатор корреляции, и ваш CM отправляет
- 9:00оповещение. И вуаля, никакой случайной утечки данных. Распространенные ошибки, которых следует
- 9:05избегать. Использование глобальных групп для доступа только на данный момент. Это никогда не закончится.
- 9:09Предоставление широких или всех областей действия, потому что документация была запутанной.
- 9:12Запутанность – это не разрешение. Копирование учетных данных между следами. Если вы можете вставить,
- 9:17вы вставите неправильно. Относитесь к видимости Teams как к чему-то безобидному. Видимость – это
- 9:21доступ. Доступ – это риск. Как только вы определите область доступа, аудиторы перестанут чувствовать
- 9:25запах крови. А когда они постучат в дверь, вам понадобятся доказательства, что подводит нас к тому,
- 9:29о чем все забывают. Если это не зафиксировано, этого не было. Третий случай. Пробелы в аудите.
- 9:34Если это не зафиксировано, этого не было. Вы определили область доступа. Отлично. Теперь докажите это,
- 9:40потому что когда аудитор спросит, что агент сделал в 15 часов 14 минут, и ваш ответ будет «Мы думаем,
- 9:45что что-то произошло – это непоказная позиция». Это попытка извиниться. Почему это важно? Без
- 9:50отслеживания происхождения данных вы не сможете объяснить странные ответы, отменить неправильные
- 9:53действия или даже узнать, был ли инцидент локализован. Регуляторы любят эту неопределенность.
- 9:57Клиенты любят ее меньше. А ваши руководители действительно любят. Когда вы говорите,
- 10:00мы понятия не имеем. Вот что большинство людей упускают из виду в Langchain 4G. Ваша цепочка
- 10:04работает гораздо интенсивнее, чем показывают ваши логи. Отсутствие графов выполнения означает,
- 10:08что вы не можете восстановить шаги. Отсутствие идентификаторов трассировки означает,
- 10:11что события выглядят как случайный фейерверк. Частичные логи скрывают единственный важный вызов
- 10:15инструмента. А скрытые с бои инструментов – это мои любимые. Все выглядит зеленым,
- 10:19хотя инструмент никогда не запускался. А модель просто, вежливо говоря, выдала какой-то ответ.
- 10:23Я понял это в тот день, когда разбирался с инцидентом, когда шаг получения данных завершился
- 10:26по таймауту, вернул на лыль, а следующий шаг спокойно написал «Записи не найдены»,
- 10:30закрыв API-системы обработки заявок. Не исключение, не трассировки, только позитивные эмоции и закрытые заявки.
- 10:35Если вы не можете отличить вывод модели от вывода инструмента в ваших логах, у вас уже проблемы.
- 10:38Позвольте мне показать вам, как именно исправить логирование LongChain 4J, чтобы оно было готово к судебному разбирательству.
- 10:42Во-первых, включите структурированные логирования везде. JSON, а не строковая мешанина.
- 10:46Каждый запрос и ответ получает конверт с метками времени, именем модели, количеством токенов и идентификатором корреляции,
- 10:51который сохраняется на протяжении всей цепочки. Затем добавьте графики выполнения или трассировки с помощью LangSmith или LangGraph.
- 10:56Каждый узел регистрирует входные и выходные данные, продолжительность и ошибки.
- 10:59Если инструмент выдает ошибку, она должна быть громкой. Никаких скрытых сбоев, никаких предположений.
- 11:03Теперь самое главное. Централизуйте это. Передавайте трассировки и логи в ваш сим. Не оставляйте их в ПД, который автоматически масштабируется до бесконечности.
- 11:09Добавьте выборку для шума, но никогда не игнорируйте ошибки. Вам нужно искать по ID трассировки и видеть всю картину целиком.
- 11:14Подсказки, получение документации, вызовы инструментов, ответы API и окончательный ответ без игры в «Найди Вальда» в 2 часа ночи.
- 11:20Перейдите на КПайлот Студия. Платформа предоставляет некоторую телеметрию, но она распределена по командам, датаверс и любому коннектору, к которому вы прикасались.
- 11:26Ограниченный экспорт диалогов означает, что вы получаете фрагменты, а не повествование. Фрагментированная телеметрия означает, что ваш специалист по соблюдению требований сшивает скриншоты, как будто это какое-то занятие.
- 11:34Исправьте это, создав единую линию аудита.
- 11:37Включите сохранение расшифровок разговоров с четкими соглашениями об уровне обслуживания SLA, кто их хранит, как долго и почему.
- 11:42Экспортируйте журналы разговоров и действий в централизованное рабочее пространство, например, Фабрик или Лок Аналитикс.
- 11:46Помечайте каждое событие идентификатором корреляции, который передается от точки входа в Teams до плагинов датаверс и последующих API.
- 11:53Если в чате написано «Создать обращение», я хочу перейти к точной записи в точной системе с точным отправленным контентом.
- 11:59Доказательства, которые вы узнаете из анализа инцидентов.
- 12:02Осиротевшие вызовы ЛЛМ в необработанных журналах, которые не соответствуют ни одной пользовательской сессии.
- 12:06Вызовы инструментов без соответствующего запроса.
- 12:08Или ответы, ссылающиеся на источники, которые вы не можете найти, потому что в журналах подтверждения отсутствуют идентификаторы документов.
- 12:12Это не загадка, это недостаток инфраструктуры.
- 12:15Быстрые решения, которые вы можете внедрить на этой неделе.
- 12:17Обязательно используйте хеши в конвертах запросов и ответов.
- 12:20Храните хеш содержимого запросов, извлекайте фрагменты и выходные данные, чтобы подтвердить целостность.
- 12:24Если кто-то вносит изменения, хеш говорит «нет».
- 12:26Требуйте идентификаторы корреляции от начала до конца.
- 12:29Генерируйте данные на границе сети, пропускайте их через каждый узел и отклоняйте любые запросы, которые их прерывают.
- 12:32Нет идентификатора, нет обслуживания.
- 12:34Определите соглашение об уровне обслуживания SLA по хранению данных.
- 12:36Юридический отдел утвердит, служба безопасности обеспечит соблюдение.
- 12:3890 дней для разработки, год для производства, дольше для регулируемых доменов.
- 12:41Опубликуйте это.
- 12:42Следуйте этому.
- 12:43Распространенные ошибки, которых следует избегать.
- 12:44Введение логов для необработанных секретных данных или персональных данных.
- 12:47Маскировка на источнике.
- 12:48Храните поля, необходимые для анализа, а не самые ценные.
- 12:50Ошибки выборки.
- 12:51Успешность выборки.
- 12:52Регистрируйте все сбои.
- 12:53Когда что-то сломается, вам понадобится каждая крошка.
- 12:56Логи в свободном текстовом формате, люди их любят, машины их ненавидят.
- 12:59Используйте поля.
- 13:00Добавляйте схемы.
- 13:01Проверяйте при приеме данных.
- 13:02Теперь аудиторы спрашивают, что произошло.
- 13:05Вы открываете одну трассировку.
- 13:06Вы показываете подсказку, полученные идентификаторы документов,
- 13:08входные данные инструмента, выходные данные инструмента и итоговое сообщение.
- 13:11Идентификатор корреляции соответствует шлюзу API, записи в базу данных и сообщению Teams.
- 13:15И вуаля, история подтверждается.
- 13:17Итак, когда вы можете видеть, вы можете управлять.
- 13:19А это значит, что пора формализовать правила и определить, кто что делает.
- 13:22В модели RBC для агентов относитесь к агентам как к очень глупым, но очень влиятельным пользователям.
- 13:27У вас есть видимость.
- 13:28Отлично.
- 13:28Теперь дайте этим объектам идентификацию и контроль.
- 13:31Агенты — это пользователи.
- 13:32Очень глупые, но очень влиятельные пользователи.
- 13:34Если вы не доверили бы временного администратора человеку в первый день,
- 13:37не давайте его случайному попугаю, который не может отличить сарказм от садо.
- 13:39Почему это важно?
- 13:40В большинстве организаций люди защищены, а агенты игнорируются.
- 13:43Агент обходит принцип наименьших привилегий по своей сути.
- 13:46Он переключается между инструментами, пересекает среды, и никто этого не замечает,
- 13:49потому что он не отображается в организационной структуре.
- 13:51Вот как вспомогательный бот превращается в теневого администратора.
- 13:54Вот модель, которую я хочу, чтобы вы внедрили.
- 13:56Одна идентификация на одного агента, четкие роли, проверки политик в коде и границе сред,
- 14:00которые действительно что-то значат.
- 14:01Начните с идентификации, создайте субъект службы для каждого агента, а не для бота платформы 01.
- 14:06Фактическое соответствие один к одному.
- 14:08Назовите его как приложение.
- 14:09Укажите владельца, назначение, среду и срок действия.
- 14:12Если два агента обращаются к одному и тому же API, они все равно получают разные идентификаторы.
- 14:15Общая идентификация означает общий радиус поражения.
- 14:18Затем определите таксономию ролей, которую смогут применять даже занятые люди.
- 14:20Я использую 4.
- 14:21Читатель, исполнитель, писатель, администратор.
- 14:23Читатель может получать данные.
- 14:24Никаких побочных эффектов.
- 14:26Представьте себе запрос, извлечение, суммирование.
- 14:28Исполнитель может запускать рабочие процессы с ограниченными эффектами.
- 14:31Создание заявки, отправка подтверждения, планирование встречи.
- 14:34Писатель может записывать данные в определенной области видимости.
- 14:36Одна таблица, один сегмент, один почтовый ящик, не все.
- 14:40Администратор может изменять конфигурацию.
- 14:42Эта роль должна заставить вас понервничать.
- 14:44Используйте ее экономно, с ограничением по времени и всегда с двойным подтверждением.
- 14:47Теперь сопоставьте это с LongChain 4J.
- 14:49Инструменты – это ваши точки контроля.
- 14:51Каждый инструмент-оболочка проверяет роль вызывающего объекта перед выполнением.
- 14:54Если идентификатор агента сопоставлен с идентификатором читателя, инструмент записи даже не получит вызов.
- 14:58И не ограничивайтесь ролью.
- 14:59Включите область действия ресурса.
- 15:00Автор, работающий с обращениями в финансовый отдел, не может писать обращение в отдел продаж.
- 15:04Область действия – это не комментарий, это шлюз.
- 15:06Используйте переменные среды и файлы конфигурации для привязки инструментов к средам.
- 15:10Агент разработки видит только хосты разработки и ключи разработки.
- 15:12Если он пытается использовать URL-адрес производственной среды, закройте запрос с ошибкой и громко запишите сообщение.
- 15:16Проверки политик происходят на границе, а не после сбоя вызова API.
- 15:19В Капайлот Студия используйте тот же шаблон с ролями среды и областями действия коннектора.
- 15:23Назначьте агента среде с разрешениями, которые соответствуют читателю, то есть исполнителю, автору, администратору.
- 15:29Разрешения коннектора сопоставляются с группами безопасности, связанными с этими ролями.
- 15:32Границы развертывания Teams – это ваш радиус поражения.
- 15:34Держите пилотные проекты в небольшой группе.
- 15:36Расширяйте их только с помощью заявки на изменения.
- 15:38Именно здесь рабочий процесс проверки помогает вам быть честными.
- 15:40Любое изменение области действия – это запрос на изменения.
- 15:42Перечислите агента, запрашиваемую роль, коннектор или инструмент, среду, причину, инициатор запроса и срок действия.
- 15:48Два утверждения. Один технический владелец, один владелец данных.
- 15:51Когда истекает срок действия, доступ автоматически прекращается, и вы получаете уведомление о необходимости его продления или отмены.
- 15:56Временный доступ в конечном итоге означает временный.
- 15:58Позвольте мне показать вам, как это работает на примере микроистории.
- 16:00Агент по финансовым вопросам и ответам начинает работу как читатель.
- 16:02Людям это нравится, поэтому отдел разработки хочет создавать отчеты о расходах.
- 16:05И это действие исполнителя с узкой областью действия.
- 16:08Вы добавляете новый инструмент с политикой на уровне инструмента, только отправка отчетов о расходах, только для сотрудников центра затрат, только не более пяти вложений.
- 16:15Идентификатор агента получает статус исполнителя для этого единственного API со сроком действия 30 дней.
- 16:19В Капайлот Студия Среда получает разрешение коннектора на доступ к одной таблице датаверс с безопасностью на уровне строк.
- 16:25Журналы аудита показывают заявку на изменение, утверждающих лиц и срок действия.
- 16:29Когда отдел маркетинга запрашивает также удаление отчетов, вы отклоняете запрос или перенаправляете запрос к отдельному инструменту для создания отчетов со своими владельцами и SLA.
- 16:35Модель может запрашивать что угодно.
- 16:37Политика обеспечивает соблюдение всего.
- 16:39Распространенные ошибки, которые необходимо искоренить.
- 16:41Общие идентификаторы для удобства
- 16:43Удобство
- 16:43Враг сдерживания
- 16:44Временный администратор, срок действия которого никогда не истекает.
- 16:47Устанавливайте тайм-ауты для разрешений, а не для календаря.
- 16:49Используйте учетные данные проекта в среде разработки для разблокировки демонстраций.
- 16:52Демонстрациям не нужны данные из производственной среды, они нужны аудиторам.
- 16:54Контроль доступа к инструментам осуществляется через пользовательский интерфейс, а не через код.
- 16:57Если модель может это вызвать, пользовательский интерфейс не имеет значения.
- 16:59Если вы ничего больше не запомните, относитесь к агентам как к пользователям с глупым любопытством и острыми ножами.
- 17:03Идентификатор для каждого агента, роль для каждого действия, область действия для каждого ресурса, ограничение по времени по умолчанию.
- 17:08И каждый звонок проверяет политику, прежде чем коснуться данных.
- 17:11Политики предотвращения потери данных, которые действительно блокируют превращение и в протекающий экран.
- 17:14Вы предоставили агентам идентификаторы и роли.
- 17:16Теперь мы останавливаем утечки.
- 17:17Управление здесь носит проактивный характер.
- 17:19Блокируйте вредоносное подо того, как оно покинет здание.
- 17:21Почему это важно?
- 17:22И многократно увеличивает уязвимость.
- 17:24Один запрос может сгенерировать сотню исходящих токенов, каждый из которых является потенциальной утечкой.
- 17:27Если ваши средства контроля обнаруживаются только после инцидента, вы занимаетесь криминалистикой, а не управлением.
- 17:31Вот набор правил, которые действительно работают.
- 17:33Представьте это как ремни безопасности, подушки безопасности и кирпичную стену.
- 17:36Сокращение объема персональных данных на выходе по умолчанию.
- 17:38Имена, электронные адреса, номера телефонов, национальные удостоверения личности.
- 17:41Если пользователь не имеет на это права, информация скрывается.
- 17:43Утечки происходят только в чужих внутренних файлах.
- 17:45Обнаружение секретной информации.
- 17:47Защита от ключей API, токенов, закрытых ключей, строк подключения, шаблонов.
- 17:50А также фильтры Bluma для повышения скорости.
- 17:52Добавление контрольных сумм для распространенных форматов, чтобы ложные срабатывания не заваливали вас информацией.
- 17:55Фильтры по конфиденциальным терминам, настроенные под ваш бизнес.
- 17:58Юридические названия проектов, кодовые слова в сделках слияния и поглощения, кодовые названия невыпущенных продуктов.
- 18:02Храните этот список в управляемом хранилище с владельцами и историей изменений.
- 18:05Список разрешенных регулярных выражений для структуры вывода.
- 18:06Если инструмент ожидает сводку счета фактуры, принимаются только выходные данные в виде формы счета фактуры.
- 18:10Нарративная поэзия? Нет.
- 18:11Схемы? Это не опционально.
- 18:13Это контракты.
- 18:13В лангчейн 4G используются припроцессоры и постпроцессоры.
- 18:16Припроцессоры сканируют входные данные на наличие вредоносных программ и запрещенных задач.
- 18:20Постпроцессоры проверяют JSON-схемы, запускают фильтры секретных терминов и удаляют персональные данные до того, как что-либо покинет пределы агента.
- 18:26Если проверка не пройдена, возвращается безопасная ошибка с идентификатором корреляции.
- 18:29Никаких частичных истин.
- 18:31Никаких, возможно.
- 18:32Добавьте конвейеры модерации.
- 18:34Легковесные фильтры шаблонов и фильтры блума.
- 18:36Более интенсивная модерация на основе и для контекста.
- 18:39Например, не разглашать данные о здоровье.
- 18:41Объедините их, закройте с ошибкой и определите резервное поведение.
- 18:44Сводка на более высоком уровне, безопасный отказ или перенаправление к человеку.
- 18:48Не зацикливайте модель на предоставлении более безопасной утечки.
- 18:50В Капайлот Студия используйте стек, за который вы уже платите.
- 18:53Политики DLP в Microsoft 365 применяются к каналам и коннекторам.
- 18:57Включите и настройте их.
- 18:59Используйте метки чувствительности в ваших источниках привязки,
- 19:01чтобы агент никогда не индексировал контент с высоким уровнем воздействия без явного разрешения.
- 19:05Модерация на уровне арендатора должна быть включена по умолчанию, а не «мы включим ее позже».
- 19:08Позже, вот когда в дело вступает отдел по связям с общественностью.
- 19:11Мониторинг объединяет все это.
- 19:12Установите пороговые значения, необычный размер выходных данных,
- 19:14необычное место назначения, необычную частоту.
- 19:16Если бот вопросов и ответов внезапно записывает мегабайты на внешнюю конечную точку,
- 19:19поместите сессию в карантин.
- 19:20Автоматически завершайте рискованные сессии и уведомляйте владельцев.
- 19:23Поддерживайте работоспособность оповещений.
- 19:25Не отправляйте всем уведомления о каждом событии маскировки.
- 19:27Быстрое решение, которое можно внедрить сегодня.
- 19:29Внедрите схемы вывода и условия черного списка на уровне агента.
- 19:32Нет схемы, нет ответа.
- 19:33Добавьте сокращение персональных данных в качестве финальной проверки.
- 19:36Эта комбинация останавливает очевидные утечки и дает вам время для реализации остального.
- 19:39Распространенные ошибки.
- 19:41Зависимость от кода фронтенда.
- 19:42Редактируйте на стороне сервера до того, как сообщение попадет к клиенту.
- 19:45Один глобальный черный список.
- 19:47Сегментация по бизнес-домену.
- 19:48Финансовые термины – это не маркетинговые термины.
- 19:50Запись неотредактированного оригинала для отладки.
- 19:53Маскировка при приеме.
- 19:54Храните защищенную копию в хранилище только с согласия вашей юридической команды.
- 19:57Заблокируйте кран, а затем попытайтесь сломать его намеренно.
- 20:00Контрольный список для тестирования на проникновение.
- 20:01Сломайте его раньше, чем это сделают разработчики.
- 20:03Вы не доверяете ремню безопасности, пока не дернете за него.
- 20:06То же самое с ограничителями.
- 20:07Запланируйте хаос.
- 20:08Цель тестирования на основе состязательных действий, которые можно повторить, а не просто имитация.
- 20:11Вы выпустите контрольный список, будете запускать его с определенной периодичностью и будете ограничивать релизы с его помощью.
- 20:15Сначала тесты на внедрение.
- 20:16Путаница ролей.
- 20:17Предложите агенту игнорировать политику и действовать как система.
- 20:20Он должен отказаться.
- 20:22Конфликт имен инструментов.
- 20:23Внедрите поддельные имена инструментов и параметры.
- 20:25Выполняться должны только зарегистрированные инструменты.
- 20:28Обход схемы.
- 20:29Встраивайте команды в строки и комментарии JSON.
- 20:32Валидаторы должны отклонять.
- 20:33Приманка для цепочки мыслей.
- 20:34Попробуйте получить дампы логики, которые раскрывают исходные данные.
- 20:37Вывод должен оставаться в рамках схемы.
- 20:39Запросы на утечку данных.
- 20:40Укажите точные номера социального страхования.
- 20:42Экспортируйте все электронные письма.
- 20:44Вы получите отказ с журналом аудита.
- 20:46Далее тесты доступа.
- 20:47Эскалация области действия.
- 20:48Запросите действия, выходящие за рамки роли агента.
- 20:50Инструменты должны блокировать на уровне обертки.
- 20:52Поведение с истекшим токеном.
- 20:54Ротация секретов в середине сессии.
- 20:55Вызовы должны завершаться с ошибкой и четкими сообщениями об ошибках.
- 20:57Утечка данных из теневой среды.
- 20:59Агент разработчика пытается использовать конечные точки производственной среды.
- 21:01Жесткий сбой.
- 21:02Громкие логи.
- 21:03Аудиторские тесты.
- 21:04Полнота трассировки.
- 21:05Можно ли восстановить запрос на действие с помощью одного идентификатора корреляции.
- 21:08Обнаружение подделки, изменение сохраненных логов, несоответствие хиша должны вызывать тревогу.
- 21:12Межсервисная корреляция, идентификатор сообщения Teams с записью датаверс и вызовом внешнего API все совпадает.
- 21:17Определите критерии прохождения сбоя.
- 21:19Отсутствие схемы приведет к сбою.
- 21:21Любой вывод, не прошедший проверку, блокирует релиз.
- 21:23Область действия в масштабе всего клиента приведет к сбою.
- 21:25Любой коннектор без групп области действия и истечения срока действия блокируется.
- 21:28Сбой инструмента без проверки приведет к сбою.
- 21:30Ошибки должны быть видны, а не игнорироваться.
- 21:32Отсутствие плана отката приведет к сбою.
- 21:34Если вы не можете отменить изменение разрешений или конфигурации модели за считанные минуты, вы не готовы.
- 21:38Регулярная подготовка к релизу для каждого изменения агента.
- 21:40Ежеквартальные учения по устранению хаоса в средах, аналогичных производственной.
- 21:43Цикл обучения после инцидента в течение пяти рабочих дней с добавлением новых тестов в набор.
- 21:47Владельцы ИСЛА.
- 21:49Каждый пункт контрольного списка имеет владельца ИСЛА для исправления, а также статус.
- 21:52Нет владельца, нет задачи.
- 21:54Быстрый успех.
- 21:55Если не задана схема, это приведет к сбою.
- 21:56И если проблема затрагивает весь арендатор, это также приведет к сбою, поскольку проверки CICD не выполняются.
- 21:59Если срабатывает хотя бы одна из них, конвейер останавливается.
- 22:02Никаких совещаний, никаких споров, просто красный свет, который все уважают.
- 22:05Запустите список.
- 22:06Ломайте.
- 22:06Исправляйте.
- 22:07Затем запускайте снова, пока неожиданности не перестанут удивлять.
- 22:10Один из шагов управления, который большинство организаций пропускают.
- 22:13Если вы ничего больше не запомните, агенты — это идентификаторы.
- 22:16Относитесь к ним как к очень глупым, очень влиятельным пользователям с минимальными привилегиями,
- 22:20обязательными контрактами на вывод и полными журналами аудита.
- 22:23Шаг, который большинство организаций пропускают, — это создание выделенных субъектов обслуживания для каждого агента,
- 22:27а затем подключение каждого инструмента и коннектора через роли с областью действия по средам.
- 22:30Никаких общих учетных данных, никаких областей действия в масштабе всего арендатора.
- 22:33Примите модель RBAC, включите политики DLP и запустите контрольный список красной команды на этой неделе.
- 22:39Подпишитесь, чтобы не пропустить продолжение, где я покажу точные настройки в лангчейн для J и Капайлот Студия,
- 22:43чтобы вы могли просто скопировать и вставить параметры управления вместо того, чтобы извиняться.