O Facebook apresentou o Pysa, um analisador estático para a linguagem Python

Facebook introduzido analisador estático aberto pysa (Python Static Analyzer), projetado para identificar possíveis vulnerabilidades no código Python. O novo analisador foi projetado como um complemento ao kit de ferramentas de verificação de tipo Pyre e postado em seu repositório. Código publicado sob a licença do MIT.

Pysa fornece análise de fluxos de dados como resultado da execução de código, o que permite identificar muitas vulnerabilidades potenciais e problemas de privacidade associados ao uso de dados em locais onde eles não deveriam aparecer.
Por exemplo, o Pysa pode rastrear o uso de dados externos brutos em chamadas que iniciam programas externos, em operações de arquivo e em construções SQL.

O trabalho do analisador se resume a identificar fontes de dados e chamadas perigosas nas quais os dados originais não devem ser utilizados. Dados de solicitações da web (por exemplo, o dicionário HttpRequest.GET no Django) são considerados uma fonte, e chamadas como eval e os.open são consideradas usos perigosos. Pysa rastreia o fluxo de dados através da cadeia de chamadas de função e associa os dados de origem a locais potencialmente perigosos no código. Uma vulnerabilidade típica identificada usando Pysa é um problema de redirecionamento aberto (CVE-2019-19775) na plataforma de mensagens Zulip, causado pela passagem de parâmetros externos não limpos ao renderizar miniaturas.

Os recursos de rastreamento de fluxo de dados do Pysa podem Aplique para verificar o uso correto de estruturas adicionais e para determinar a conformidade com a política de uso de dados do usuário. Por exemplo, Pysa sem configurações adicionais pode ser usado para verificar projetos usando os frameworks Django e Tornado. Pysa também pode detectar vulnerabilidades comuns em aplicações web, como injeção de SQL e cross-site scripting (XSS).

No Facebook, o analisador é utilizado para verificar o código do serviço Instagram. No primeiro trimestre de 2020, a Pysa ajudou a identificar 44% de todos os problemas que os engenheiros do Facebook encontraram na base de código do servidor do Instagram.
No total, o processo automatizado de revisão de alterações da Pysa identificou 330 problemas, dos quais 49 (15%) foram classificados como graves e 131 (40%) como não graves. Em 150 casos (45%) os problemas foram classificados como falsos positivos.

Fonte: opennet.ru

Adicionar um comentário