WASViking Docs
⌘K
WASViking AI GuardianPrimeiros passos

Analise o código de um projeto a partir do Lovable ou de um assistente de código

Envie os arquivos-fonte de um projeto para o WASViking a partir de um cliente de IA pelo MCP Gateway (um conector de chat do Lovable, Claude Code, Cursor ou VS Code) e leia os achados do Code Security de volta, sem conexão com GitHub, GitLab ou Bitbucket.

O servidor WASViking® code analysis é um servidor MCP embutido do MCP Gateway do AI Guardian. Um cliente de IA que consegue chamar ferramentas entrega a ele os arquivos do projeto em que está trabalhando; o WASViking os recebe, monta o projeto e roda a mesma análise de um projeto enviado no Code Security: segredos, composição de software (SBOM e vulnerabilidades conhecidas), controle de acesso, uso de IA e LLM, acesso a backend como serviço, exposição de código-fonte e workflows de CI/CD. Os achados voltam ao cliente como resumos e localizações, nunca como código, e o projeto aparece no Code Security como qualquer outro.

Funciona com todo cliente que fala MCP sobre Streamable HTTP: um servidor MCP personalizado adicionado como conector de chat do Lovable, Claude Code, Cursor e VS Code. Reserve cerca de vinte minutos na primeira vez.

Antes de começar

  • O MCP Gateway está ligado para a sua organização (veja Governe as ferramentas dos agentes com o MCP Gateway) e o Code Security faz parte do seu plano. Um projeto analisado desta forma conta como um repositório da franquia de repositórios do plano.
  • Você tem um papel de administrador, ou um papel com acesso de gerência ao AI Gateway.
  • O seu cliente de IA está conectado a um gateway. No Lovable, abra Connectors, escolha um servidor MCP personalizado e cole o endpoint do gateway mostrado na aba Client Setup; o login por OAuth é o padrão e uma chave de Credentials & Access funciona como bearer token. Claude Code, Cursor e VS Code usam os comandos da mesma aba.

Passo 1: adicione o servidor

Abra AI Guardian, Protection, MCP Gateway, depois a aba Servers, e selecione Adicionar a análise de código do WASViking (recebe arquivos-fonte). A mesma entrada existe no App Catalog como servidor verificado pelo WASViking.

O que você deve ver: um servidor chamado WASViking code analysis com seis ferramentas, cada uma aprovada de imediato: o servidor é de primeira parte e toda definição passa limpa pelo scanner.

Ferramenta O que faz Classe
test_source_transfer Calcula o hash de um a vinte arquivos e responde com os bytes e o SHA-256 de cada um; não guarda nada. write (pelo nome)
create_security_scan Cria o projeto no primeiro uso e abre uma sessão para os arquivos. write
upload_source_batch Recebe um lote de arquivos (até 200 arquivos, cerca de um megabyte) na sessão. write
finalize_security_scan Fecha a sessão e enfileira a análise. write
get_security_scan_status O estado da sessão e as execuções do projeto. read
get_security_scan_results Os achados abertos do projeto, do mais grave ao menos grave. read

Passo 2: marque as ferramentas em um gateway

Abra a aba Gateways, escolha o gateway que o seu cliente usa e marque as seis ferramentas (restrinja-as aos grupos do diretório que podem enviar código, se quiser).

O que você deve ver: a contagem de ferramentas do gateway cresce em seis e o cliente lista ferramentas cujos nomes começam com wasviking_code__ na próxima listagem.

Um gateway criado com as regras padrão seguras pede a uma pessoa que aprove uma escrita sobre um alvo que o WASViking não conhece ou considera de alto risco. Abrir a análise de um projeto que ainda não existe é uma escrita assim, e também abrir uma nova análise de um projeto cuja última execução deixou achados altos ou críticos: o create_security_scan espera uma vez em Approvals, o cliente repete a chamada, e essa única aprovação cobre a sessão que ele abre, lotes e finalize incluídos. Um projeto que existe e não carrega achados altos ou críticos passa sem perguntar.

Passo 3: prove a transferência

No chat do cliente, peça:

Use the WASViking tool test_source_transfer to send the file src/App.tsx of this project.

O que você deve ver: uma resposta com received: 1, os bytes do arquivo, o SHA-256 dele e stored: false, além dos limites de uma transferência real. Isso prova que o cliente consegue ler os próprios arquivos e passá-los como argumentos de ferramenta, e todo o resto depende disso. Se o cliente responder que não consegue ler arquivos ou que a ferramenta não está disponível, veja a tabela de solução de problemas.

Passo 4: analise o projeto inteiro

Cole o prompt da aba Client Setup, ou escreva o seu:

Analyse the security of this project's whole source code with WASViking: open a session with create_security_scan, send every source file with upload_source_batch (skip node_modules, build output and lock files you cannot read), then call finalize_security_scan and report the analysis status.

