Descripción general del SDK PHP
Use el SDK PHP cuando su aplicación necesite iniciar un análisis, consumir su informe estructurado o consultar los índices de firmas integrados. La API compatible se compone de AMWScan\Scanner y los métodos de consulta de solo lectura de AMWScan\Signatures.
Instalar y cargar
Instale el paquete con Composer y cargue el autocargador de Composer antes de utilizar el SDK:
composer require marcocesarato/amwscan
require __DIR__ . '/vendor/autoload.php';
use AMWScan\Scanner;
El paquete requiere PHP 7.4 o posterior con las extensiones fileinfo, json, mbstring y zlib. Consulte Requisitos para conocer los entornos compatibles.
Elegir un punto de entrada
| Necesidad | API | Resultado |
|---|---|---|
| Analizar archivos o un proyecto | Scanner::run() | Informe de análisis stdClass o false ante un error de análisis capturado |
| Leer el resultado de un análisis tras completarse | Scanner::getReport() | Informe de análisis stdClass actual |
| Comprobar un hash SHA-256 de malware exacto | Signatures::findKnownMalwareHash() | Registro de coincidencia o null |
| Comprobar un hash de archivo normalizado heredado | Signatures::matchesLegacyCoreFile() | bool |
| Enumerar los indicadores integrados de dominios sospechosos | Signatures::getDomainIndicators() | Matriz de registros de indicadores |
Lea Analizar con Scanner antes de integrar la ejecución del análisis. Lea Informes y hallazgos antes de conservar o alertar sobre los resultados.
Análisis mínimo sin supervisión
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 la operación no interactiva y selecciona omitir como acción predeterminada, salvo que establezca otra respuesta. Por sí solo no convierte un análisis en uno de solo lectura. Mantenga deshabilitada la corrección automatizada hasta haber revisado informes representativos.
Estabilidad de la API
Scanner y los métodos de consulta documentados en esta sección constituyen la interfaz de integración compatible. Las clases de Archive, Checkpoint, Console, Findings, Integrity, Modules, Remote y Reputation sirven a los componentes internos del escáner. No acople una aplicación a ellas ni a propiedades estáticas públicas como Scanner::$settings y Signatures::$raw.
El escáner mantiene la configuración y los informes en estado estático. Un proceso de PHP debe ejecutar un análisis a la vez. Use un proceso independiente para trabajos simultáneos, análisis en cola o aislamiento entre inquilinos. Lea Seguridad y estado antes de ejecutar el SDK en un trabajador o proceso web de larga duración.
Mapa de referencia
| Referencia | Contenido |
|---|---|
| Analizar con Scanner | Constructor, ciclo de vida, opciones, filtros, salida y controles de corrección |
| Informes y hallazgos | Esquema de informe, cobertura, hallazgos, diagnósticos y gestión de errores |
| Consulta de firmas | Contratos de consulta de hashes y dominios |
| Seguridad y estado | Duración del estado, acciones destructivas, comportamiento de red y guía de implementación |