ВНИМАНИЕ : этот репозиторий теперь заархивирован. Вместо этого используйте 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 недоступен |