Segurança em Python RPA - Confira as melhores práticas

This is a discussion topic for the original post at Segurança em Python RPA - Confira as melhores práticas - BotCity | Python RPA | Blog

:arrow_right: E a segurança em Python RPA, como fica? Confira boas práticas para deixar seus robôs mais protegidos :robot::point_down:


:pushpin: Em RPA muitas vezes os bots têm comunicação direta com sistemas críticos que, sem medidas adequadas, podem deixar vulneráveis dados sensíveis e facilitar acessos não-autorizados;

💡 As maiores empresas de tecnologia usam massivamente Python em seus stacks. Com Python, sua operação de RPA pode garantir ponto-a-ponto o mais alto nível de segurança (com criptografia, testes de vulnerabilidade e muito mais);

💡 Veja as recomendações da BotCity para a maior proteção de seus bots e mitigar os principais riscos (segundo a OWASP):

✅ Proteja o ambiente no qual o bot é desenvolvido e executado. Incluindo sistema operacional, banco de dados, dependências e rede, com os updates de segurança mais recentes;

✅ Separe os ambientes de desenvolvimento, teste/homologação, produção;

✅ Faça comunicação segura com VPNs, criptografias, certificados SSL/https, allow-lists, portas específicas no firewall;

✅ Garanta a atribuição das ações com credenciais de identificação seguras e únicas para cada robô;

✅ Separe credenciais do código e guarde-as em um cofre criptografado, e troque periodicamente;

✅ Conceda as permissões estritamente necessárias ao bot e aos colaboradores, com multi-factor authentication quando aplicável;

✅ Ao desativar um bot, não esqueça de revogar as credenciais;

✅ Monitore as atividades dos bots e crie alertas para comportamentos fora do esperado;

✅ Faça o gerenciamento das sessões com capturas de tela ou vídeos;

✅ Proteja a integridade dos logs, armazenando em separado e garantindo que estejam completos e auditáveis;

✅ Não use o interpretador Python default, provável que esteja desatualizado, instale e garanta a última versão;

✅ Use ambientes virtuais;

✅ Evite fazer relative imports;

✅ Cuidado com bibliotecas desconhecidas, não-oficiais ou desatualizadas (confira o Snyk Advisor). Atenção para não digitar errado o nome da biblioteca e usar uma maliciosa por engano;

✅ Evite carregar dados/bibliotecas desnecessárias;

✅ Mantenha o código limpo;

✅ Sempre valide/trate as entradas de dados para se proteger de injections, use criptografia para dados sensíveis, trate erros e exceções;

✅ Evite deixar coisas ilimitadas e libere memória dos objetos que não for mais usar;

✅ Coloque DEBUG = FALSE em produção;

✅ Deserialize com cautela ao usar Pickle, avalie usar PyYAML;

✅ Estabeleça um framework de governança adaptativa;

✅ Realize testes unitários, de integração, canary releases, avalie periodicamente a implementação como um todo;

✅ Faça code review, controle de versionamento e backups;

✅ Escaneie seu código para identificar vulnerabilidades (conheça Bandit, Snyk Code, SonarQube…);

✅ Reflita sobre cenários onde as coisas podem dar errado e tenha um plano para incidentes;

✅ Tenha um diálogo próativo com a equipe de segurança desde o início do projeto;