O que você deve ver, passo a passo:

  1. create_security_scan responde com o nome do projeto, um session_id e os limites. O Lovable mostra um cartão de aprovação antes desta ferramenta, como antes de toda ferramenta que altera algo; Always allow para a ferramenta na conexão dispensa o cartão nos lotes seguintes.
  2. upload_source_batch responde a cada lote com received, os arquivos que ignorou e por quê (dependency_dir, vcs_internal, hash_mismatch), os totais da sessão e a capacidade restante. Um arquivo enviado duas vezes com o mesmo conteúdo é reconhecido e não é guardado de novo.
  3. finalize_security_scan responde state: sealed e a análise começa em segundo plano.

No portal, o Code Security agora lista o projeto como projeto enviado, e o histórico de execuções mostra a execução com Enviado por uma ferramenta de IA (MCP), quem enviou e quantos arquivos foram recebidos.

Passo 5: leia os resultados

Peça ao cliente get_security_scan_status com o nome do projeto até uma execução mostrar completed (um projeto pequeno leva poucos minutos; os estágios de revisão demoram mais nos grandes), depois get_security_scan_results.

O que você deve ver: os achados abertos do projeto, do mais grave ao menos grave, com o módulo, o título, a severidade, o CWE e o arquivo e a linha, e os totais do projeto por categoria. Para o detalhe de um achado, o id do achado funciona com get_finding do servidor WASViking security data, e o portal mostra tudo em Findings filtrado pelo projeto.

Limites e o que é ignorado

Limite Valor
Arquivos por chamada 200, cerca de um megabyte de conteúdo no total
Arquivos por sessão 5.000
Conteúdo por sessão 100 MB
Um arquivo 1 MB (arquivos binários viajam em base64)
Sessão aberta 2 horas sem um lote, uma sessão aberta por projeto

Ignorados na chegada, nunca guardados: internos de controle de versão (.git, .hg, .svn), árvores de dependências e de build (node_modules, vendor, dist, build, target, .next, ambientes virtuais e similares), arquivos de metadados da área de trabalho, caminhos que tentam sair do projeto, arquivos cujo SHA-256 difere do que o cliente enviou. Pastas de teste e fixtures são mantidas: o estágio de exposição de código-fonte as lê de propósito.

Privacidade e segurança

  • Os arquivos viajam dentro das chamadas de ferramenta, sobre TLS, só para a sua organização no WASViking. O gateway inspeciona cada chamada como faz com qualquer outra chamada de ferramenta: segredos, dados pessoais e injeção de prompt nos argumentos, as suas políticas e aprovações do AI Guardian. Uma regra que bloqueia segredos em argumentos de ferramenta barra um lote que carrega uma credencial; a mensagem diz qual regra.
  • O registro de chamadas guarda só metadados (quem, qual ferramenta, um hash dos argumentos, as classes de dados encontradas), nunca um arquivo.
  • Os arquivos recebidos ficam como fragmentos cifrados na área privada de envio da sua organização até a análise começar, depois como um único arquivo que é apagado quando a execução termina. Nada do projeto é executado: os motores leem manifestos e texto.
  • Cada lote é uma chamada de ferramenta MCP para os seus contadores de uso, e o projeto conta como um repositório do plano.

Solução de problemas

O que você vê Por quê O que fazer
O cliente não lista ferramentas wasviking_code__ O servidor não foi adicionado, as ferramentas não estão marcadas neste gateway, ou o cliente guardou uma lista antiga Adicione o servidor, marque as ferramentas e reconecte o cliente
"This tool waits for review by your administrator" Uma definição mudou após uma versão do WASViking Abra Tools e aprove a definição atual
"This action needs approval by a person" Uma regra de política, em geral o padrão seguro para escritas em alvos de alto risco Aprove o pedido em Approvals e repita a chamada; a aprovação cobre o resto da sessão
"Blocked by WASViking AI Guardian (policy ...)" Uma regra bloqueou a chamada: segredos nos argumentos, código-fonte ou um sinal de ameaça Revise a regra ou adicione uma exceção para o servidor wasviking_code
"The session would exceed its size limit" Mais de 100 MB de conteúdo Deixe de fora arquivos gerados; divida projetos grandes
"Another sign-in is sending this project right now" Outra pessoa tem uma sessão aberta para o mesmo projeto Espere ela terminar ou expirar
Estado failed com already_running Uma execução do projeto ainda está em andamento Espere ela terminar e abra uma nova sessão
"Code Security is not part of this organization's plan" O módulo não está contratado Ative com o seu parceiro ou com o comercial do WASViking
O cliente pede aprovação a cada lote Conectores de chat perguntam antes de toda ferramenta que altera algo Escolha Always allow para upload_source_batch na conexão
O cliente diz que não consegue ler os arquivos do projeto O cliente decide o que consegue enviar; o WASViking só recebe Prove com test_source_transfer; no Lovable, confira se o conector foi adicionado no chat do projeto