PHP_CodeSniffer
Название задания в Auditor: PHP Security Audit v2
Образ в Auditor: registry.cybercodereview.ru/cybercodereview/security-images/phpcs-security-audit:2.0.1
Название импортера в Security Center: PHPCodeSniffer
Сканер выполняет токенизацию PHP-файлов и выявляет нарушения определенного набора стандартов написания кода.
PHP_CodeSniffer - это набор из двух PHP-скриптов: основного скрипта phpcs
, который проверяет файлы PHP, JavaScript и CSS на предмет нарушения определенного стандарта кодирования, и второго скрипта phpcbf
, который автоматически исправляет нарушения стандарта кодирования. PHP_CodeSniffer - это важный инструмент разработки, который гарантирует, что ваш код останется чистым и последовательным.
Пример команды Curl
curl -X POST localhost/api/v1/scan/import/ -H "Authorization: Token a75bb26171cf391671e67b128bfc8ae1c779ff7b" -H "Content-Type: multipart/form-data" -F "file=@./phpcs.json" -F "product_name=Product1" -F "product_type=Application" -F "scanner_name=PHPCodeSniffer" -F "branch=dev" -F "[email protected]:cybercodereview/security-center.git"
В этой команде используются следующие параметры:
-X POST
: задает используемый метод HTTP (в данном случае POST).-H "Authorization: Token <authorization_token>"
: задает токен авторизации, полученный от Security Center.-H "Content-Type: multipart/form-data"
: задает тип содержимого запроса.-F "file=@<report_file_path>"
: задает путь к файлу отчета, создаваемого сканером.-F "product_name=<product_name>"
: задает название сканируемого продукта.-F "product_type=<product_type>"
: задает тип сканируемого продукта.-F "scanner_name=<scanner_name>"
: задает имя сканера, используемого для создания отчета (Bandit Scan или GitLab Bandit)-F "branch=<branch_name>"
: (необязательно) указывает имя ветки в репозитории исходного кода (если применимо). Этот параметр особенно полезен, когда вы хотите связать результаты сканирования с определенной веткой в вашем репозитории. Если параметр не указан, сканирование будет связано с веткой по умолчанию
Информация об активах, если используется Auditor
-F "repository=<repository SSH URL>"
: Если ваш продукт хранится в репозитории, введите адрес репозитория в определенном формате, например: [email protected]:cybercodereview/security-center.git-F "docker_image=<registry address>"
: Если ваш продукт является образом, введите адрес реестра, в котором находится ваш продукт, например: registry.cybercodereview.ru/cybercodereview/security-center/back/importer:latest-F "domain=<domain>"
: Если ваш продукт является веб-продуктом, введите доменное имя вашего продукта, например: cybercodereview.ru-F "host=<host>"
: Если ваш продукт является веб-продуктом, введите IP-адрес вашего продукта, например: 0.0.0.0
Пример отчета:
$ phpcs /path/to/code/myfile.php
FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 5 ERROR(S) AFFECTING 2 LINE(S)
--------------------------------------------------------------------------------
2 | ERROR | Missing file doc comment
20 | ERROR | PHP keywords must be lowercase; expected "false" but found "FALSE"
47 | ERROR | Line not indented correctly; expected 4 spaces but found 1
51 | ERROR | Missing function doc comment
88 | ERROR | Line not indented correctly; expected 9 spaces but found 6
--------------------------------------------------------------------------------
Last updated