Segurança
Configurações > Segurança verifica se há problemas de segurança no seu site e ajuda você a corrigi-los. São três verificações: a verificação de pacotes, a verificação de código e a revisão de segurança da IA. Quando há problemas críticos, uma contagem em vermelho aparece ao lado de Segurança na barra lateral de Configurações.
No topo, uma linha informa quantos problemas precisam de correção e quando seu site foi verificado pela última vez. Clique em Verificar agora para verificar novamente. Abaixo disso:
- Revisão da IA: a revisão mais detalhada que a IA faz no chat. Clique em Iniciar revisão. Ela usa créditos.
- Verificações automáticas: as verificações gratuitas de pacotes e código, com a data da última execução.
- Problemas no seu código: o que a verificação de código encontrou, começando pelos mais graves.
- Pacotes: cada pacote com um problema conhecido, a versão instalada, a versão que o corrige e a versão no seu site publicado. Baixar lista salva essas informações em um arquivo.
- Atualizações de segurança automáticas, Avise-me por e-mail sobre problemas críticos e Bloquear a publicação enquanto houver um problema crítico aberto.
Verificação de pacotes
Seu site é criado com pacotes de código aberto, como o framework em que ele é executado. A verificação de pacotes compara cada pacote usado pelo seu site com o banco de avisos do npm sobre problemas de segurança conhecidos.
Ela é executada automaticamente:
- Todos os dias, em sites ativos e publicados
- Depois que a IA faz uma criação ou alteração
- Sempre que você publica, para refletir o que está no ar
Verificação de código
A verificação de código é gratuita e executada a cada publicação. Você também pode executá-la a qualquer momento na aba Segurança. Ela procura os erros que mais costumam expor os dados de um site:
- Chaves secretas no código do navegador. Qualquer pessoa que abra seu site pode ler tudo o que o navegador carrega.
- Valores secretos em nomes públicos. Segredos cujos nomes começam com
NEXT_PUBLIC_chegam ao navegador. Mantenha as chaves privadas em nomes sem esse prefixo. Veja Valores públicos. - Chaves de serviço no código do navegador. Uma chave de serviço ignora as regras de acesso do seu banco de dados, por isso deve ficar apenas no código do servidor.
- Tabelas sem segurança em nível de linha. Sem ela, qualquer pessoa pode ler ou alterar as linhas dessa tabela.
- Rotas de tarefas desprotegidas. Tarefas agendadas cujas rotas qualquer pessoa pode chamar, não apenas o agendador.
- Renderização insegura de HTML. Exibir HTML bruto pode permitir que alguém execute os próprios scripts nas suas páginas.
- Configurações de imagem arriscadas. Configurações de imagem mais permissivas do que seu site precisa.
Revisão de segurança da IA
A revisão de segurança da IA é executada no chat quando você clica em Iniciar revisão e usa créditos como qualquer mensagem. A IA lê todo o código do seu site e, quando há um banco de dados conectado, as regras de acesso dele. Ela procura problemas específicos da forma como seu site funciona:
- Quem pode ler ou alterar o quê
- Páginas e ações que deveriam verificar se a pessoa está conectada
- Pagamentos
- Injeção, quando algo que um visitante digita é tratado como código ou como uma consulta ao banco de dados
- Dados exibidos a pessoas que não deveriam vê-los
Ela lista o que encontra, começando pelos problemas mais graves, e pede sua confirmação antes de alterar qualquer coisa. Os resultados ficam no chat.
Como interpretar os resultados
Cada resultado mostra o que está errado, onde está o problema e sua gravidade: crítica, alta, moderada ou baixa. Os resultados são ordenados do mais grave ao menos grave, então comece pelo topo.
Os resultados de pacotes mostram o nome do pacote, as versões afetadas e o aviso de segurança, que você pode abrir para ler na íntegra. Os resultados da verificação de código mostram o arquivo e a linha, e Corrigir com IA faz a alteração. Corrigir tudo com IA corrige todos os problemas no seu código de uma só vez.
Para deixar um problema de lado, clique em Dispensar e escolha o motivo: É intencional neste site, Eu aceito o risco, Está errado ou Até haver uma correção disponível, com uma observação opcional. Os problemas dispensados saem da lista; Mostrar dispensados exibe esses problemas novamente, e Restaurar devolve um deles à lista.
Nenhuma verificação detecta todos os riscos. Um relatório sem problemas significa que nenhuma dessas verificações encontrou algo, não que seu site não possa ter um problema. Teste tudo o que lida com login, pagamentos ou dados dos seus usuários antes de confiar no funcionamento.
Como corrigir os problemas encontrados
- Atualizações de pacotes. Quando uma versão corrigida de um pacote estiver disponível, clique em Atualizar para usá-la no seu rascunho e depois publique para colocá-la no ar. Correções dentro da mesma versão principal não mudam o funcionamento do seu site.
- Corrigir com IA. Clique em Corrigir com IA em um resultado e a IA aplica a correção sugerida. A alteração é salva no histórico de versões, para que você possa desfazê-la.
Problemas que exigem mais do que uma simples atualização de versão, como uma nova versão principal ou uma alteração no seu código, nunca são corrigidos automaticamente. Eles são sinalizados com uma opção de correção em um clique, para você decidir quando aplicar.
Atualizações de segurança automáticas
Quando um pacote usado pelo seu site tem uma vulnerabilidade crítica e a correção está na mesma versão principal, o WebTwizz atualiza seu site publicado para você:
- Apenas as versões dos pacotes mudam. O código do seu site nunca é alterado.
- O WebTwizz recompila a versão publicada do seu site. Rascunhos inacabados nunca são publicados.
- Se a recompilação falhar, sua versão atual continua no ar.
- Um ponto de restauração é salvo no histórico de versões. Para desfazer a atualização, restaure a versão anterior a ela.
- Se seu projeto é sincronizado com o GitHub, a atualização é enviada para lá como um commit.
- Você recebe um e-mail informando o que mudou.
O WebTwizz também recompila sites publicados quando o Node.js, que os executa, recebe uma correção de segurança. Nada no seu site muda, e a atualização aparece em Cuidamos disso por você.
As atualizações automáticas vêm ativadas por padrão em sites novos. Nos sites criados antes de elas existirem, ficam desativadas. Para mudar isso em um site, abra Configurações > Segurança e ative ou desative Atualizações de segurança automáticas. Se um problema estiver sendo explorado ativamente, o WebTwizz ainda poderá aplicar a atualização e tirar o site do ar até que ele seja corrigido.
Alertas por e-mail
- Problemas críticos. Quando um site publicado tem um novo problema crítico, você recebe um e-mail no endereço da sua conta. Isso vem ativado por padrão. Para parar de receber esses e-mails, desative Avise-me por e-mail sobre problemas críticos em Configurações > Segurança.
- Problemas de gravidade alta. Eles são incluídos em um e-mail semanal.
Verificações na publicação
Cada publicação executa a verificação de pacotes e a verificação de código. Problemas críticos em aberto aparecem na linha Segurança do painel de publicação.
Para garantir que um site nunca entre no ar com um problema crítico conhecido, ative Bloquear a publicação enquanto houver um problema crítico aberto em Configurações > Segurança. A publicação passa a aguardar até que cada problema crítico seja corrigido ou dispensado. Essa opção vem desativada por padrão.
O que o WebTwizz cuida para você
Estes itens são mantidos seguros e atualizados para você, sem precisar configurar nada:
- A base inicial e os modelos. A base usada para criar cada novo site e todos os modelos da galeria.
- Sua pré-visualização. A pré-visualização de cada site é executada em sua própria máquina virtual isolada.
- Hospedagem. Sites em endereços webtwizz.app e em domínios próprios, com HTTPS.
- Segredos. Armazenados com criptografia. Você os insere apenas no WebTwizz, nunca em um chat com um assistente de IA. Veja Segredos.
- Sites privados e protegidos por senha. O acesso é verificado antes de o site carregar. Veja Visibilidade.
Como relatar um problema de segurança
Se você encontrar um problema de segurança no WebTwizz ou em um site hospedado nele, envie um e-mail para security@webtwizz.com. Veja em webtwizz.com/security o que incluir e os avisos de segurança anteriores.