跳到主要内容
版本:最新版本

签名查找 API

AMWScan\Signatures 提供嵌入签名索引上的只读查找。请将其用于扩充或初步分类。当需要文件系统遍历、模式匹配、报告或修复时,请使用 Scanner

use AMWScan\Signatures;

$match = Signatures::findKnownMalwareHash('sha256', $sha256);

if ($match !== null) {
printf("%s: %s\n", $match['severity'], $match['description']);
}

已知恶意软件 SHA-256

方法输入返回
findKnownMalwareHash(string $algorithm, string $hash)算法 sha256 和 64 个字符的十六进制 SHA-256 哈希匹配记录或 null
getKnownMalwareSha256()嵌入的 SHA-256 哈希数组
getKnownMalwareIndexSha256()嵌入源索引的 SHA-256 校验和
getKnownMalwareMd5PrefixCount()固定宽度 MD5 前缀记录数
matchesKnownMalwareMd5(string $md5)32 个字符的十六进制 MD5其八字符前缀出现在索引中时为 true

findKnownMalwareHash() 验证两个参数。对于不受支持的算法、格式错误的哈希或不存在精确匹配时,它返回 null。正向匹配记录具有 idalgorithmhashseveritydescription 键。

MD5 前缀匹配是候选信号,而不是完整文件的精确匹配。请在告警中将其与精确 SHA-256 匹配分开,并在修复前审查文件。

旧版核心规范化

方法输入返回
normalizedFileSha256(string $path)非符号链接的现有常规文件规范化 SHA-256 字符串或 null
matchesLegacyCoreSha256(string $sha256)64 个字符的十六进制 SHA-256bool
matchesLegacyCoreFile(string $path)非符号链接的现有常规文件bool
getLegacyCoreSha256Count()旧版核心记录数
getLegacyCoreIndexSha256()旧版核心源索引的 SHA-256 校验和

normalizedFileSha256() 在哈希时移除空格、制表符、回车符和换行符。这支持旧版核心匹配;对于格式化的源文件,它不会产生与 hash_file('sha256', $path) 相同的值。

域名指示器

getDomainIndicators() 返回包含 iddomainclassificationseverity 的记录。内置记录使用 classification: suspiciousseverity: warn

foreach (Signatures::getDomainIndicators() as $indicator) {
if ($indicator['domain'] === $domain) {
// Record a warning-level enrichment signal.
}
}

可疑域名指示器需要上下文。域名可能被重新分配、修复,或在归档内容中被引用。不要仅基于此信号阻断流量或更改文件。

内部定义数据

Signatures::$rawSignatures::$regexSignatures::$domainsgetAll()optimizeSignatures() 用于扫描器检测。它们不是扩展约定。特别是,optimizeSignatures() 会修改其按引用传递的参数。请避免在应用程序进程中修改定义数组;请改用扫描器配置和报告审查。