Saltar al contenido principal
Versión: v0.20

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étodoEntradaDevolución
findKnownMalwareHash(string $algorithm, string $hash)El algoritmo sha256 y un hash SHA-256 hexadecimal de 64 caracteresRegistro de coincidencia o null
getKnownMalwareSha256()NingunaMatriz de hashes SHA-256 integrados
getKnownMalwareIndexSha256()NingunaSuma de comprobación SHA-256 del índice de origen integrado
getKnownMalwareMd5PrefixCount()NingunaNúmero de registros de prefijos MD5 de ancho fijo
matchesKnownMalwareMd5(string $md5)Un MD5 hexadecimal de 32 caracterestrue 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étodoEntradaDevolución
normalizedFileSha256(string $path)Archivo regular existente que no es un enlace simbólicoCadena SHA-256 normalizada o null
matchesLegacyCoreSha256(string $sha256)Un SHA-256 hexadecimal de 64 caracteresbool
matchesLegacyCoreFile(string $path)Archivo regular existente que no es un enlace simbólicobool
getLegacyCoreSha256Count()NingunaNúmero de registros de núcleo heredado
getLegacyCoreIndexSha256()NingunaSuma 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.