AVISO : Este repositório agora está arquivado. Use composer audit
:
COMPOSER_AUDIT_ABANDONED=ignore composer audit
O Local PHP Security Checker é uma ferramenta de linha de comando que verifica se seu aplicativo PHP depende de pacotes PHP com vulnerabilidades de segurança conhecidas. Ele usa o banco de dados de avisos de segurança nos bastidores.
Baixe um binário da página Releases no Github, renomeie-o para local-php-security-checker
e torne-o executável.
Em um diretório contendo um projeto PHP que usa o Composer, verifique vulnerabilidades conhecidas executando o binário sem argumentos ou flags:
$ local-php-security-checker
Você também pode passar um --path
para verificar um diretório específico:
$ local-php-security-checker --path=/path/to/php/project
$ local-php-security-checker --path=/path/to/php/project/composer.lock
Por padrão, a saída é otimizada para terminais, altere-a através do sinalizador --format
(formatos suportados: ansi
, markdown
, json
, junit
e yaml
):
$ local-php-security-checker --format=json
Todos os pacotes são verificados quanto a vulnerabilidades de segurança por padrão. Você pode pular as verificações dos pacotes listados em require-dev
passando o sinalizador no-dev
:
$ local-php-security-checker --no-dev
Ao executar o comando, ele verifica se há um banco de dados de vulnerabilidade atualizado e baixa-o do Github se ele mudou desde a última execução. Se você quiser evitar a viagem de ida e volta HTTP, use --local
. Para forçar uma atualização do banco de dados sem verificar um projeto, use --update-cache
.
Se quiser verificar continuamente problemas de segurança em seus aplicativos em produção, você pode usar esta ferramenta em combinação com o croncape para receber um email sempre que um novo problema de segurança for detectado:
[email protected]
50 23 * * * croncape php-security-checker --path=/path/to/php/project
Esta ferramenta retorna os seguintes códigos
Código | Ações |
---|---|
0 | --help Execução bem-sucedida |
1 | Pelo menos uma vulnerabilidade foi encontrada |
2 | Opção --format inválida |
127 | Não foi possível carregar o banco de dados Não foi possível encontrar o arquivo de bloqueio Saída do GitHub não disponível |