CLI-Befehlsreferenz
Führen Sie php scanner --help aus, um alle unterstützten Optionen anzuzeigen.
php scanner [path] [options]
Erkennung
| Option | Zweck |
|---|---|
--lite, -l | Häufige Fehlalarme reduzieren |
--only-signatures, -s | Nur nach Malware-Signaturen scannen |
--only-exploits, -e | Nur nach Exploit-Mustern scannen |
--only-functions, -f | Nur nach gefährlichen PHP-Funktionen scannen |
--exploits=<namen> | Bestimmte Exploit-Definitionen einschließen |
--ignore-exploits=<namen> | Bestimmte Exploit-Definitionen ausschließen |
--functions=<namen> | Nach bestimmten PHP-Funktionen suchen |
--scan-all, --all | Alle Dateien unabhängig von der Endung prüfen |
--scan-archives | ZIP-Archive innerhalb von Sicherheitsgrenzen prüfen |
--scan-wordpress-db | Lokale WordPress-Datenbank schreibgeschützt prüfen |
--max-filesize=<größe> | Dateien überspringen, die größer als der Wert sind |
KI-Prüfung von Funden
Die KI-Prüfung ist standardmäßig deaktiviert. Wenn sie aktiviert ist, fordert AMWScan nach Abschluss der Erkennung beim ausgewählten Anbieter eine unverbindliche Einstufung als malware, false_positive oder uncertain an. Jede Anfrage enthält die zutreffende Regel und einen begrenzten Codeausschnitt rund um die erkannte Zeile. Der Status eines Funds wird dadurch nie geändert und Dateien werden nicht automatisch bearbeitet.
| Option | Zweck | Standard |
|---|---|---|
--ai-provider=<provider> | openai, anthropic, gemini, claude-code-cli, codex-cli, copilot-cli oder opencode-cli verwenden | disabled |
--ai-model=<model> | Das Modell des Anbieters oder der installierten CLI überschreiben | Standard des Anbieters |
--ai-context-lines=<number> | 0 bis 20 Zeilen oberhalb und unterhalb der Erkennung einbeziehen | 5 |
--ai-max-findings=<number> | Prüfversuche pro Scan auf 1 bis 100 begrenzen | 20 |
--ai-timeout=<seconds> | Jede Anbieteranfrage auf 5 bis 300 Sekunden begrenzen | 30 |
--ai-executable=<path> | Die von einem installierten CLI-Anbieter verwendete ausführbare Datei überschreiben | Anbieterbefehl |
API-Schlüssel werden aus OPENAI_API_KEY, ANTHROPIC_API_KEY oder GEMINI_API_KEY gelesen. AMWSCAN_AI_API_KEY überschreibt die anbieterspezifische Variable. Schlüssel werden nicht als Befehlsoptionen akzeptiert, weil Befehlsargumente im Shell-Verlauf und in Prozesslisten erscheinen können.
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
Die direkten API-Standardmodelle sind gpt-5.6-luna, claude-haiku-4-5 und gemini-3.8-flash. Installierte CLI-Integrationen rufen claude, codex, copilot oder opencode ohne Shell in einem isolierten Verzeichnis auf. Sie senden Quellcodeausschnitte normalerweise an entfernte Modelldienste; installiert bedeutet nicht lokale Inferenz. Verwenden Sie --ai-executable, wenn der Befehl unter einem anderen Namen oder Pfad installiert ist.
Berichte und Ausgabe
| Option | Zweck | Standard |
|---|---|---|
--report, -r | Bericht erstellen und Aktionen deaktivieren | Aus |
--report-format=<format> | html, txt, json oder sarif wählen | html |
--path-report=<pfad> | Pfad der Berichtsdatei festlegen | ./scanner-report.html |
--log=<pfad> | Scan-Protokoll schreiben | Aus |
--silent | Terminalausgaben unterdrücken | Aus |
Dateiaktionen
| Option | Zweck |
|---|---|
--backup, -b | Geänderte Dateien sichern |
--auto-clean | Erkannten Schadcode automatisch entfernen |
--auto-delete | Erkannte Dateien automatisch löschen |
--auto-quarantine | Erkannte Dateien in Quarantäne verschieben |
--auto-whitelist | Funde zur Whitelist hinzufügen |
FTP-Quellen
Geben Sie eine URL im Format ftp://host/pfad oder ftps://host/pfad als Scanpfad an. PHP benötigt die FTP-Erweiterung; für FTPS muss außerdem ftp_ssl_connect verfügbar sein.
Speichern Sie keine Zugangsdaten in der URL. Legen Sie den Benutzernamen mit --ftp-user oder AMWSCAN_FTP_USER und das Passwort mit AMWSCAN_FTP_PASSWORD fest. Verwenden Sie nach Möglichkeit FTPS, da FTP Zugangsdaten und Dateiinhalte unverschlüsselt überträgt.
AMWSCAN_FTP_USER=scanner \
AMWSCAN_FTP_PASSWORD=secret \
php scanner ftps://files.example.com/public_html --report-only
FTP-Scans verwenden eine temporäre lokale, schreibgeschützte Spiegelung, erzwingen den Berichtsmodus und entfernen die Spiegelung nach Abschluss. Ein Scan akzeptiert eine FTP-Quelle mit höchstens 10.000 Dateien, 64 MiB pro Datei und 512 MiB insgesamt. FTP-Quellen können nicht mit --scan-wordpress-db verwendet werden.