Como encontrar vulnerabilidades de segurança no aplicativo Python?

A mais recente pesquisa de Espectro mostra, o Python classificou a linguagem de programação número um este ano.

O código principal do python é seguro, mas os módulos de terceiros, da maneira como você desenvolveu um aplicativo, podem não ser, e é por isso que você precisa de um scanner de segurança para encontrar vulnerabilidades, se houver. Existem muitos abrangentes scanners de segurança on-line para testar ameaças online, mas eles pode não ser capaz de detectar pontos fracos específicos da plataforma como Python, Node.js . etc.

Vamos dar uma olhada no seguinte scanner para encontrar riscos de segurança no aplicativo Python.

PYT (Python Taint)

Uma ferramenta de análise estática de código aberto para detectar injeção de comando, script entre sites, injeção de SQL, ataques transversais de diretório em aplicativos da Web em Python.

PYT é baseado na fundamentação teórica, e se você quiser contribuir, então você pode juntar-se a eles grupo de folga .

Bandido

Bandido é uma iniciativa do Open Stack para encontrar riscos de segurança comuns no código python. Ele processa cada arquivo para construir AST e gerar um relatório.

Você pode instalá-lo usando pip.

O uso do Bandit pode ser personalizado. Por exemplo, por padrão, o teste é feito em todo o perfil; no entanto, se você quiser verificar apenas o ShellInjection, tente abaixo.

 bandit samples/*.py -p ShellInjection

Você também pode instruir a relatar com base no nível de gravidade (Baixo, Médio ou Alto).

Pyntch

Pyntch suporte apenas Python 2.x, um analisador de código estático para detectar possíveis erros de tempo de execução. Não é exatamente para encontrar riscos, mas será útil para ver exceções de tempo de execução que podem vazar informações confidenciais às vezes.

É rápido e capaz de escanear milhares de linhas em um minuto.

Espaguete

Um scanner de código aberto baseado em python para encontrar configuração incorreta, arquivos inseguros e estruturas da web de suporte como CherryPy, CakePHP, etc.

espaguete

Spaghetti é capaz de descobrir vários ataques, incluindo os seguintes.

  • força bruta
  • Cartão de crédito, e-mail, divulgação de IP
  • Injeção de HTML/SQL/LDAP/XPATH/XSS
  • ShellShock, Crime, Struts-shock
  • cifra anônima

RATS (Ferramentas de auditoria aproximadas para segurança)

RATOS execute uma análise aproximada do código Python, PHP, Perl, C++ e destaque os erros relacionados à segurança, como abaixo.

  • Hora da Verificação
  • Tempo de uso
  • estouro de buffer

Acunetix

Uma plataforma abrangente de verificação de vulnerabilidades para testar aplicativos de rede e web. Acunetix verifica seu site em busca de mais de 5.000 vulnerabilidades e fornece um relatório detalhado com diretrizes de correção.

acunetix-wordpress

Se seu aplicativo da web Python estiver exposto à Internet e procurando por análise de segurança aprofundada então experimente o Acunetix.

Requer

Não é um scanner, mas Requires.io monitorar a segurança das dependências do Python e notificá-lo quando estiver desatualizado ou vulnerável.

requer

Você pode configurar para ser notificado adicionando crachás, e-mail ou pull do GitHub.

Segurança

Um verificador de dependências do python, Segurança pode verificar o ambiente virtual local, arquivo de requisitos, entradas stdin para problemas de segurança.

segurança

PyUpName

Mantenha seu aplicativo Python atualizado, compatível e seguro com PyUpName Segurança de Dependência do Python. Ele ajuda você a proteger seu código de milhares de vulnerabilidades de segurança nas dependências do Python que podem violar seu código Python.

pyup-1

Em vez de gastar seu tempo atualizando e rastreando manualmente cada dependência, você pode obter o PyUp para automatizar tarefas. Ele corrige novas vulnerabilidades automaticamente e permite que você fique longe de vulnerabilidades conhecidas para aumentar sua confiança em seu código.

Além disso, o PyUp mantém um banco de dados de vulnerabilidades e, até o momento, registrou 393.800 dependências do Python. Seus scanners são desenvolvidos para resolver ambientes complexos e verificar seus arquivos em busca de requisitos desatualizados e inseguros.

Esses scanners também são altamente configuráveis ​​de acordo com suas necessidades, e seu CI de segurança detecta vulnerabilidades antes que o código vá para produção. Integre ferramentas de linha de comando em seus fluxos de trabalho de CI.

Obtenha repositórios públicos e privados ilimitados por 99/mês e aproveite as licenças de dependência, CVSS, chave de API e CI de segurança. Você também pode fazer uma avaliação gratuita de 7 dias com o plano selecionado.

Conclusão

Espero que as ferramentas listadas acima ajudem você a encontrar riscos de segurança no aplicativo Python.

9 melhores estruturas Python para criar aplicativos de pequeno a grande porte

Artigos relacionados