Verificação de segurança de código para Databricks Apps
Beta
Este recurso está em Beta. O Databricks habilita a varredura de segurança de código para Workspace elegíveis durante a versão beta.
As varreduras de segurança podem produzir falsos positivos e podem não identificar todas as falhas de segurança.
O Databricks Apps verifica o código-fonte do seu aplicativo em busca de problemas de segurança comuns sempre que você implanta uma alteração no código-fonte. A verificação não bloqueia nem falha em uma implantação. As descobertas aparecem na página Segurança do aplicativo, onde um gerente de aplicativo pode analisá-las e triá-las.
Como funciona a análise de segurança de código
A verificação de segurança do código executa a análise estática no código-fonte do seu aplicativo como parte da implementação:
- Execução em alterações de código-fonte : uma execução de verificação ocorre automaticamente quando uma alteração de código-fonte é implantada por você. Uma implantação que reutiliza uma build existente sem uma alteração de código-fonte não é verificada.
- Lê apenas seu código-fonte : o scanner analisa seu código-fonte sem executá-lo e nunca modifica seu aplicativo.
- Não bloqueante : O scanner relata descobertas de segurança, mas não bloqueia ou falha na implantação. Revise e corrija as descobertas com base em sua gravidade e em seus requisitos de segurança.
- Falha segura : Se uma verificação não puder ser concluída, o resultado será registrado como indisponível em vez de limpo, de modo que uma verificação ausente nunca será confundida com uma aprovada.
O que a verificação detecta
A verificação de segurança do código analisa apenas o código-fonte do seu aplicativo. Ela não verifica as dependências do seu aplicativo e não realiza análise dinâmica do aplicativo em execução.
O scanner usa regras de detecção selecionadas, criadas e ajustadas pelo Databricks para o Databricks Apps. O Databricks pode adicionar, remover ou atualizar regras ao longo do tempo para melhorar a cobertura e a precisão da detecção. As regras detectam classes comuns de vulnerabilidades, incluindo:
- Credenciais e segredos hardcoded
- Injeção de SQL
- Cross-site scripting (XSS)
- Falsificação de solicitação do lado do servidor (SSRF)
- Travessia de caminho
- Desserialização não segura
- Configuração permissiva de compartilhamento de recursos de origem cruzada (CORS)
- Carregamento inseguro de YAML
- Exposição de tokens do usuário (em nome de)
Uma verificação limpa não garante que seu aplicativo esteja seguro. O scanner verifica um conjunto específico de problemas, portanto, problemas que suas regras não cobrem não são detectados. Mantenha suas próprias práticas de revisão de código e segurança, especialmente para aplicativos que lidam com dados confidenciais. Para mais orientações de segurança, consulte Melhores práticas de segurança.
view resultados de segurança
Você deve ter a permissão CAN MANAGE em um app para view seus achados de segurança. Consulte Configurar permissões para um app do Databricks.
Para view as descobertas:
- No seu workspace, abra o aplicativo. Consulte view os detalhes de um aplicativo do Databricks.
- Selecione a tab Segurança .

A página Segurança mostra as descobertas da implantação selecionada, agrupadas por arquivo. Cada descoberta inclui:
- A verificação que correspondeu
- O caminho do arquivo e o número da linha
- Um nível de gravidade
- Uma descrição do problema
As descobertas usam os seguintes níveis de gravidade:
- Crítico : Um problema de alta gravidade, como uma vulnerabilidade provável, que você deve abordar antes de confiar no aplicativo.
- Aviso : Um possível problema que você deve revisar e corrigir se aplicar ao seu aplicativo.
- Info : Uma observação de menor risco ou sugestão de codificação segura para estar ciente.
Um resumo no topo da página mostra o número de descobertas abertas, o número de descobertas críticas, um nível geral de risco e o número de descobertas que você resolveu ou ignorou. O nível de risco reflete suas descobertas abertas e sua gravidade; as descobertas que você resolve ou ignora não contam para isso. Filtre as descobertas por gravidade para focar nos problemas que mais importam.
Para revisar os resultados de uma implantação anterior, use o seletor de versão do código para selecionar uma implantação anterior.
Triagem de resultados
A triagem permite que você acompanhe quais descobertas você abordou. Assim como na visualização de resultados, você deve ter a permissão CAN MANAGE no aplicativo para triá-los.
Cada descoberta tem um dos seguintes estados:
- Open : O estado default para uma nova descoberta.
- Resolvido : marque uma descoberta como resolvida depois de corrigir o problema subjacente.
- Ignorado : ignore um resultado que não se aplica ao seu aplicativo ou que você aceitou como um risco conhecido.
Para fazer a triagem de uma descoberta, selecione Marcar como resolvida ou Ignorar na descoberta. Para mover uma descoberta de volta para aberta, selecione Reabrir . Para fazer a triagem de várias descobertas ao mesmo tempo, selecione várias descobertas e aplique uma ação em massa.
O estado da triagem é salvo por descoberta e persiste em todas as implantações. Se o mesmo problema aparecer em uma implantação posterior, ele mantém o estado que você definiu, para que você não precise fazer a triagem novamente de problemas que já revisou.
Resultados da varredura
A página Segurança reflete o resultado da verificação da implantação. O resultado da verificação descreve o que a verificação encontrou, e o status da verificação descreve se a verificação foi concluída.
Os resultados refletem as regras de detecção que estavam em vigor quando ocorreu a execução da varredura. O Databricks não faz uma nova varredura de uma implantação existente quando as regras mudam, portanto, um resultado anterior (incluindo Nenhuma descoberta de segurança ) pode não refletir as regras atuais. Uma nova varredura é executada automaticamente na próxima alteração do seu código-fonte.
Os resultados a seguir descrevem o que a verificação encontrou:
Resultado | Descrição |
|---|---|
Nenhuma descoberta de segurança | A verificação foi concluída e não encontrou problemas no conjunto de regras atual. |
Resultados | A verificação encontrou um ou mais problemas para revisar e triar. |
Os seguintes status descrevem o estado da própria verificação:
Status | Descrição |
|---|---|
Verificando esta implantação | A verificação está em andamento. A página é atualizada automaticamente quando a verificação é concluída. |
Varredura incompleta | A verificação foi executada, mas ignorou alguns arquivos ou regras, portanto, os resultados podem ser parciais. |
Resultados da verificação não disponíveis | Não foi possível concluir a verificação para esta implantação. |
Esta implantação não foi verificada | A implantação reutilizou uma compilação existente sem uma alteração no código-fonte. Reimplante após uma alteração no código para escaneá-lo. |