Найдите риск безопасности и качество кода в вашем PHP-приложении. PHP правит в Интернете, занимая около 80% доли рынка. Он повсюду – WordPress, Joomla, Lavarel, Drupal и т.д.

Ядро PHP безопасно, но есть много других компонентов, которые вы можете использовать, и которые могут быть уязвимы. После разработки сайта или сложного веб-приложения большинство разработчиков и владельцев сайтов сосредотачиваются на функциональности, дизайне, SEO и забывают о важнейшем компоненте – безопасности. В качестве лучшей практики следует рассмотреть возможность проведения сканирования безопасности вашего приложения перед запуском в эксплуатацию. Это относится к любому сайту – маленькому или большому. Есть несколько инструментов, которые помогут вам в этом.
PMF
PHP Malware Finder (PMF) – это самостоятельное решение, которое поможет вам найти возможные вредоносные коды в файлах. Известно, что он обнаруживает изворотливые, кодировщики, обфускаторы, веб-шеллкод.

PMF использует YARA, поэтому для выполнения теста он необходим как предварительное условие.
RIPS
RIPS – это один из популярных инструментов статического анализа кода PHP, который необходимо интегрировать в жизненный цикл разработки для поиска проблем безопасности в режиме реального времени. Вы можете классифицировать найденные проблемы по отраслевому соответствию и стандарту, чтобы определить приоритетность исправлений.
- OWASP Top 10
- SANS Top 25
- PCI-DSS
- HIPPA

Давайте рассмотрим некоторые из следующих функций.
- Определение риска на основе серьезности и возможность определения веса для критического, высокого, среднего и низкого.
- Совместное расследование и определение приоритетности проблемы.
- Понимание влияния уязвимости
- Оценить риск безопасности между старым и новым кодом
- Создавайте список дел и назначайте задачи с помощью системы тикетов.
RIPS позволяет экспортировать отчеты о результатах сканирования в различные форматы – PDF, CSV и другие, используя RESTful API. Он доступен в виде самостоятельного хостинга и модели SaaS. Выбирайте то, что подходит именно вам.
SonarPHP
SonarPHP от SonarSource использует методы сопоставления шаблонов и потока данных для поиска уязвимостей в PHP-коде. Это статический анализатор кода, который интегрируется с Eclipse, IntelliJ.

SonarSource проверяет код по более чем 140 правилам, а также поддерживает пользовательские правила, написанные на Java.
Exakat
Механизм статического анализатора кода в реальном времени для проверки соответствия, рисков и укрепления лучших практик. Exakat имеет более 450 анализаторов, предназначенных для PHP. Есть анализаторы, специфичные для таких фреймворков, как WordPress, CakePHP, Zend и т.д.

Если код вашего PHP-приложения размещен на GitHub, то вы можете использовать их публичный анализатор, в противном случае вы можете скачать или использовать облачный онлайн-анализатор.
С помощью Exakat вы можете интегрировать вечную безопасность в ваше приложение и следующее.
- Автоматизированная проверка кода с более чем 100 правилами
- Готовность к соблюдению требований
- Автоматизируйте документирование кода
- Простая миграция на PHP 7
Благодаря подробной отчетности вы можете определить приоритетность исправлений.
PHPStan
PHPStan – это фантастический инструмент для поиска ошибок в процессе написания кода. Вам не нужно ничего запускать.

Вы можете попробовать онлайн версию здесь. Для использования PHPStan требуется версия 7.1 или выше и композитор. Однако он способен обнаружить ошибки более старой версии.
Psalm
Построенный на основе PHP Parser, Psalm позволяет находить ошибки и помогает поддерживать согласованность для лучшего и безопасного приложения.

Progpilot
Статический анализатор Progpilot позволяет указать тип анализа, например GET, POST, COOKIE, SHELL_EXEC и т.д. На данный момент он поддерживает фреймворк SuiteCRM и CodeIgniter.
Grabber
Grabber – инструмент на базе python для выполнения гибридного анализа PHP-приложений с помощью PHP-SAT.
Symfony
Security Monitoring by Symfony работает с любым PHP-проектом, использующим composer. Это база данных консультаций по безопасности PHP для известных уязвимостей. Вы можете использовать PHP-CLI, Symfony-CLI или веб-интерфейс для проверки composer.lock на наличие известных проблем с библиотеками, которые вы используете в проекте.

Symfony также предлагает услугу уведомления о безопасности. Это означает, что вы можете загрузить свой файл composer.lock, и если в будущем какие-либо используемые библиотеки окажутся уязвимыми, вы получите уведомление.
Заключение
Я надеюсь, что с помощью вышеперечисленных инструментов вы сделаете свои PHP-приложения более безопасными. Все перечисленные инструменты нацелены на анализ исходного кода, а если вам нужно больше, то посмотрите сканер безопасности с открытым исходным кодом. Как только ваше приложение будет готово, не забудьте добавить облачный WAF для непрерывной защиты из пограничной сети.