Saltar para o conteúdo
AUDITORIA DE SEGURANCA

Auditoria de segurança para apps feitas com Base44

A segurança de uma app feita com Base44 depende sobretudo de duas coisas: as regras de acesso de cada entidade e as funções de backend que as ignoram. Reviso à mão se essas regras dizem mesmo o que a app precisa e se nenhum utilizador as consegue contornar.

Como funcionam as regras de acesso no Base44?

O Base44 tem dois níveis: Row Level Security, para decidir que registos cada utilizador pode criar, ler, alterar e apagar, e Field Level Security, para decidir que campos pode ver. As regras comparam campos do registo com dados do utilizador, como o id ou o email.

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

Que parte costuma escapar às regras?

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

Também confirmo em que dados as regras confiam. Os utilizadores podem alterar os seus próprios campos personalizados, por isso uma regra baseada num desses campos pode ser contornada pelo próprio utilizador.

O que verifico

Perguntas frequentes

Consegues rever uma app do Base44 sem acesso ao repositório?

Preciso de ver o código e as regras das entidades. Diz-me como tens o projeto configurado e confirmo o que é possível antes de cobrar.

O que é Field Level Security?

São regras por campo. Permitem, por exemplo, que um utilizador veja um registo mas não o campo de notas internas, reservado a administradores.

Queres que eu reveja a tua app?

Envia-me o repositório. Respondo em 1 dia útil com o âmbito e o preço fechado. A auditoria demora de 3 a 5 dias úteis depois de aceitares o âmbito.

Guias relacionados

Fontes oficiais

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