Справочник команд CLI
Выполните php scanner --help для просмотра всех параметров.
php scanner [path] [options]
Обнаружение
| Опция | Назначение |
|---|---|
--lite, -l | Снижает количество ложных срабатываний |
--only-signatures, -s | Сканирование только по сигнатурам |
--only-exploits, -e | Сканирование только по шаблонам эксплойтов |
--only-functions, -f | Сканирование только по опасным функциям |
--scan-all, --all | Проверять все файлы независимо от расширения |
--scan-archives | Сканировать ZIP-архивы в безопасных пределах |
--scan-wordpress-db | Проверить базу данных WordPress (только чтение) |
Проверка находок с помощью ИИ
Проверка с помощью ИИ по умолчанию отключена. Если её включить, после завершения обнаружения AMWScan запрашивает у выбранного провайдера рекомендательный вердикт malware, false_positive или uncertain. Каждый запрос содержит сработавшее правило и ограниченный фрагмент кода вокруг обнаруженной строки. Эта функция никогда не меняет статус находки и не изменяет файлы автоматически.
| Опция | Назначение | По умолчанию |
|---|---|---|
--ai-provider=<provider> | Использовать openai, anthropic, gemini, claude-code-cli, codex-cli, copilot-cli или opencode-cli | disabled |
--ai-model=<model> | Переопределить модель провайдера или установленного CLI | Модель провайдера по умолчанию |
--ai-context-lines=<number> | Включить от 0 до 20 строк до и после обнаружения | 5 |
--ai-max-findings=<number> | Ограничить число попыток проверки за одно сканирование значением от 1 до 100 | 20 |
--ai-timeout=<seconds> | Ограничить каждый запрос к провайдеру временем от 5 до 300 секунд | 30 |
--ai-executable=<path> | Переопределить исполняемый файл установленного CLI-провайдера | Команда провайдера |
Ключи API считываются из OPENAI_API_KEY, ANTHROPIC_API_KEY или GEMINI_API_KEY. Переменная AMWSCAN_AI_API_KEY имеет приоритет над переменной конкретного провайдера. Ключи нельзя передавать как параметры команды, поскольку аргументы команд могут отображаться в истории оболочки и списках процессов.
GEMINI_API_KEY=your-key php scanner /var/www/example \
--report-only --report-format=json --ai-provider=gemini
php scanner /var/www/example --report-only \
--ai-provider=claude-code-cli --ai-model=claude-sonnet-4-5
Модели по умолчанию для прямых API: gpt-5.6-luna, claude-haiku-4-5 и gemini-3.8-flash. Интеграции с установленными CLI запускают claude, codex, copilot или opencode без оболочки в изолированном каталоге. Обычно они отправляют фрагменты исходного кода удалённым сервисам моделей; установленный CLI не означает локальный инференс. Используйте --ai-executable, если команда установлена под другим именем или по другому пути.
Отчеты и вывод
| Опция | Назначение | По умолчанию |
|---|---|---|
--report, -r | Отключает интерактивные действия и сохраняет отчет | Выключено |
--report-format=<формат> | Выбор: html, txt, json, sarif | html |
--path-report=<путь> | Указать путь к файлу отчета | ./scanner-report.html |
--silent | Отключить вывод в терминале | Выключено |
Действия с файлами
| Опция | Назначение |
|---|---|
--backup, -b | Создавать резервную копию каждого измененного файла |
--auto-clean | Очищать вредоносный код без подтверждения |
--auto-delete | Удалять найденные файлы без подтверждения |
--auto-quarantine | Перемещать найденные файлы в карантин |
--auto-whitelist | Добавлять совпадения в белый список |
Источники FTP
Укажите один URL вида ftp://host/path или ftps://host/path в качестве пути сканирования. Для PHP требуется расширение FTP, а для FTPS также должна быть доступна функция ftp_ssl_connect.
Не добавляйте учетные данные в URL. Задайте имя пользователя через --ftp-user или AMWSCAN_FTP_USER, а пароль через AMWSCAN_FTP_PASSWORD. По возможности используйте FTPS, поскольку FTP передает учетные данные и содержимое файлов без шифрования.
AMWSCAN_FTP_USER=scanner \
AMWSCAN_FTP_PASSWORD=secret \
php scanner ftps://files.example.com/public_html --report-only
При FTP-сканировании создается временная локальная копия только для чтения, принудительно включается режим отчета, а после завершения копия удаляется. Одно сканирование принимает один источник FTP с ограничениями: 10 000 файлов, 64 МиБ на файл и 512 МиБ всего. Источники FTP нельзя использовать вместе с --scan-wordpress-db.