Versionscan – Um Scanner de Versão do PHP

O Versionscan é uma ferramenta para avaliar sua versão do PHP atualmente instalada e verificá-la em relação aos CVEs conhecidos e às versões em que foram corrigidos para relatar possíveis problemas.OBSERVAÇÃO: O trabalho ainda está em andamento para adaptar a ferramenta às distribuições do Linux que suportam correções de segurança. A partir de agora, isso só relata a versão para cima relatada.
Instalação
usando o Composer
{
"require": {
"psecio/versionscan": "dev-master"
}
}
A única dependência atual é o console do Symfony.
Uso
Para executar a varredura em sua versão atual do PHP, use: bin/versionscan
O script verificará a PHP_VERSION
instância atual e gerará os resultados de aprovação / reprovação. A saída é semelhante a:
Executing against version: 5.4.24
+--------+---------------+------+------------------------------------------------------------------------------------------------------+
| Status | CVE ID | Risk | Summary |
+--------+---------------+------+------------------------------------------------------------------------------------------------------+
| FAIL | CVE-2014-3597 | 6.8 | Multiple buffer overflows in the php_parserr function in ext/standard/dns.c in PHP before 5.4.32 ... |
| FAIL | CVE-2014-3587 | 4.3 | Integer overflow in the cdf_read_property_info function in cdf.c in file through 5.19, as used in... |
Os resultados também serão reportados de volta coloridos, para mostrar facilmente a aprovação / reprovação do cheque.
Parâmetros
Existem vários parâmetros que podem ser fornecidos à ferramenta para configurar suas varreduras e resultados:
Versão do PHP
Se você quiser definir uma versão do PHP para checagem diferente da que o script encontra, você pode usar o php-version
parâmetro:
bin/versionscan scan --php-version=4.3.2
Falhas somente do relatório
Você também pode informar ao versionscan para relatar somente as falhas e não os testes de aprovação:
bin/versionscan scan --fail-only
Classificação de resultados
Você também pode classificar os resultados pelo ID CVE ou pela gravidade (classificação de risco), com o sort
parâmetro e o valor “cve” ou “risk”:
bin/versionscan scan --sort=risk
Formatos de saída
Por padrão, as versões podem gerar informações diretamente para o console em um resultado legível por humanos. Você também pode especificar outros formatos de saída que podem ser mais fáceis de analisar programaticamente (como JSON). Use a --format
opção para alterar a saída:
vendor/bin/versionscan scan --php-version=5.5 --format=json
Formatos de saída suportados são console
, json
, xml
e html
.
O formato de saída HTML requer uma --output
opção do diretório para gravar o arquivo:
vendor/bin/versionscan scan --php-version=5.5 --format=html --output=/var/www/output
O resultado será gravado em um arquivo chamado algo como versionscan-output-20150808.html