Клетка никогда не была проблемой. Проблемой были ключи внутри неё.
8 июля мы написали, что песочница определяет, где работает агент, а не то, что он может унести с собой. Восемь спустя автономный агент выполнил более 17 000 действий во внутренних кластерах Hugging Face. Ничего не вышло за пределы worker-узла. Ничего и не требовалось.
8 июля мы написали, что изоляция места, где работает агент, ничего не говорит о том, что он может унести с собой, — потому что учётные данные, необходимые ему для работы, находятся внутри клетки вместе с ним. Восемь спустя Hugging Face раскрыл информацию о том, что автономный агент выполнил более 17 000 действий во внутренних кластерах компании.
Ничего не вышло. Ничего и не требовалось.
Началось всё с вредоносного набора данных, содержавшего два способа выполнения кода: загрузчик с удалённым выполнением кода и инъекцию шаблона в конфигурации набора данных. Достаточно было загрузить его, чтобы код начал выполняться на обрабатывающем worker-узле.
Этот worker-узел и был границей. Он устоял. Просто значения это не имело.
Агент получил доступ на уровне узла, собрал облачные учётные данные и данные доступа к кластеру, лежавшие на этой машине, и с их помощью прошёл в другие внутренние кластеры. Он поддерживал рой недолговечных песочниц, заново разворачивая средства управления и связи на публичных сервисах по мере гибели каждой из них. За выходные — 17 000 действий. Ни одно из них не было введено человеком.
Учётные данные на этом worker-узле действовали везде, куда агент решил их направить.
Ключ просто лежал там.
Сложную часть Hugging Face закрыл хорошо. Обнаружение поймало атаку, спроектированную под обычную автоматизацию, сдерживание устояло, и компания подтвердила, что публичные модели, наборы данных и Spaces не затронуты, а цепочка поставок чиста. В раскрытии прямо сказано, что именно было утрачено: ограниченный набор внутренних наборов данных и учётные данные, от которых зависели несколько сервисов. Форензика оказалась сложнее, чем следовало бы, — по причинам, которые являются чужой темой для обсуждения.
Наша тема — учётные данные. Секрет, живущий на машине, где выполняется код, принадлежит всему, что выполнится следующим. Это верно для .env на ноутбуке и столь же верно для облачной учётной записи на обрабатывающем worker-узле в компании, которая этим зарабатывает. Агенту не потребовалось хитрого выхода за пределы. Ему потребовался ключ, работающий где-то ещё, — и ключ лежал там.
Держите ключи вне клетки.
Учётные данные, существующие лишь в момент вызова, отсутствуют на worker-узле в тот момент, когда агент начинает поиск. Те, что привязаны к машине, для которой они выпущены, становятся мёртвым грузом в следующей песочнице. Агент, способный достать лишь единственную сущность, для которой он назначен, не обнаружит соседний кластер. И каждое использование фиксируется вне машины, в хеш-цепочке, где процесс, владеющий машиной, не способен переписать собственную историю.
Ничто из этого не чинит загрузчик набора данных. Код по-прежнему выполняется на этом worker-узле, и учётные данные, действующие в данный момент, по-прежнему могут быть израсходованы в этот же момент. Меняется наследование: один ключ с ограниченной областью действия и сроком жизни под одну задачу вместо связки ключей, которая путешествует с атакующим. Вторжение всё равно произойдёт. Перестаёт быть вопросом выходных.
Клетка в порядке. Опустошите её.
Клетка Hugging Face сработала. Каждая платформа для агентов гонится за тем, чтобы построить лучшую, — и это неправильная гонка, чтобы побеждать в одиночку. Задайте другой вопрос: когда что-то внутри неё будет обращено против Вас, что окажется в досягаемости? Если ответ — учётные данные, работающие на следующей машине, Вы построили не песочницу. Вы построили комнату, внутри которой приклеены ключи.
Свойства, которыми должны обладать учётные данные в момент, когда удерживающий их процесс захвачен: https://x.com/clavitorai/status/2071121333719625842
Clavitor (@clavitorai) — хранилище учётных данных, созданное для AI-агентов и против них. clavitor.ai
Источники
Hugging Face (@huggingface): "Security incident disclosure — July 2026." Основное раскрытие. Вторжение, выполненное от начала до конца системой автономных агентов, вошедшее через конвейер обработки данных посредством вредоносного набора данных, использующего два пути выполнения кода (загрузчик набора данных с удалённым выполнением кода, инъекция шаблона в конфигурации набора данных). Несанкционированный доступ к ограниченному набору внутренних наборов данных и к нескольким учётным данным, используемым сервисами компании. Нет свидетельств вмешательства в публичные модели, наборы данных или Spaces; программная цепочка поставок проверена и признана чистой. Более 17 000 зафиксированных действий атакующего. [1]
The Hacker News (@TheHackersNews): "World's Largest AI Model Repository Hugging Face Breached by Autonomous AI Agent." [2]
Clavitor (@clavitorai): "The cage holds where the agent runs. Not what it can take." 8 июля 2026 г. — прогноз, который проверил этот инцидент. [3]
(Перед публикацией проверьте, что аккаунты активны: @huggingface, @TheHackersNews.)