Resposta ao Guia para Desenvolvedores do Enduring Security Framework (ESF)
3 de setembro de 2022
0 minutos de leituraNa Snyk, criamos a segurança com foco em desenvolvedores. Acreditamos que envolver desenvolvedores nas práticas de segurança é essencial para criar e executar aplicações modernas. Foi exatamente por isso que a publicação recente do Guia de práticas recomendadas para desenvolvedores, da Agência de Segurança Nacional (NSA), da Agência de Segurança Cibernética e de Infraestrutura (CISA) e do Escritório do Diretor de Inteligência Nacional (ODNI), chamou nossa atenção. Ficamos felizes em ver o governo publicar um documento assim e achamos que as informações eram boas, mas faltou um guia prático para desenvolvedores, especialmente diante desta declaração no comunicado à imprensa: “O desenvolvedor tem uma responsabilidade fundamental pela segurança do nosso software.”
O próprio Guia de práticas aborda os temas certos sobre segurança da cadeia de suprimentos de software. É abrangente: trata da necessidade de um design seguro, de testes de segurança completos ao longo de todo o ciclo de vida do desenvolvimento de software, de novas ferramentas para extrair listas de materiais de software (SBOMs), de ameaças emergentes relacionadas a ambientes de desenvolvimento e compilação, entre outros assuntos. O documento traz bons conselhos.
No entanto, o guia tem algumas falhas importantes, especialmente na forma de apresentação. Hoje há cerca de 27 milhões de desenvolvedores no mundo, e é importante reconhecer que eles usam diferentes linguagens de programação, ferramentas e ambientes para escrever código. Não existe um único perfil de desenvolvedor, mas muitos. Na minha experiência, é improvável que a maioria leia um guia em PDF de 64 páginas, com duas páginas inteiras de siglas em um apêndice de 24 páginas. Além disso, para muitos desenvolvedores fora do governo (e alguns que trabalham nele), o uso excessivo da palavra “cibernético” costuma dar a impressão de que o conteúdo não é para eles.
Compare isso com documentos que influenciaram desenvolvedores em geral: o Twelve-Factor App (que formalizou e influenciou arquiteturas modernas), os 4 valores e os 12 princípios do desenvolvimento ágil de software e o OWASP Top Ten. Talvez, mais recentemente, os quatro níveis da estrutura SLSA Supply chain Levels for Software Artifacts.
Estas são algumas sugestões para aprimorar futuros guias desse tipo, voltados a desenvolvedores.
Encontre os desenvolvedores onde eles estão. Desenvolvedores são naturalmente curiosos, experientes e eficientes. A maioria prefere consultar a documentação em formatos acessíveis pela web, para poder levar o conteúdo às ferramentas de leitura que preferem. PDFs podem ser úteis, mas são rígidos e mais difíceis de usar.
Comunique-se de um jeito que funcione para desenvolvedores. Muitas vezes, o desafio para especialistas em segurança que trabalham com desenvolvedores não é a falta de conhecimento, mas a comunicação. As dificuldades de comunicação (e, muitas vezes, os incentivos desalinhados) alimentam a mentalidade de “nós contra eles” que o DevSecOps busca evitar. Como já dissemos, acreditamos que o Guia de práticas aborda os temas certos. Mas apresentar essas informações de um jeito fácil de acompanhar para desenvolvedores, como nestes guias rápidos, ajudaria a ampliar o impacto no público-alvo.
Ofereça exemplos reais. Desenvolvedores adoram experimentar e testar ideias novas. Querem exemplos de código e ferramentas novas que possam testar e experimentar por conta própria, como fizemos recentemente na publicação do blog sobre pacotes maliciosos no PyPI. Oferecer exemplos do mundo real para eles explorarem é provavelmente a melhor forma de ir além da simples leitura de informações novas e incentivar sua adoção.
Na Snyk, temos o compromisso de comunicar temas de segurança como esses de um jeito que, acreditamos, seja acessível para desenvolvedores. Veja alguns exemplos: uma lição do Snyk Learn sobre modelagem de ameaças e um guia rápido sobre revisão segura de código, ambos os temas mencionados no Guia de práticas. Acompanhe este blog e o Snyk Learn para conferir em breve mais conteúdo voltado a desenvolvedores sobre segurança da cadeia de suprimentos de software.