Ir para o conteúdo
SaferICO SaferICOSegurança de contratos inteligentes
Ferramenta gratuita · nada é armazenado

Uma skill de agente é código que você roda sem ler.

Você lê o contrato antes de fazer o deploy. Leia a skill antes de instalar também. Um arquivo de configuração instalado com uma linha pode abrir um shell, ler o seu cofre de credenciais e mandar tudo para algum lugar — e nada disso aparece num README renderizado.

21 regras · 6 críticasNão precisa de contaNada é armazenadoNão dá nota — de propósito
//O que ele procura

As coisas que são perigosas por estrutura

Os casos em que o perigo não está num juízo sobre a intenção de alguém, e sim no formato da configuração. Seis classes, 21 regras.

Execução

Um shell como comando MCP. Um download canalizado direto para o shell. Remoções recursivas a partir da raiz / ou de ~. Sandboxes e pedidos de permissão desligados por flag. Executáveis chamados de diretórios temporários em que qualquer coisa na máquina pode reescrever.

Credenciais

Chaves de API vivas e material de chave privada escritos num arquivo que é compartilhado e instalado. Instruções que apontam o agente para ~/.ssh, ~/.aws ou um arquivo .env — que, ao lado de qualquer capacidade de saída, formam um caminho completo de vazamento.

Vazamento

Endpoints de coletor descartável. Webhooks de chat carregados dentro de uma configuração — que são permissões de escrita dentro de uma URL. Instruções para enviar conteúdo de arquivo, variáveis de ambiente ou a conversa para um endereço remoto.

Injeção de comando

Sobrescritas de instrução. Reatribuições de identidade. Ordens escondidas em comentários HTML — invisíveis na visualização renderizada, completamente visíveis para o modelo. Caracteres de largura zero e de mudança de direção, de modo que o que o revisor lê e o que o modelo recebe sejam dois documentos distintos.

Permissões

Permissões de comando com curinga — o ponto em que a lista de permissões deixa de ser uma lista de permissões. Instruções mandando o agente agir sem pedir aprovação, que é exatamente a condição necessária para uma instrução injetada funcionar.

Cadeia de suprimentos

Pacotes sem versão fixa, instalados e executados a cada inicialização. Código puxado de um branch em vez de um commit — para que o conteúdo revisado e o conteúdo executado possam se separar por um push de distância.

As ferramentas em si (o scanner, os painéis, o espaço de trabalho da SAFI) funcionam por enquanto com a interface em inglês. Estas páginas explicam tudo em português antes de você entrar nelas.

Isto não é uma auditoria de contrato

É preciso dizer isso antes de qualquer coisa, porque os dois vivem no mesmo site e o print de um não deve ser confundido com o outro.

⚠️ O que um resultado «passou» quer dizer e o que não quer

Quer dizer que nenhum destes padrões foi encontrado. NÃO quer dizer que é seguro executar o arquivo. Uma skill pode ser hostil sem casar com nada conhecido. Leia o que você instala.

01A diferença entre o motor de Solidity e o scanner daqui

O motor de Solidity roda 201 detectores sobre uma linguagem que tem especificação e sistema de tipos; ali, «esta função move dinheiro e qualquer um pode chamá-la» é uma propriedade decidível. Ele produz uma nota.

O scanner daqui são 21 regras que casam padrões em texto puro e JSON. O que torna uma skill perigosa é a intenção, e intenção não é decidível. Por isso ele produz passou / aviso / reprovou e, deliberadamente, não produz nota.

02Nada é armazenado

O texto é lido, casado e descartado. Não há uma linha, um cache ou um registro que o carregue.

Aqui, até 128 KB. O nome do arquivo determina quais regras rodam — as regras específicas de configuração não disparam em texto puro que apenas cita aqueles padrões.

03Rode onde os arquivos estão

Esta página lê um arquivo por vez. As mesmas regras existem na ferramenta de linha de comando: ela percorre um diretório, não pede chave de API e não manda nada para lugar nenhum — npx saferico skill ./minha-skill

As mesmas regras também são oferecidas pela ferramenta MCP chamada scan_agent_config, para que a checagem aconteça antes de algo ser instalado, e não depois.

//Perguntas

Antes de instalar

Quais arquivos eu posso passar?
Tudo o que você estiver prestes a instalar: um mcp.json, um SKILL.md, um claude_desktop_config.json, um arquivo de configuração. O nome do arquivo determina quais regras rodam.
O meu arquivo fica armazenado?
Não. Ele é lido, casado e descartado. Nem linha, nem cache, nem registro — nada o carrega.
Por que ele não dá uma nota?
Porque o que torna uma skill perigosa é a intenção, e intenção não é decidível. Uma nota daria uma impressão de precisão que a correspondência de padrões não merece. Passou / aviso / reprovou é o que a ferramenta de fato pode dizer.
Posso escanear um diretório inteiro?
Nesta página, não — aqui é um arquivo por vez e o limite é 128 KB. Para um diretório, rode npx saferico skill ./caminho: ele aplica as mesmas regras localmente e não envia nada.

Escaneie o contrato antes de mandar dinheiro

Cole o endereço do contrato e veja as permissões do proprietário, a liquidez e o resultado da simulação de venda antes de se expor. A pequena taxa por escaneamento aparece antes da assinatura — e em qualquer assinatura ela já vem incluída, sem limite.