Snyk Code adiciona análise de segurança para C# e .NET
Frank Fischer
29 de julho de 2021
0 minutos de leituraUma observação rápida: tenho uma história pessoal com .NET, inclusive por ter trabalhado na Microsoft como evangelista de .NET. Também conheci brevemente Anders Jejlsberg, criador de C# e TypeScript, então este artigo tem um toque pessoal para mim.
Temos o prazer de anunciar que o Snyk Code agora analisa vulnerabilidades de segurança e sugere correções para mais uma linguagem: C#. Com isso, adicionamos uma linguagem importante ao nosso portfólio, que inclui suporte a Java, JavaScript, TypeScript e Python.

C# está intimamente ligado ao framework .NET e passou por muitas mudanças. A versão 9.0 foi lançada em 2020 e é um padrão tanto da ECMA (ECMA-334) quanto da ISO (23270). C# é multiparadigma (estruturada, imperativa, orientada a objetos, orientada a eventos, orientada a tarefas, funcional, genérica, reflexiva e concorrente) — em resumo, uma linguagem madura e com história.
C# representa cerca de 8% do mercado de linguagens de programação, o que a coloca em quarto lugar, atrás de Java, JavaScript e Python. Embora tenha começado como a linguagem preferida para Windows e aplicações empresariais, C# também foi adotada pelos setores de desenvolvimento de jogos e realidade virtual, por ser amplamente usada em aplicações Unity.

Como adicionar projetos em C# ao Snyk
Há várias maneiras de analisar seu repositório. O IDE permite analisar o código-fonte independentemente do sistema de controle de versão, para que você possa verificar o código antes de fazer o commit.
Dica: você pode analisar repositórios de código aberto sem fazer fork ou clone. Basta usar Add project > Monitor public GitHub repos.
De modo geral, o Snyk Code oferece suporte a GitHub, GitLab, Bitbucket Cloud e Azure Repos. As integrações são configuradas em Settings. Observação: Azure Repos não aparece diretamente no menu de projetos Add. Clique em + Other para encontrá-lo.
Quem já usa o Snyk precisará analisar novamente os projetos importados para ver os resultados de C# imediatamente. Caso contrário, os resultados aparecerão na próxima análise programada.
Como encontrar vulnerabilidades com o Snyk Code
O Snyk Code faz análise de fluxo de dados, capaz de detectar ataques de injeção comuns, como injeção de SQL, injeção de XML, redirecionamento aberto e injeção de LDAP, entre outros. Em nosso conjunto de treinamento, identificamos muitos casos de travessia de diretório. Nesse tipo de ataque, dados externos são usados sem sanitização prévia para abrir arquivos. Um invasor pode usar o caminho do arquivo para percorrer diretórios e ler ou gravar arquivos que você quer proteger. Além disso, ao descompactar arquivos ZIP e usar os caminhos armazenados nesses pacotes, arquivos importantes podem ser sobrescritos. (Isso é chamado de Zip Slip e, sim, o Snyk Code também detecta esse tipo de vulnerabilidade.) O Snyk Code também encontra problemas entre arquivos, o que é especialmente útil porque, em C#, as definições de classe podem ser divididas entre vários arquivos.
O Snyk Code oferece suporte aos principais frameworks do .NET: .NET Framework, .NET Core, ASP.NET (4.x) e ASP.NET Core. Como de costume, o Snyk Code oferece suporte imediato a todas as bibliotecas que usam C#.
Dica: o Snyk Code analisa arquivos de código-fonte com extensão *.cs, mas não analisa arquivos de marcação *.cshtml.
Proteja seus projetos em C# hoje mesmo
Após 6 meses no mercado, o Snyk Code agora oferece suporte a JavaScript, TypeScript, C#, Python e Java. E vem mais por aí: planejamos lançar suporte a novas linguagens em sequência nos próximos meses. Se a sua ainda não está na lista, fique de olho — podemos ter novidades para você.
Comece a jogar Capture the Flag
Aprenda a resolver desafios de Capture the Flag assistindo à gravação sob demanda do nosso workshop virtual introdutório.


