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データベースを読み取り専用で検査 |
AIによる検出結果のレビュー
AIレビューはデフォルトで無効です。有効にすると、検出完了後、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回のスキャンでのレビュー試行回数を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 を起動します。通常、ソースコードの抜粋はリモートのモデルサービスに送信されます。インストール済みであっても、ローカル推論を意味するわけではありません。コマンドが別の名前やパスでインストールされている場合は、--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 ソース
スキャンパスには ftp://host/path または ftps://host/path の URL を1つ指定します。PHP には FTP 拡張機能が必要で、FTPS では ftp_ssl_connect も必要です。
URL に認証情報を含めないでください。ユーザー名は --ftp-user または AMWSCAN_FTP_USER、パスワードは AMWSCAN_FTP_PASSWORD で設定します。FTP は認証情報とファイル内容を暗号化せずに送信するため、可能な場合は FTPS を使用してください。
AMWSCAN_FTP_USER=scanner \
AMWSCAN_FTP_PASSWORD=secret \
php scanner ftps://files.example.com/public_html --report-only
FTP スキャンは一時的なローカル読み取り専用ミラーを使用し、レポートモードを強制して、完了後にミラーを削除します。1回のスキャンで指定できる FTP ソースは1つで、上限は10,000ファイル、1ファイルあたり64 MiB、合計512 MiBです。FTP ソースでは --scan-wordpress-db を使用できません。