Executando uma auditoria
buildprint audit executa uma auditoria de segurança em todo o espaço de trabalho do seu app Bubble. Ele verifica os arquivos gerados da branch atual, procurando erros comuns de segurança do Bubble — tipos de dados públicos, workflows de backend desprotegidos, carregadores públicos, segredos vazados e muito mais — e imprime uma lista classificada de achados com correções concretas.
Uma auditoria é uma verificação de todo o app. Isso é diferente de buildprint check, que valida apenas os arquivos que você alterou (ou os alvos que nomear). Use check para confirmar que suas edições são seguras para aplicar; use audit para avaliar a postura de segurança de todo o app.
Uso
Execute o comando de dentro de um workspace de branch clonado (o diretório que contém suas pages/, data_types/, api/ geradas e assim por diante):
buildprint auditExiba os achados como JSON em vez do relatório em texto:
buildprint audit --jsonA auditoria lê o snapshot da branch atual no disco. Ela não sincroniza, aplica nem altera nada — apenas relata.
Opções
--json- Exibe os achados da auditoria como JSON em vez da saída legível por pessoas.
O que a auditoria verifica
A auditoria executa um conjunto fixo de verificações de segurança independentes sobre o workspace. Cada verificação responde a uma pergunta de segurança e retorna zero ou mais achados.
Tipos de dados públicos (
public-data-types) - Sinaliza tipos de dados que não têm nenhuma regra de privacidade, ou cujo papel everyone concede acesso público de leitura (buscar registros, ver todos os registros, ver anexos ou expor campos) sem condição. Dados legíveis publicamente muitas vezes não são intencionais.Workflows de backend públicos (
public-backend-workflows) - Sinaliza workflows de eventos de API expostos que não têm condição de workflow nem autenticação restrita a admin. Estar autenticado não prova que o chamador está autorizado a executar o workflow.Carregadores públicos (
public-uploaders) - Sinaliza elementos de carregamento de arquivos e imagens que armazenam os arquivos enviados publicamente em vez de privadamente.Senhas temporárias do frontend (
frontend-temporary-passwords) - Sinaliza workflows de frontend que atribuem uma senha temporária. Se uma etapa posterior referenciar o resultado, a senha pode ser exposta ao cliente do usuário final. Esses fluxos devem ficar em um workflow de backend.Redirecionamentos no lado do servidor perdidos (
missed-server-side-redirects) - Sinaliza workflows de página que parecem uma proteção de redirecionamento, mas não serão executados como um redirecionamento no lado do servidor; assim, a página protegida é renderizada antes do redirecionamento. Ele explica exatamente o que impede o redirecionamento no lado do servidor (tipo de evento incorreto, mais de uma ação ativa, envio de dados da página ou parâmetros de URL não estáticos).Vazamento de segredos (
leaking-secrets) - Executa o Gitleaks no workspace para detectar segredos comprometidos em arquivos do app, como chaves de API armazenadas no arquivo bruto em vez de no API Connector ou em uma configuração de plugin. Esta verificação exige que o executávelgitleaksesteja instalado localmente; se ele não estiver presente, a verificação é ignorada silenciosamente.
Lendo o relatório
Os achados são classificados por gravidade, do mais sério para o menos sério (critical, high, medium, low, info), e depois pelo caminho do arquivo.
Cada achado é impresso como um bloco:
data_types/user/type.json
high [public-data-types] Data type has public read access
Data type 'User' grants everyone access: users can find all records in searches, and can see all fields.
Fix: Update the everyone privacy role so public users cannot search or view records unless intended...Cada bloco mostra:
Caminho - o arquivo relativo ao workspace que contém o problema.
Gravidade, id da verificação e título - por exemplo
high[public-data-types] Data type has public read access.Mensagem - o que Buildprint encontrou e por que isso pode ser arriscado.
Correção - etapas concretas de remediação.
O relatório termina com uma linha de resumo contando os achados por gravidade, por exemplo 2 high, 1 medium.
Se nada for encontrado, o relatório é:
No audit findings.Saída JSON
Com --json, o comando imprime um único objeto JSON: a mesma message informativa e um array results de achados. Cada achado tem os campos check, title, message, fix, severity e path. Use isso ao enviar os resultados da auditoria para outra ferramenta ou agente.
buildprint audit --jsonOs achados da auditoria são informativos. Eles são verificações programáticas, não um veredito sobre se o app está seguro para lançamento. Leia cada um no contexto do comportamento pretendido do seu app e decida se ele precisa de correção.