Skip to main content

Snyk Code adiciona análise de segurança para C# e .NET

Escrito por

Frank Fischer

blog feature snyk code path traversal

29 de julho de 2021

0 minutos de leitura

Uma 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.

Análise de segurança que mostra o fluxo de dados de uma vulnerabilidade de path traversal em C# até System.IO.File.ReadAllText

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.

Análise de vulnerabilidade de travessia de caminho, com exemplos de travessia de diretórios, comandos de exploração e correções em código C#.

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.

Leia mais

feature insights context
Blog

Os ataques autônomos já chegaram. A defesa precisa acompanhar o ritmo.

Os atacantes autônomos estão reduzindo o tempo disponível para a defesa. Saiba como a descoberta, a correção, a validação e a prevenção contínuas ajudam as equipes de segurança a acompanhar esse ritmo.

illustration hero ai
Blog

O furacão da IA chegou

A IA está acelerando tanto a criação de software quanto os ataques cibernéticos. As lideranças devem proteger agentes e código desde o início, aplicar controles em tempo de execução e validar as defesas de forma independente.

feature insights context
Blog

A prevenção é essencialmente um problema resolvido?

A prevenção em código gerado por agentes está resolvida do ponto de vista arquitetural — mas escolher controles que protejam a segurança sem desacelerar o desenvolvimento continua sendo um desafio.