Исследователи проверили 6 309 agent skills: у половины есть доступ к shell

Авторы статьи на Hugging Face Daily Papers профилировали 6 309 agent skills из двух маркетплейсов, ClawHub и skillsmp. Skill — это Markdown-инструкция, которую агент исполняет с правами своей сессии. У половины листингов есть признаки shell-исполнения, у 35% чтение файлов, у 31% запись и сетевой выход, у 13% доступ к credentials. Хотя бы одну повышенную возможность имеют 7 из 10. Модель разрешений почти не работает: из 6 061 листинга с читаемым frontmatter хоть что-то декларируют 770, и 59% из них занижают реальные возможности. — Установка skill даёт ему право управлять агентом. — Заявленным разрешениям верить нельзя. — Проверять нужно содержимое бандла, а не описание.

AI-обработка оригинала Hugging Face Daily Papers; редакция Hamidun News
Исследователи проверили 6 309 agent skills: у половины есть доступ к shell
Источник: Hugging Face Daily Papers. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHugging Face Daily Papers ↗
Главный редактор
Shell-исполнение50% листингов;
Чтение файловой системы35%;
Запись в файловую систему31%;

Skill для агента выглядит как безобидный Markdown-файл, но агент читает его как инструкцию и выполняет с правами сессии, которая его загрузила. Авторы новой работы с Hugging Face Daily Papers измерили, сколько власти пользователь передаёт при установке. Они проанализировали 6 309 листингов из двух маркетплейсов, ClawHub и skillsmp. У половины есть признаки способности исполнять команды в shell, а семь из десяти несут хотя бы одну повышенную возможность. При установке почти ничего из этого не видно.

Методика двухфазная. Сначала идёт статический анализ всего бандла, а не одного SKILL.md, плюс проверка происхождения зависимостей. Затем skill запускают в инструментированной песочнице, а полученные трассы отдельно оценивает модель. Важная деталь выборки: листинги для исполнения отбирали, не опираясь на предварительный сигнал угрозы или риска. Поэтому картина описывает рынок в целом, а не только подозрительные позиции, которые обычно и попадают в отчёты.

Что показал замер

Авторы подчёркивают: установка skill даёт не новые привилегии, а право направлять агента. Размер этого права они и считают. Доли возможностей по всему корпусу такие:

  • shell-исполнение: 50% листингов;
  • чтение файловой системы: 35%;
  • запись в файловую систему: 31%;
  • сетевой выход (network egress): 31%;
  • доступ к учётным данным: 13%;
  • хотя бы одна повышенная возможность: около 70%.

Важно, что работа не сводится к поиску вредоносных skills. Большинство этих возможностей может быть вполне законным: skill для деплоя без shell не обойдётся. Но пользователь принимает всю эту поверхность атаки одним кликом, не зная её границ.

Декларации против реальности

Формально механизм разрешений существует. Автор skill может перечислить в собственном frontmatter инструменты, которые заранее одобрены. Однако эта опция снимает запросы на подтверждение и ничего не ограничивает. Skill сохраняет доступ ко всему, до чего дотянется.

По цифрам механизм почти не используется. Frontmatter удалось разобрать у 6 061 листинга, и лишь 770 из них что-либо декларируют. Словарь не умеет выражать доступ к учётным данным и переменным окружения. Совпадение заявленного с содержимым бандла не проверяет никто.

Даже когда автор декларирует, он часто ошибается или умалчивает: 59% декларирующих листингов занижают реальные возможности. Площадки заметно различаются. ClawHub декларирует примерно вдвое чаще skillsmp, но занижает в 88% своих деклараций против 31% у конкурента. Выходит, что более охотное заполнение полей не говорит о большей честности.

Как строить проверку на практике

Главный вывод авторов для маркетплейсов: триаж нельзя основывать на заявленном, только на том, что бандл способен сделать. Детектор вредоносности отвечает на вопрос «злонамерен ли автор». Профиль возможностей отвечает на другой: «что случится, если skill окажется скомпрометирован, ошибётся или будет обманут prompt injection». Эти проверки дополняют друг друга.

Командам, которые подключают сторонние skills к агентам, полезно сделать несколько вещей уже сейчас:

  • сканировать весь бандл, включая скрипты и зависимости, а не читать только описание;
  • выносить в отдельный список skills с shell, записью в ФС, сетевым выходом и доступом к credentials и согласовывать их вручную;
  • не считать pre-approved tools в frontmatter мерой безопасности: это способ убрать подтверждения;
  • запускать незнакомые skills в песочнице без секретов и с ограниченным исходящим трафиком;
  • не давать агентской сессии больше прав, чем нужно самому чувствительному из загруженных skills.

Для площадок вывод ещё прямее: нужен автоматически вычисляемый профиль возможностей, показанный пользователю до установки, и проверка деклараций на соответствие бандлу. Пока этого нет, 70% повышенных возможностей остаются невидимым условием сделки.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: что показал замер?

Авторы подчёркивают: установка skill даёт не новые привилегии, а право направлять агента. Размер этого права они и считают. Доли возможностей по всему корпусу такие: shell-исполнение: 50% листингов; чтение файловой системы: 35%; запись в файловую систему: 31%; сетевой выход (network egress): 31%; доступ к учётным данным: 13%; хотя бы одна повышенная возможность: около 70%. Важно, что работа не сводится к поиску вредоносных skills. Большинство этих возможностей может быть вполне законным: skill для деплоя без shell не обойдётся. Но пользователь принимает всю эту поверхность

Что известно по теме: декларации против реальности?

Формально механизм разрешений существует. Автор skill может перечислить в собственном frontmatter инструменты, которые заранее одобрены. Однако эта опция снимает запросы на подтверждение и ничего не ограничивает. Skill сохраняет доступ ко всему, до чего дотянется. По цифрам механизм почти не используется. Frontmatter удалось разобрать у 6 061 листинга, и лишь 770 из них что-либо декларируют. Словарь не умеет выражать доступ к учётным данным и переменным окружения. Совпадение заявленного с содержимым бандла не проверяет никто. Даже когда автор декларирует, он часто ошибается

Что известно по теме: как строить проверку на практике?

Главный вывод авторов для маркетплейсов: триаж нельзя основывать на заявленном, только на том, что бандл способен сделать. Детектор вредоносности отвечает на вопрос «злонамерен ли автор». Профиль возможностей отвечает на другой: «что случится, если skill окажется скомпрометирован, ошибётся или будет обманут prompt injection». Эти проверки дополняют друг друга. Командам, которые подключают сторонние skills к агентам, полезно сделать несколько вещей уже сейчас: сканировать весь бандл, включая скрипты и зависимости, а не читать только описание; выносить в отдельный список skil

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Практика · Hamidun Academy

Соберите рабочего ИИ-агента или сервис своими руками без ручного кода

В Академии Жемала Хамидуна (academy.hamidun.com) открыт бесплатный 72-часовой тест-драйв: интерактивные скетч-уроки по Claude Code и Cursor, живой Tech Radar и готовые шаблоны агентов.

Открыть 72ч бесплатный доступ →Интенсив по Вайб-кодингу
Что вы думаете?
Загружаем комментарии…