Skip to main content

Segurança em PHP no Snyk Code já está disponível de forma geral

Escrito por
Headshot of DeveloperSteve Coochin

DeveloperSteve Coochin

blog social php composer

26 de janeiro de 2022

0 minutos de leitura

Recentemente, anunciamos nossa versão beta com suporte a PHP no Snyk Code, que passou a identificar possíveis vulnerabilidades de segurança em PHP diretamente no código. Após um programa beta público bem-sucedido, o suporte à segurança em PHP no Snyk Code já está disponível de forma geral.

PHP é uma linguagem de programação popular, usada por desenvolvedores do mundo todo. Neste artigo, vamos conhecer alguns dos recursos do Snyk Code e ver como usá-lo com PHP. Também vamos apresentar alguns exemplos para ajudar você a começar, seja iniciante ou desenvolvedor experiente.

Novidades com a disponibilidade geral

O suporte à segurança da linguagem PHP no Snyk Code complementa nossa funcionalidade existente de análise de PHP, que examina arquivos de manifesto do Composer para identificar vulnerabilidades em bibliotecas e dependências de código aberto.

Além disso, a extensão do Snyk para Visual Studio Code agora também oferece análise de código e do Composer para PHP. Isso é especialmente útil porque destaca possíveis trechos de código inseguros enquanto você escreve e avisa se houver vulnerabilidades ocultas em uma biblioteca ou dependência de código aberto.

Código PHP no Visual Studio Code mostrando um alerta do Snyk sobre uma entrada HTTP não sanitizada sendo usada em mysqli_query.

A versão de disponibilidade geral do suporte a PHP no Snyk Code permite investigar o problema e rastreá-lo pelo código quando necessário. Isso é útil ao lidar com funções rastreáveis que podem ter origem em outros pontos do código.

Análise de injeção de SQL no Snyk Code mostrando uma entrada HTTP não sanitizada sendo enviada para uma chamada mysqli_query em tasks.php.

Teste a análise do Snyk Code com nosso app de demonstração em PHP

Uma das coisas de que gostamos na Snyk é criar aplicativos de demonstração propositalmente vulneráveis, que chamamos de apps goof. Eles são uma ótima maneira de colocar a mão na massa e encontrar vulnerabilidades em cenários reais. Com o lançamento do suporte a PHP no Snyk Code, adicionamos um app goof em PHP.

Vamos mostrar alguns exemplos usando o app goof em PHP. Para experimentar, você precisa ter uma conta Snyk. Se ainda não tem uma, pode criar uma grátis em segundos.

Para começar, acesse o painel da Snyk e adicione um projeto. Para esta análise, você pode usar a opção monitorar repositório público para analisar o repositório do app goof em PHP ou fazer um fork do código e conectá-lo ao repositório que preferir.

Painel de segurança exibindo o repositório snyk-labs/php-goof, com análise de código e contagem de vulnerabilidades por nível de gravidade no composer.lock.

Dica: analisar repositórios públicos também é útil para analisar projetos de código aberto que você usa todos os dias.

A análise leva poucos instantes, e você já pode ver alguns problemas identificados tanto no código quanto nos arquivos de manifesto dos pacotes. O Snyk Code identifica dezenas de tipos de problemas e literalmente milhões de combinações de origem e destino em fluxos de dados. Vamos ver dois exemplos bastante comuns usando o app goof em PHP.

Injeção de SQL

A primeira coisa que você vai notar ao executar uma análise é como o Snyk Code facilita a inspeção do código. Na captura de tela abaixo, você pode ver que ele identifica uma consulta ao banco de dados que recebe uma entrada não sanitizada.

Análise de injeção de SQL no Snyk Code mostrando uma entrada HTTP não sanitizada chegando a uma chamada mysqli_query em PHP.

Além de revelar vulnerabilidades de forma rápida e fácil de entender, o Snyk Code também oferece análise de correções e recomendações de remediação. Se você desenvolve em PHP e não tem muita experiência em segurança, talvez não saiba que existem várias maneiras de sanitizar entradas com segurança em PHP, seja por meio de uma biblioteca ou da função filter_var. A Snyk oferece a experiência em segurança em tempo real de que você precisa para manter seu código seguro e também ajuda você a aprender ao longo do caminho.

Quer saber mais sobre segurança em PHP? Confira nosso artigo 5 maneiras de prevenir injeção de código em PHP.

Uso de credenciais codificadas diretamente

No app goof, usamos intencionalmente credenciais do MySQL codificadas diretamente para que fossem identificadas na análise do Snyk Code. Como você pode ver na captura de tela abaixo, o Snyk Code detectou e sinalizou o problema. (Uma forma mais segura de lidar com credenciais no código é armazená-las como variáveis de ambiente, na plataforma ou em um arquivo de ambiente.)

Tela do Snyk Code destacando uma senha de banco de dados PHP embutida no código e passada para mysqli_connect em db.php

Vulnerabilidades em código aberto

Além disso, a análise também identificou um problema em uma versão de uma biblioteca de código aberto declarada no manifesto do Composer. Ela foi incluída intencionalmente no app para demonstrar como pode surgir uma vulnerabilidade de cross-site scripting.

Registro de vulnerabilidade de segurança de league/commonmark mostrando um problema de script entre sites de gravidade média, CVSS 6,5, corrigido na versão 0.18.3.

Comece a proteger seus projetos em PHP

Estamos muito animados com a disponibilidade geral do suporte a PHP no Snyk Code e esperamos que você também esteja. Experimente com uma conta grátis da Snyk e envie seu feedback.

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

blog feature snyk container custom base recommendations
Blog

Conheça o Evo Agentic AppSec: segurança que acompanha o ritmo do desenvolvimento com IA

O desenvolvimento impulsionado por IA está avançando mais rápido do que os fluxos de trabalho de segurança tradicionais. O AppSec agentivo da Snyk usa agentes de segurança para encontrar, corrigir e verificar vulnerabilidades continuamente, enquanto as pessoas definem os critérios.

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.