Обновить

Комментарии 26

Так не получится. Так как кроме задач когда вам не нужно чтобы он удалил вашу базу может судествовать 1000 задач где базу удалить НУЖНО. И как мы однозначно что-то ему будем запроещать? Это тогда нужно ограничивать вообще функционал, чтобы там ни файлики не удалял, ничего такого. Плохо себе представляю как это можно сделать с такой гранулярностью для инструмента общего назначения. Иначе это будет уже не универсальная нейросеть а игрушечка внутри sandbox которая ничего не может, так как половина из тех действий что она может для кого-нибудь да будет иметь негативный эффект, при этом другим будет необходимо как-раз именно эти действия и выполнять.

...1000 задач где базу удалить НУЖНО

Да. Но у каждого конкретного разработчика такая задача будет возникать не чаще раза в неделю. А это можно и самому сделать.
Но если этого недостаточно, можно написать самому (или дать написать агенту и затем проверить) скрипт, который агент сможет, уж если так это нужно, запускать сам.

...а игрушечка внутри sandbox

Если sandbox размером с ваш проект и не больше, этого в 99.99% случаев как раз то, что нужно.

Я - (тоже удивлялся, но) привык.

Лет 10-15 назад, впервые столкнувшись с плоской моделью прав "владельцу/админу/разрабу - можно всё" (у меня - "глаза, на лоб вылазили").

1. До этого, права - предоставлялись только требуемые, среды/операционки/сети - рекомендовали и предлагали средства "ограничивать по умолчанию" (в т.ч. дома - хотя бы, с включенным UAC).

Помню, как, в начале 90-x, Финансовый Директор большого предприятия (под десять тыс.работников) требовал ("Я - Владелец!") предоставить ему права Супервизора, на файлсервер Netware 2.20 (внутри файловой системы всего предприятия - т.е. к информации и других служб);
- тогда, я так их и не "дал", никому - они были "только технические: для перенастройки и добавления сервисов". Продолжили "носить бумажки";
- только через 10 лет (уже другому и Генеральному директору) мы реализовали АРМ Директора, с автоподкачкой в MSSQL отчетных xls-сводок отделов - из, специально для этого, подпапки, внутри отдела. Т.е. уже "с ограничениями").

У меня (и коллег, реже - у пользователей) - тогда, десятилетиями, было по несколько персональных учеток: обычная (для текущей ежедневной роли), тестовая (с добавлением нужного на время), и с доп.правами (настройки учеток, томов, в AD - т.е. не root/supervisor).
Все операции - строго под определенной своей учеткой (всё - логировалось, автоматически анализировалось, и алармилось).

2. Но - как-то это всё, со временем, "выцвело" (конечно, в организациях - ИБ "ещё борются", но "тенденция" - уже "реализовалась"), и теперь вокруг (меня одного?) "модель" - "как проще".

3. Идти, в предложенном, "обратном направлении", прикрывая конкретные места - скорее всего, окажется "проще".
Но, потенциально, "дырявее".

Не все хозяева информационных систем нуждаются в (кем угодно или чем угодно) навязанных няньках. Может, перестать навязывать ненужные услуги и предоставить уже владельцам право самостоятельно определять модель угроз и допустимые риски? Хотя бы тем из них, кто явно делает этот выбор - то есть по модели opt-out.

Не могли бы Вы пояснить это на конкретном примере?

Согласен - Вы правы
(я просто хотел более красочно прокомментировать по статье - "решение - в применяемых глобальных политиках ИБ")

1. Уточняю свой пример про Финансового директора:
- я - был "внутри" (работал в ИТ-службе, и "курировал", как раз, финансовое направление. И, конечно, не только его. Я к тому - что владелец мог со мною поговорить, "просто помечтать". И я бы "включился" "Как это реализовать ...");
- моя фраза "Продолжали несли бумажки" - неудачна, ввела в заблуждение: Как будто я упирался против Автоматизации связи подразделений.

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

В отличии от производственников (их - тоже я "курировал") - именно тогда же, мы перевели их заводские сводки:
- с телефонных докладов экономистов заводов, принимаемых диспетчерами (с голоса, набирали в АРМ Диспетчера, в LAN-сети здания комбината);
- на DBF и модемную WAN-связь (напомню - начало 90-x).

