This is a discussion topic for the original post at Segurança em Python RPA - Confira as melhores práticas - BotCity | Python RPA | Blog
E a segurança em Python RPA, como fica? Confira boas práticas para deixar seus robôs mais protegidos
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;