API de consulta de firmas
AMWScan\Signatures proporciona consultas de solo lectura sobre índices de firmas integrados. Úselo para enriquecimiento o triaje. Use Scanner cuando necesite recorrer el sistema de archivos, buscar patrones, generar informes o corregir.
use AMWScan\Signatures;
$match = Signatures::findKnownMalwareHash('sha256', $sha256);
if ($match !== null) {
printf("%s: %s\n", $match['severity'], $match['description']);
}
SHA-256 de malware conocido
| Método | Entrada | Devolución |
|---|---|---|
findKnownMalwareHash(string $algorithm, string $hash) | El algoritmo sha256 y un hash SHA-256 hexadecimal de 64 caracteres | Registro de coincidencia o null |
getKnownMalwareSha256() | Ninguna | Matriz de hashes SHA-256 integrados |
getKnownMalwareIndexSha256() | Ninguna | Suma de comprobación SHA-256 del índice de origen integrado |
getKnownMalwareMd5PrefixCount() | Ninguna | Número de registros de prefijos MD5 de ancho fijo |
matchesKnownMalwareMd5(string $md5) | Un MD5 hexadecimal de 32 caracteres | true cuando su prefijo de ocho caracteres aparece en el índice |
findKnownMalwareHash() valida ambos argumentos. Devuelve null para un algoritmo no compatible, un hash malformado o ninguna coincidencia exacta. Un registro de coincidencia positivo tiene las claves id, algorithm, hash, severity y description.
Una coincidencia de prefijo MD5 es una señal candidata, no una coincidencia exacta de archivo completo. Manténgala separada de las coincidencias SHA-256 exactas en las alertas y revise el archivo antes de corregirlo.
Normalización del núcleo heredado
| Método | Entrada | Devolución |
|---|---|---|
normalizedFileSha256(string $path) | Archivo regular existente que no es un enlace simbólico | Cadena SHA-256 normalizada o null |
matchesLegacyCoreSha256(string $sha256) | Un SHA-256 hexadecimal de 64 caracteres | bool |
matchesLegacyCoreFile(string $path) | Archivo regular existente que no es un enlace simbólico | bool |
getLegacyCoreSha256Count() | Ninguna | Número de registros de núcleo heredado |
getLegacyCoreIndexSha256() | Ninguna | Suma de comprobación SHA-256 del índice de origen del núcleo heredado |
normalizedFileSha256() elimina espacios, tabulaciones, retornos de carro y saltos de línea durante el cálculo del hash. Esto admite la coincidencia del núcleo heredado; no produce el mismo valor que hash_file('sha256', $path) para archivos fuente con formato.
Indicadores de dominio
getDomainIndicators() devuelve registros con id, domain, classification y severity. Los registros integrados usan classification: suspicious y severity: warn.
foreach (Signatures::getDomainIndicators() as $indicator) {
if ($indicator['domain'] === $domain) {
// Record a warning-level enrichment signal.
}
}
Un indicador de dominio sospechoso necesita contexto. Los dominios pueden reasignarse, corregirse o referenciarse en contenido archivado. No bloquee tráfico ni modifique archivos solo a partir de esta señal.
Datos de definición internos
Signatures::$raw, Signatures::$regex, Signatures::$domains, getAll() y optimizeSignatures() impulsan la detección del escáner. No son un contrato de extensión. En particular, optimizeSignatures() modifica su argumento pasado por referencia. Evite modificar las matrices de definiciones en un proceso de aplicación; use en su lugar la configuración del escáner y la revisión de informes.