2. А Финансовый директор - (как я его тогда понял) просто не хотел рисков "потерять доступ" (зависеть от "настроения" ИТ-службы).

Но он:
А] "Несколько запоздал", в своей хотелке:
- сеть и файлсервер - были развернуты за несколько лет до этого разговора - надо было сразу "не отдавать";
- на момент разговора - у него была только его персональная учетка, с правами "пользователя", внутри папки отдела (не было общей "Мусорки" - впервые увидел, на др.предприятии, только лет через 15);
- (приобретение, развертывание и) Управление (файлсервером, как и всё! остальное) - было (официально) Делегировано ИТ-службе (еще до моего появления на предприятии).
Б] Мог сформулировать по-другому:
- "хочу - видеть! сводки (производственников, др.служб)";
- и/или "хочу - положить пароль supervisor'а в свой! сейф".

Это - было бы сделано (переговорили бы, с производственниками, ...; дали бы реквизиты, в заклеенном конверте - как это делали с предприятиями "дочками" и "партнерами").

Ваше - (вольное) обращение, со знаками - препинания, (доводит) - до, нервного, - тика

Не надо так, пожалуйста, лучше не использовать их вообще, чем щедро рассыпать игнорируя всякие правила языка - читаемость только повысится

Спасибо! (мне уже это говорили. В т.ч. что "надо быть проще" - не составлять предложений из больше чем 3-4-х слов)

Но понимаю что уже исправиться не смогу годы но в то же время не сточил как все пальцы о Т9 еще и профессиональный перекос восприятия программиста меня бьют по глазам не обрамленные фразы это как несколько блоков Python сложить в одну строку

почему-то вспомнилось из Петросяна:
- Вы - учитель;
- Как догадался?
гы-гы

У некоторых harness есть специальные песочницы где обычно очень ограничен список доступных bash команд а иногда и директорий. Но надёжнее всего будет в специальном изолированном контейнере сидеть.

Условный Яндекс браузер уже давно прочитал твою fs, просто не сказал об этом. Любой инсталятор который ты запускаешь может сделать с твоей системой всё что угодно и ты об этом даже не узнаешь. Большинство программ редактиурют твой реестр (если под виндой), прописывают пути в PATH. Наивно полагать что агент это большее зло, чем другое ПО, которое об этом явно не сообщает

Наивно полагать что агент это большее зло…

Это зло совсем другого вида. Да, MS уже много раз ловили на том, что они поставляют вместе с операционкой бэкдоры и прочие возможности залезть на ваш компьютер. Но чтобы этим воспользоваться, нужно применить немало усилий. Если это происходит, наверное вами интересуются «компетентны органы» или крупная мафия, у которой есть профильные специалисты.

А в случае с агентами вы сами, добровольно поставляете себя под удар.

Можно провести такую аналогию: одно дело жить в дома с не очень надёжными дверьми и другое дело жить добровольно в доме с постоянно открытыми дверьми.

Чушь полную написал. Я выше сказал о том что любая программа которую ты установил патчит твой реестр и речь не о ms, а о любом софте который ты ставишь. Ну а ты конкретно видимо и не знаешь что такое реестр. Никакие органы не нужны для этого.

Также они создают свои директории у тебя в AppData, более того, ты когда ставишь игру и русификатор на неё она автоматически определяет где эта игра установлена - как думаешь, откуда?

Учи матчасть короче

Зря Вы хамите. Карма наказывает за это.

Лучше пойдите на мою страницу и почитайте список моих книг и статей по программированию на Windows. Могу себе представить, что заниматься этим я начал раньше, чем Вы родились.

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

Еще раз говорю, что твою fs может читать любая программа, и ты никак об этом не узнаешь, и они это уже делают не в теории, а на практике. Напиши 5 строк кода рекурсивного обхода хоть на c#, хоть на бейсике хоть батник в exe собери - тебе никто не запретит этого делать и программа запустится и все отсканирует. Более того, любой ftp клиент это уже делает без каких либо особых разрешений и бэкдоров от ms, они все читают твою fs и манипулируют файлами. С чего ты решил что для этого нужен бэкдор или особые санкции от Майкрософт если ты такой умный и уже 30 лет программируешь? Или может твой надутый опыт это просто набрасывание пуха? Знаю я одного такого же надутого, на бумаге уже 25 лет стажа на c#, а по факту сам работает на авиазаводе где всё на c# на четвёртом дотнете, и он до сих пор в этом ковыряется

