00:00:00Если вы следите за новостями в последнее время, то наверняка видели предупреждения о
00:00:04рисках использования автономных ИИ-агентов. Будь то случайные утечки данных или громкие
00:00:10инциденты с безопасностью, как это было с OpenClaw. На самом деле давать ИИ-агенту полный
00:00:15доступ к вашему терминалу — затея довольно опасная. Но мы же не перестанем ими пользоваться
00:00:21только из-за вопросов безопасности, верно? Нам нужна качественная «песочница». И есть один
00:00:28невероятный инструмент под названием Code on Incus, который позволяет запускать код Claude
00:00:34в полностью изолированном контейнере Incus. Так вы сможете безопасно работать с агентами,
00:00:40не боясь утечки SSH-ключей или переменных окружения. В сегодняшнем видео мы разберем,
00:00:46как именно работает Code on Incus, а затем я покажу, как всё настроить, чтобы вы могли
00:00:51спокойно запускать своих автономных ИИ-агентов. Будет интересно, так что погнали.
00:00:58Для начала: что такое Incus? Вообще, я подробно разбирал Incus в одном из своих
00:01:07предыдущих видео, так что посмотрите его, если хотите вникнуть в детали. Но если вкратце,
00:01:12Incus — это менеджер системных контейнеров и виртуальных машин с открытым кодом,
00:01:18позволяющий запускать полноценные Linux-системы в изоляции. А Code on Incus идет дальше,
00:01:24позволяя развертывать мини-машины Linux с уже предустановленным кодом Claude,
00:01:31используя их как изолированных агентов. Идея отличная: по сути,
00:01:36у Claude появляется своя выделенная среда Linux. В отличие от привилегированного режима Docker,
00:01:43контейнеры Incus ведут себя как реальные машины и сохраняют состояние, так что сессии
00:01:49можно прерывать и возобновлять без потери прогресса или истории переписки. Но самое крутое —
00:01:54это решение проблемы с правами доступа. Обычно, когда контейнер создает файл,
00:02:00его владельцем становится root, и вам приходится возиться с chown, чтобы просто отредактировать свой код.
00:02:08Incus использует маппинг UID, обманывая систему так, что всё созданное Claude в «песочнице»
00:02:14сразу принадлежит вам на локальной машине. В прошлом видео я показывал настройку
00:02:20контейнеров Incus на Linux, но сегодня мы сделаем это на Mac.
00:02:26Мы будем использовать Colima, которая сама по себе является контейнером. Внутри нее
00:02:31мы запустим Incus (еще один контейнер), а уже внутри Incus — Claude Code.
00:02:36Настоящая «Начало» в стиле Кристофера Нолана. Первым делом скачайте Colima.
00:02:42Справа я создал простую папку my-test-app, где будут храниться все файлы,
00:02:48созданные Claude через контейнеры Incus. Теперь запустим инстанс Colima.
00:02:55Добавим флаг mount, чтобы разрешить запись в ту самую папку,
00:03:00которую я только что создал. После этого зайдем в контейнер Colima через SSH.
00:03:06Далее нам нужно просто следовать инструкциям из репозитория
00:03:11Code on Incus. Скопируйте эти строки для установки и настройки Incus.
00:03:17Там указано, что нужно запустить команду bash, но в моих тестах это не всегда
00:03:23срабатывало как надо. Лучше скопировать содержимое в файл install.sh и запустить его.
00:03:29Скрипт увидит, что Incus уже установлен — это хорошо, но нам всё равно нужно
00:03:35настроить брандмауэр. Сделаем это чуть позже. А пока выберите «1», чтобы собрать всё из исходников.
00:03:42Когда процесс завершится, можно переходить к командам настройки брандмауэра.
00:03:47Согласно инструкции, следующий шаг — запуск koi build.
00:03:52Но ранее я сталкивался с проблемами сетевого подключения.
00:03:58Поскольку Incus работает внутри ВМ Colima, он создает свой виртуальный сетевой мост.
00:04:04Обычно это incus-br0, который дает контейнерам Claude доступ в интернет. И тут есть нюанс.
00:04:10Иногда брандмауэр Linux или правила Docker могут конфликтовать с этим мостом.
00:04:16Чтобы это исправить, нужно убедиться, что ВМ Colima свободно пропускает трафик
00:04:22между мостом Incus и внешней сетью. Для этого добавим мост Incus в доверенную зону
00:04:28и включим пересылку IPv4. Как только в терминале дважды появится «success»,
00:04:34мы официально готовы к сборке Code on Incus.
00:04:40Документация тут может немного запутать: для сборки нужен скрипт внутри репозитория.
00:04:46Так что проще всего напрямую клонировать репозиторий Code on Incus,
00:04:52зайти в папку и уже оттуда запустить koi build. У меня это сработало именно так.
00:04:59Сборка занимает пару минут. Но когда она закончится — начнется самое интересное.
00:05:04Мы наконец-то можем запустить автономных агентов Claude в их собственных «пузырях» Incus.
00:05:11Покажу на практике: я открыл два окна терминала. Запускаю первый инстанс
00:05:16в первом слоте, передавая путь к рабочей области, чтобы Claude знал, где сохранять файлы.
00:05:23Также я добавляю флаг network open. Это критически важно, так как
00:05:28позволяет агенту выходить в сеть, качать зависимости и обращаться к API.
00:05:35То же самое я проделаю для второго слота, создавая своего рода команду.
00:05:40Один агент будет полностью сосредоточен на бэкенде, а другой — на фронтенде.
00:05:45Для демо я попрошу их создать приложение Star Wars Holocron,
00:05:51которое подтягивает данные о персонажах через SWAPI. Чтобы было интереснее,
00:05:57я попросил добавить эффект мерцающей синей голограммы в стиле терминалов 1977 года.
00:06:04Оставляем их «вариться». Спустя пару минут видим, что оба агента
00:06:10успешно сработались в общем пространстве, создав и бэкенд, и интерфейс.
00:06:16Откроем браузер и посмотрим. Выглядит отлично! Тот самый классический
00:06:22эффект свечения голограммы. И если я введу запрос про Дарта Вейдера,
00:06:28данные подгружаются. То же самое для Йоды и Люка Скайуокера.
00:06:34В этом и есть мощь безопасной работы с ИИ: вы не подвергаете риску
00:06:40свою основную систему, работая с неизвестными зависимостями или чужим кодом.
00:06:46Вот еще пример, где такая безопасность незаменима. Допустим, вы скачали файл
00:06:52и подозреваете, что в нем может быть вирус. Для демонстрации я возьму
00:06:56тестовый файл от института EICAR, который имитирует вредоносное ПО.
00:07:02Сам по себе он безвреден, но содержит сигнатуру вируса. Итак,
00:07:09у вас есть подозрительный файл, и вы не хотите распаковывать его у себя.
00:07:14Тут на помощь снова приходит Code on Incus для безопасной распаковки.
00:07:19А затем мы попросим Claude провести полный анализ содержимого.
00:07:25В этом примере я запустил новый инстанс Colima, передав папку с файлом EICAR
00:07:30как рабочую область для Incus. Я снова прошел через установку
00:07:37и настройку Koi и запустил нового ИИ-агента.
00:07:41Теперь в отдельном окне терминала мы «пробросим» файл в инстанс Incus.
00:07:48Это делается командой incus file push с указанием ID контейнера
00:07:54нужного инстанса Koi. После передачи я прошу Claude изучить файл
00:08:00и составить подробный отчет. Спустя мгновение анализ готов.
00:08:06Как и ожидалось, Claude определил, что файл не представляет реальной угрозы,
00:08:11но верно распознал в нем тестовый вирус EICAR. Все детали
00:08:17он изложил в отчете. Это очень удобно.
00:08:24Если вы исследователь безопасности или разработчик, к которому попадает много
00:08:29непроверенных файлов, этот метод позволит безопасно их инспектировать.
00:08:34Вся аналитическая мощь Claude за «непробиваемым щитом» контейнера Incus.
00:08:40Вот и всё про Code on Incus вкратце. У этого инструмента есть и другие
00:08:47полезные команды, которые я не успел осветить в этом ролике.
00:08:52Например, запуск инстансов со своими образами или управление снапшотами.
00:08:57Обязательно изучите проект подробнее. Я считаю, что при нынешнем
00:09:03количестве угроз в сети такие инструменты жизненно необходимы для безопасной
00:09:09работы с ИИ. И то, что здесь используется Incus — огромный плюс.
00:09:16А что вы думаете об этом инструменте? Пробовали его или планируете?
00:09:21Пишите в комментариях. Ребята, если видео было полезным,
00:09:26пожалуйста, поддержите нас лайком под этим роликом.
00:09:31И не забудьте подписаться на канал, чтобы не пропустить новые
00:09:36технические разборы. С вами был Андрис из Better Stack, до встречи в новых видео!