Pesquisadores analisaram 6 309 agent skills: metade tem acesso a shell

Os autores de um artigo do Hugging Face Daily Papers traçaram o perfil de 6 309 agent skills de dois marketplaces, ClawHub e skillsmp. Uma skill é uma instrução em Markdown que o agente executa com os privilégios da própria sessão. Metade das listagens tem sinais de execução de shell, 35% leem arquivos, 31% gravam arquivos e têm saída de rede, e 13% acessam credentials. Sete em cada 10 têm pelo menos uma capacidade elevada. O modelo de permissões quase não funciona: de 6 061 listagens com frontmatter legível, apenas 770 declaram alguma coisa, e 59% delas subestimam as capacidades reais. — Instalar uma skill dá a ela o direito de dirigir o agente. — Não se pode confiar nas permissões declaradas. — É preciso verificar o conteúdo do bundle, não a descrição.

Processado por IA de Hugging Face Daily Papers; editado por Hamidun News
Pesquisadores analisaram 6 309 agent skills: metade tem acesso a shell
Fonte: Hugging Face Daily Papers. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHugging Face Daily Papers ↗
Editor-chefe
Execução de shell50% das listagens;
Leitura do sistema de arquivos35%;
Escrita no sistema de arquivos31%;

Para o agente, uma skill parece um arquivo Markdown inofensivo, mas ele a lê como instrução e a executa com os privilégios da sessão que a carregou. Os autores de um novo trabalho do Hugging Face Daily Papers mediram quanto poder o usuário transfere ao instalar uma skill. Eles analisaram 6 309 listagens de dois marketplaces, ClawHub e skillsmp. Metade mostra sinais de capacidade de executar comandos no shell, e sete em cada dez trazem pelo menos uma capacidade elevada. Na hora da instalação, quase nada disso fica visível.

O método tem duas fases. Primeiro, é feita uma análise estática de todo o bundle, e não apenas do SKILL.md, somada à verificação da origem das dependências. Depois, a skill roda em um sandbox instrumentado, e um modelo avalia separadamente os traces gerados. Um detalhe importante da amostra: as listagens para execução foram selecionadas sem se basear em nenhum sinal prévio de ameaça ou risco. Por isso, o quadro descreve o mercado como um todo, e não só os itens suspeitos, que costumam ser os únicos a aparecer nos relatórios.

O que a medição mostrou

Os autores ressaltam: instalar uma skill não concede novos privilégios, e sim o direito de direcionar o agente. É o tamanho desse direito que eles medem. As proporções de capacidades em todo o corpus são estas:

  • execução de shell: 50% das listagens;
  • leitura do sistema de arquivos: 35%;
  • escrita no sistema de arquivos: 31%;
  • saída de rede (network egress): 31%;
  • acesso a credenciais: 13%;
  • pelo menos uma capacidade elevada: cerca de 70%.

O trabalho não se resume a caçar skills maliciosas. A maioria dessas capacidades pode ser perfeitamente legítima: uma skill de deploy não funciona sem shell. Mas o usuário aceita toda essa superfície de ataque com um clique, sem conhecer seus limites.

Declarações versus realidade

Formalmente, o mecanismo de permissões existe. O autor da skill pode listar, no próprio frontmatter, as ferramentas aprovadas previamente. Porém, essa opção apenas elimina os pedidos de confirmação e não limita nada. A skill mantém acesso a tudo o que conseguir alcançar.

Pelos números, o mecanismo quase não é usado. O frontmatter pôde ser interpretado em 6 061 listagens, e só 770 delas declaram alguma coisa. O vocabulário não consegue expressar acesso a credenciais e a variáveis de ambiente. Ninguém verifica se o que foi declarado corresponde ao conteúdo do bundle.

Mesmo quando o autor declara, ele costuma errar ou omitir: 59% das listagens que declaram subestimam as capacidades reais. As plataformas diferem bastante. O ClawHub declara cerca de duas vezes mais que o skillsmp, mas subestima 88% das suas declarações, contra 31% do concorrente. Ou seja, preencher os campos com mais disposição não indica mais honestidade.

Como montar a verificação na prática

A principal conclusão dos autores para os marketplaces: a triagem não pode se basear no que foi declarado, apenas no que o bundle é capaz de fazer. O detector de malícia responde à pergunta «o autor é malicioso?». O perfil de capacidades responde a outra: «o que acontece se a skill for comprometida, cometer um erro ou for enganada por prompt injection?». As duas verificações se complementam.

Equipes que conectam skills de terceiros a agentes podem fazer algumas coisas já:

  • escanear o bundle inteiro, incluindo scripts e dependências, em vez de ler apenas a descrição;
  • separar em uma lista própria as skills com shell, escrita no sistema de arquivos, saída de rede e acesso a credentials, e aprová-las manualmente;
  • não tratar pre-approved tools no frontmatter como medida de segurança: é só um jeito de remover as confirmações;
  • executar skills desconhecidas em um sandbox sem secrets e com tráfego de saída limitado;
  • não dar à sessão do agente mais permissões do que a mais sensível das skills carregadas exige.

Para os marketplaces, a conclusão é ainda mais direta: é preciso um perfil de capacidades calculado automaticamente e exibido ao usuário antes da instalação, além da verificação das declarações contra o bundle. Enquanto isso não existir, os 70% de capacidades elevadas continuam sendo uma condição invisível do negócio.

História

Perguntas frequentes sobre a notícia

O que a medição mostrou?

Os autores ressaltam: instalar uma skill não concede novos privilégios, e sim o direito de direcionar o agente. É o tamanho desse direito que eles medem. As proporções de capacidades em todo o corpus são estas: execução de shell: 50% das listagens; leitura do sistema de arquivos: 35%; escrita no sistema de arquivos: 31%; saída de rede (network egress): 31%; acesso a credenciais: 13%; pelo menos uma capacidade elevada: cerca de 70%. O trabalho não se resume a caçar skills maliciosas. A maioria dessas capacidades pode ser perfeitamente legítima: uma skill de deploy não funcio

O que se sabe sobre Declarações versus realidade?

Formalmente, o mecanismo de permissões existe. O autor da skill pode listar, no próprio frontmatter, as ferramentas aprovadas previamente. Porém, essa opção apenas elimina os pedidos de confirmação e não limita nada. A skill mantém acesso a tudo o que conseguir alcançar. Pelos números, o mecanismo quase não é usado. O frontmatter pôde ser interpretado em 6 061 listagens, e só 770 delas declaram alguma coisa. O vocabulário não consegue expressar acesso a credenciais e a variáveis de ambiente. Ninguém verifica se o que foi declarado corresponde ao conteúdo do bundle. Mesmo qu

Como montar a verificação na prática?

A principal conclusão dos autores para os marketplaces: a triagem não pode se basear no que foi declarado, apenas no que o bundle é capaz de fazer. O detector de malícia responde à pergunta «o autor é malicioso?». O perfil de capacidades responde a outra: «o que acontece se a skill for comprometida, cometer um erro ou for enganada por prompt injection?». As duas verificações se complementam. Equipes que conectam skills de terceiros a agentes podem fazer algumas coisas já: escanear o bundle inteiro, incluindo scripts e dependências, em vez de ler apenas a descrição; separar

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Autonomous AI Agents

Delegate Deep Research, Coding & Workflows to an AI Agent

Deploy autonomous multi-step execution with NomadNet Agent (agent.nomadnet.ai) — automated web research, data synthesis, code generation, and complex task orchestration.

Launch NomadNet Agent →NomadNet AI Platform
O que você acha?
Carregando comentários…