ВНИМАНИЕ : этот репозиторий теперь заархивирован. Вместо этого используйте composer audit
:
COMPOSER_AUDIT_ABANDONED=ignore composer audit
Локальная проверка безопасности PHP — это инструмент командной строки, который проверяет, зависит ли ваше приложение PHP от пакетов PHP с известными уязвимостями безопасности. Он использует базу данных рекомендаций по безопасности.
Загрузите двоичный файл со страницы «Релизы» на Github, переименуйте его в local-php-security-checker
и сделайте исполняемым.
В каталоге, содержащем проект PHP, использующий Composer, проверьте наличие известных уязвимостей, запустив двоичный файл без аргументов и флагов:
$ local-php-security-checker
Вы также можете передать --path
для проверки определенного каталога:
$ local-php-security-checker --path=/path/to/php/project
$ local-php-security-checker --path=/path/to/php/project/composer.lock
По умолчанию вывод оптимизирован для терминалов, измените его с помощью флага --format
(поддерживаемые форматы: ansi
, markdown
, json
, junit
и yaml
):
$ local-php-security-checker --format=json
По умолчанию все пакеты проверяются на наличие уязвимостей безопасности. Вы можете пропустить проверки пакетов, перечисленных в require-dev
, передав флаг no-dev
:
$ local-php-security-checker --no-dev
При запуске команды она проверяет наличие обновленной базы данных уязвимостей и загружает ее с Github, если она изменилась с момента последнего запуска. Если вы хотите избежать двустороннего HTTP-путешествия, используйте --local
. Чтобы принудительно обновить базу данных без проверки проекта, используйте --update-cache
.
Если вы хотите постоянно проверять наличие проблем безопасности в своих производственных приложениях, вы можете использовать этот инструмент в сочетании с croncape, чтобы получать электронное письмо при обнаружении новой проблемы безопасности:
[email protected]
50 23 * * * croncape php-security-checker --path=/path/to/php/project
Этот инструмент возвращает следующие коды
Код | Действия |
---|---|
0 | --help Успешный запуск |
1 | Обнаружена хотя бы одна уязвимость |
2 | Неверный параметр --format |
127 | Невозможно загрузить базу данных Не удалось найти файл блокировки Вывод GitHub недоступен |