…и уже 30 лет программируешь…

Был бы я женщиной, можно было счесть за комплимент. Но свои первые рубли как программист я заработал 50 лет и два месяца назад.😂

Возможно, чтение моих воспоминаний об этом славном времени поднимет Вам настроение сменит настрой: https://habr.com/ru/articles/663838/?ysclid=mt9tsm0q8x936288337

"Ох, ребята - не подеретесь":

1. Вы оба говорите про разное.
- Вы - о (неизбежном) наличии уязвимостей, и эксплоитах, их использующих;
- Ваш оппонент - о бесконтрольности (по умолчанию) обычных операций, в современных устройствах и ПК.

Т.е. вы оба "меряетесь", что в автомобиле главное: замок на дверце, или руль.

2. С точки зрения "проходившего мимо" - "первым начали" Вы, не совсем удачно выбрав для комментирования фразу "Наивно полагать что агент это большее зло…".

Vicollel - Вы спорите с автором статьи. Он - только хотел расширить область примеров, непланируя противоречить Вам и, тем более, задевать Вас.

"Крылья, ноги. Главное хвост!"

Технически — браузер может составить карту вашего диска за секунды. Юридически и практически — крупные компании (Google, Яндекс) стараются не отправлять списки всех ваших личных файлов на свои серверы в открытую. Если независимые исследователи безопасности поймают браузер на том, что он без спроса сливает в облако названия ваших личных документов, это обернется колоссальным скандалом, судами и потерей миллиардов долларов.

Почему «агент» или фоновый софт — это другой уровень риска

Время работы: Обычный установщик выполняет работу один раз и завершается. Фоновый агент или ИИ-помощник работает постоянно, анализирует ваши действия, контекст, буфер обмена и сетевой трафик.

Объем данных: Постоянный мониторинг собирает гораздо больше личной информации, чем старый автономный софт или разовый инсталлятор.

Угроза безопасности: Чем больше прав и постоянных доступов имеет фоновая программа, тем выше шанс утечки данных при её взломе.

Наивно думать, что вся цифровая среда безопасна, но делить программы на «абсолютно безопасные» и «все они одинаково опасны» тоже не стоит — важен масштаб постоянного доступа.

В чем проблема не использовать агента через плагин в IDE? В моем случае условный OpenCode наоборот ничего толком не может сделать вне папки проекта, требуя на это явного разрешения. А чтобы все было максимально приватно и экономно, исполнение и несложные задачи выполняет локальная LLM. Для сложных сценариев упаковываю часть или весь проект через скрипт в один MD-файл, который летит в облачную LLM вместе с моим запросом. На выходе - план, или вообще конкретный код, с которым снова работает локальная модель.

Про то, что локальные модели много дурят - правда только отчасти. Свежие LLM в категории ~30B уже всерьез сравнивают с флагманами полугодичной давности (см. Qwen 3.8 27B). Да, с чем-то специфичным они могут не справиться, если не сдобрить контекстом и пояснениями (что вполне логично, ведь нельзя запихнуть в веса такого размера знания обо всем подряд), но с базой и популярными вещами справляются очень хорошо.

…В моем случае условный OpenCode наоборот ничего толком не может сделать вне папки проекта, требуя на это явного разрешения

Давайте вспомним, как это работает.

Модель решает, что надо воспользоваться локальным инструментом, например bash. Harness пытается проанализировать её намерения и если заподозрит неладное - спросит у вас разрешения. Известна тьма мудрёных или на первый взгляд безобидных команд, особенно с применением регулярных выражений, которые наносят урон. Их может пропустить как сам harness, так и пользователь. Особенно, если тысячу раз до этого всё срабатывало хорошо. Агент может сделать это не по злобе, а просто ошибиться.

