Pular para o conteúdo
AUDITORIA DE SEGURANCA

Auditoria de segurança para apps feitos com Base44

A segurança de um app feito com Base44 depende principalmente de duas coisas: as regras de acesso de cada entidade e as funções de backend que as ignoram. Reviso manualmente se essas regras dizem mesmo o que o app precisa e se nenhum usuário consegue contorná-las.

Como funcionam as regras de acesso no Base44?

O Base44 tem dois níveis: Row Level Security, para decidir quais registros cada usuário pode criar, ler, alterar e apagar, e Field Level Security, para decidir quais campos ele pode ver. As regras comparam campos do registro com dados do usuário, como o id ou o e-mail.

Há um detalhe a verificar: a documentação indica que, sem regras próprias de alterar e apagar, elas herdam de escrever e depois de ler. Abrir a leitura sem regras de escrita explícitas pode abrir mais do que você queria.

Que parte costuma escapar das regras?

As funções de backend com asServiceRole ignoram por completo as regras de registro e de campo. A partir daí, cada função precisa fazer as próprias verificações, e é aí que reviso com mais cuidado.

Também confirmo em quais dados as regras confiam. Os usuários podem alterar os próprios campos personalizados, então uma regra baseada em um desses campos pode ser contornada pelo próprio usuário.

O que verifico

Perguntas frequentes

Você consegue revisar um app do Base44 sem acesso ao repositório?

Preciso ver o código e as regras das entidades. Me diga como o projeto está configurado e confirmo o que é possível antes de cobrar.

O que é Field Level Security?

São regras por campo. Elas permitem, por exemplo, que um usuário veja um registro, mas não o campo de notas internas, reservado a administradores.

Quer que eu revise o seu app?

Envie o repositório. Respondo em 1 dia útil com o escopo e o preço fechado. A auditoria leva de 3 a 5 dias úteis depois que você aceita o escopo.

Guias relacionados

Fontes oficiais

A AIlocal é um serviço independente e não tem nenhuma afiliação com Base44. Os nomes pertencem aos respectivos donos.