ProdutoCLISegurançaDocsPreços
Entrar

Encontre os caminhos de ataque que importam.

O Basalt lê sua conta AWS e seu código, mapeia a plataforma inteira e mostra os poucos caminhos até dados sensíveis, inclusive os que passam pelos seus agentes de IA.

Seu cliente pergunta. Seu grafo responde.

Cada pergunta de uma revisão de segurança, inclusive a da LGPD, é uma pergunta sobre a sua plataforma. O Basalt encontra a resposta no grafo e anexa a prova.

Seus agentes de IA conseguem chegar a dados de clientes?

1 CAMINHO ABERTO
support_bot/tools.py:8infra/iam.tf:22

Sim. O SupportBot consegue ler s3://customer-exports pela tool read_file.

Crítico

Um caminho, com a prova.

Cada achado é uma cadeia que vai de um ponto de entrada até o dado, com o arquivo, a linha e o recurso por trás de cada passo.

Caminho: uma function URL pública da Lambda, sem autenticação, expõe a função support-api, que executa o agente SupportBot; uma prompt injection faz o agente chamar a tool read_file; a tool usa a role IAM support-bot; a role pode ler s3://customer-exports.

Impacto

6 passos

De uma function URL pública até leitura em s3://customer-exports, marcado com a tag pii.

Causa

A role permite s3:GetObject em *, e a read_file aceita qualquer caminho de arquivo.

Correção

Restringir a policy a tickets/* e limitar a tool a um diretório. Qualquer uma das duas mudanças quebra o caminho.

Evidência

  • infra/lambda.tf:31
  • support_bot/agent.py:13
  • support_bot/tools.py:8
  • infra/iam.tf:22
  • arn:aws:s3:::customer-exports
Também encontramos: buckets públicos com dados sensíveis, credenciais em texto puro, servidores MCP que dão um shell a assistentes de código. Todos os tipos de caminho →

A correção se escreve. Você aprova.

Peça ao assistente do Basalt para fechar um caminho. Ele lê os arquivos envolvidos, escreve a menor mudança que quebra a cadeia e, só depois do seu sim, cria o branch e abre o pull request. Nunca no branch principal.

infra/iam.tfsupport_bot/tools.pybasalt/fix-support-bot
data "aws_iam_policy_document" "support_bot" {  statement {    actions   = ["s3:GetObject"]    resources = ["*"]    resources = ["arn:aws:s3:::customer-exports/tickets/*"]  }}
assistente basaltacme / support-api
vocêfecha o caminho do SupportBot
basaltli infra/iam.tf, support_bot/tools.py, infra/lambda.tf
basaltDuas mudanças quebram o caminho: limitar a support-bot a tickets/ e manter a read_file dentro de /srv/tickets.
basaltEdit 2 files on new branch basalt/fix-support-bot? [y] yes [n] no y
branch basalt/fix-support-bot
commit: fecha o caminho do SupportBot (2 arquivos)
push aprovado, pull request aberto
novo scan: Function URL → SupportBot → s3://customer-exports fechado
RELATÓRIOO caminho fechado aparece como corrigido no relatório que você manda ao cliente. EM BREVEPrefere tickets? Envie a correção ao Linear como issue, com o escopo já escrito.

Uma CLI que conhece sua plataforma.

Escaneie um repositório no notebook, cheque um branch antes do deploy ou peça ao assistente para corrigir um caminho. O mesmo motor somente leitura em todo lugar.

  • >_Roda localmente
  • ●○○Checagem antes do deploy
  • <?>Assistente com aprovação
  • tf ↔ awsTerraform + AWS ao vivo
Conheça a CLI →

    

Lemos configuração.
Nunca dados.

14ações na AWS, todas de leitura de configuração
0valores de secrets guardados
1hde validade das credenciais que usamos
100%das chamadas de API registradas por scan
As permissões exatas →
{ "Effect": "Allow",
  "Action": ["iam:GetAccountAuthorizationDetails", "s3:GetBucketPolicy", …] },
{ "Effect": "Deny",
  "Action": ["s3:GetObject*", "secretsmanager:GetSecretValue",
             "dynamodb:Query", "kms:Decrypt", …] }

Três formas de começar.

Escolha a que combina com o seu momento. Dá para passar para a próxima a qualquer hora.

*HOJE

Veja o que está aberto.

Um scan completo de um produto, todos os caminhos de ataque com evidência e a correção dos dois primeiros críticos.

Grátis, por lista de espera
!ANTES DO PRAZO

Passe na revisão.

Uma auditoria pontual, ou o relatório e as respostas que o time de segurança do seu cliente espera, revisados pelo nosso time.

Pagamento único
✓A CADA DEPLOY

Continue fechado.

Scans conforme o código muda, alerta quando uma mudança abre um caminho e a correção como pull request.

Assinatura
Ver planos e preços →

Revisões pontuais são abatidas se você assinar.

As primeiras perguntas que recebemos.

Mais detalhes na página de segurança e na documentação.

Que acesso o Basalt precisa?

Na AWS, uma role criada por você, que assumimos com um ExternalId. Ela permite 14 leituras de configuração e nega explicitamente leituras de dados como s3:GetObject e secretsmanager:GetSecretValue. Para o código, a CLI analisa seus repositórios na sua própria máquina; um GitHub App com acesso de leitura aos repositórios que você escolher está sendo liberado.

Vocês leem nossos dados ou guardam nossos secrets?

Não. Lemos configuração e a estrutura do código. Quando a AWS devolve valores de variáveis de ambiente, eles são classificados em memória e descartados; o valor nunca é gravado, logado ou enviado a lugar nenhum.

Dá para testar sem dar acesso a vocês?

Sim. A CLI roda na sua máquina contra um repositório ou Terraform, e contra a AWS com as suas próprias credenciais. Nada sai da máquina a menos que você a vincule a uma conta.

Vocês atacam nossos sistemas?

Não. A análise de caminhos é estática: lê configuração e código e nunca envia tráfego para suas aplicações ou agentes.

Qual a diferença para Wiz, Snyk ou Aikido?

Essas ferramentas listam problemas. O Basalt junta o código dos seus agentes, o IAM e os dados em um único grafo e mostra as poucas cadeias que de fato chegam a algo sensível, a um preço que uma startup consegue pagar. CVEs de dependências e scan de containers continuam com as ferramentas que você já usa.

E os falsos positivos?

Todo achado traz sua evidência e um nível de confiança. Quando uma condição ou um limite de permissão pode mudar o resultado e não conseguimos resolver, o passo é marcado como incerto em vez de ser reportado como crítico.

Encontre seu primeiro caminho nesta semana.

Entre na lista de espera, comece pela Auditoria Essencial ou fale com a gente se já há uma revisão marcada.