Про приватность и локальные LLM. Я совсем не касаюсь столь популярного вопроса о приватных данных, которые по запросу LLM утекают в США или Китай. Я хотел обратить внимание на парадокс. Маленькие локальные модели больше галлюцинируют (я назвал это «дурят») а фронтирные модели их создатели очевидным образом натаскивают на освобождение от контроля.

В таком случае спешу вас огорчить. Задача классификации (а предсказание следующего токена именно она), выполненная в вероятностном виде - это особенность не LLM и даже не нейросетей, а подавляющего большинства (если вообще не всех) алгоритмов машинного обучения в принципе. Вероятность того, что агент выдаст деструктивную команду, которая "выстрелит", никогда не будет строго равна нулю ровно по той же причине, по которой не существует алгоритма, гарантированно отличающего кошку от собаки в 100% случаев. Модели будут ошибаться и галлюцинировать, и это нормально. Поэтому здесь придется сделать выбор: либо мы снижаем планку ожиданий с "гарантированно на 100%" до "крайне маловероятно", по необходимости страхуемся бэкапами и песочницами и успешно работаем с инструментом, либо полностью от него отказываемся. Чудес детерминированности от нейросетей ждать не стоит.

Очевидным образом, возникло непонимание. Детерминированности я не ожидаю. Как раз наоборот.
И вижу два вида противодействия:
1. Работа с кодом на уровне специального (дополнительного) пользователя на вашем компьютере.
2. Создатели IDE ограничат любой harness использованием только внутренних API. Никакого shell.

Напомню, речь в статье идёт о проблемах солопренеров и работниках мелкиз фирм. Крупняки и так работают, как правило, либо в виртуальных машинах в облаках либо на специальных компьютерах.

Мысли:
1. Использовать Защищенное хранилище секретов. А так - "пусть лазит, где хочет" (ага - значит, и Бэкап).

- до сих пор, не храню на своих смартфонах учеток (ладно, только серьезных) (не ставлю банковских приложений. Ладно, когда иначе никак - поставил, удалил) -- смартфон можно утерять;
- всё "критичное" - только через домашний ПК. Который (и "на котором" - "утка в яйце, ..."), (с моей точки зрения) надежно обеспечен защитой - "обложен";
- (но даже там) не сохраняю (серьезные) пароли в веб-браузерах.

2. Относиться к AI и Харнесс - как нанятому/принятому работнику (инженеру, но не главбуху, юристу, ...).

Вы же не будете отдавать все свои карточки, ключи, взаимоотношения с окружающими, ... (почти-что) "первому встречному"?

Вспомнил, как один из электронщиков ИТ-службы, в конце 90x, сидя за компом своего непосредственного начальника (у остальных - компов еще не было), полез в электронную почту и "просто попробовал" - написал (т.е. от имени своего начальника) письмо ГенДиректору, в котором послал его матом (правда-правда) (хорошо, что тот, тогда - внутренней почтой не пользовался. Ну понервничал начальник, "слегка", как вернулся за свой комп. Обошел несколько служб - "дезавуировал" письмо. "Ни один электронщик - не пострадал").

Я тебе придумал песочницу - отдельный комп. И пусть там развлекается. А шума наверное нет, потому что подавляющее число пользователей IDE - программисты, инженеры, ну все мы, кто знает - что такое IDE и хабр)))

А у нас обычно для работы отдельный комп под юниксом + ещё пара тройка одноплатников для забавы. Под юниксом можно запустить любой процесс с порезанными правами, создав отдельного вузера.

Но даже с этим никто особо не парится, потому что на рабочем компе кроме кода ничего нет обычно.

Отдельный пользователь ОС — рабочая страховка, но на практике быстро упираешься в доступы к SDK, ключам подписи, симуляторам и общим кэшам. Контейнер решает часть проблемы, но для мобильной разработки и IDE тоже не всегда удобен. Вам не кажется, что нормальная середина — проектный sandbox плюс явный список внешних каталогов, а shell оставить, но с отдельным подтверждением именно выхода за границы проекта?

Я примерно это и предложил.

Однако думаю, что IDE, которое ограничит доступ harness только к его API - сможет сильно укрепить позиции на корпоративном рынке.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации