Panoramica SDK PHP
Usa l'SDK PHP quando l'applicazione deve avviare una scansione, utilizzare il relativo report strutturato o interrogare gli indici di firme integrati. L'API supportata è composta da AMWScan\Scanner e dai metodi di ricerca in sola lettura di AMWScan\Signatures.
Installa e carica
Installa il pacchetto con Composer e carica l'autoloader di Composer prima di utilizzare l'SDK:
composer require marcocesarato/amwscan
require __DIR__ . '/vendor/autoload.php';
use AMWScan\Scanner;
Il pacchetto richiede PHP 7.4 o versioni successive con le estensioni fileinfo, json, mbstring e zlib. Consulta i Requisiti per gli ambienti supportati.
Scegli un punto di ingresso
| Esigenza | API | Risultato |
|---|---|---|
| Scansionare file o un progetto | Scanner::run() | Report di scansione stdClass o false in caso di errore di scansione intercettato |
| Leggere un risultato di scansione dopo il completamento | Scanner::getReport() | Report di scansione stdClass corrente |
| Verificare un hash malware SHA-256 esatto | Signatures::findKnownMalwareHash() | Record della corrispondenza o null |
| Verificare un hash legacy di file normalizzato | Signatures::matchesLegacyCoreFile() | bool |
| Elencare gli indicatori di dominio sospetti integrati | Signatures::getDomainIndicators() | Array di record degli indicatori |
Leggi Scanner prima di integrare l'esecuzione di scansioni. Leggi Report e rilevamenti prima di rendere persistenti i risultati o configurare avvisi.
Scansione automatica minima
use AMWScan\Scanner;
$scanner = new Scanner();
$report = $scanner
->enableLiteMode()
->setSilentMode()
->setAutoSkip()
->run([__DIR__ . '/project']);
if ($report === false) {
throw new RuntimeException($scanner->getLastError() ?: 'Scan failed.');
}
printf("Scanned: %d; findings: %d\n", $report->scanned, $report->detected);
setSilentMode() configura l'operazione non interattiva e seleziona il salto come azione predefinita, a meno che non venga impostato un altro prompt. Da solo non rende la scansione in sola lettura. Mantieni disabilitata la correzione automatica finché non hai esaminato report rappresentativi.
Stabilità dell'API
Scanner e i metodi di ricerca documentati in questa sezione costituiscono la superficie di integrazione supportata. Le classi in Archive, Checkpoint, Console, Findings, Integrity, Modules, Remote e Reputation supportano i componenti interni dello scanner. Non associare l'applicazione a esse né a proprietà statiche pubbliche come Scanner::$settings e Signatures::$raw.
Lo scanner conserva configurazione e report in stato statico. Un processo PHP deve eseguire una scansione alla volta. Usa un processo separato per lavori concorrenti, scansioni in coda o isolamento tra tenant. Leggi Sicurezza e stato prima di eseguire l'SDK in un worker o in un processo web a lunga durata.
Mappa dei riferimenti
| Riferimento | Contenuto |
|---|---|
| Scanner | Costruttore, ciclo di vita, opzioni, filtri, output e controlli di correzione |
| Report e rilevamenti | Schema del report, copertura, rilevamenti, diagnostica e gestione degli errori |
| Ricerca firme | Contratti di ricerca di hash e domini |
| Sicurezza e stato | Durata dello stato, azioni distruttive, comportamento di rete e linee guida per la distribuzione |