返回顶部
y

yara-authoringYARA规则编写

Write high-quality YARA-X detection rules for malware hunting. Covers atom selection, string optimization, false positive reduction, module usage (PE, ELF, Macho), and Trail of Bits methodology. Includes rule templates and testing workflows.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.2
安全检测
已通过
170
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

yara-authoring

YARA-X 规则编写

编写能够捕获恶意软件且不会淹没在误报中的检测规则。基于 Trail of Bits 方法论。

核心原则

  1. 1. 字符串必须生成良好的原子 — YARA 提取 4 字节子序列用于快速匹配。包含重复字节、常见序列或长度不足 4 字节的字符串会强制进行缓慢的字节码扫描。
  2. 针对特定家族,而非类别 — 检测勒索软件毫无用处。检测 LockBit 3.0 配置提取例程才有价值。
  3. 针对良性软件进行测试 — 在部署前使用干净文件集进行验证。
  4. 先用低成本检查进行短路 — 在昂贵的字符串搜索之前先检查 filesize < 10MB and uint16(0) == 0x5A4D。
  5. 元数据即文档 — 未来的你需要知道这条规则捕获什么以及为什么。

YARA-X 基础

YARA-X 是传统 YARA 的 Rust 继任者:速度快 5-10 倍,错误信息更友好,内置格式化工具,验证更严格,新增模块(crx、dex)。

安装: brew install yara-x / cargo install yara-x
命令: yr scan、yr check、yr fmt、yr dump

规则模板

yara
import pe

rule FamilyNameVariantTechnique : tag1 tag2 {
meta:
author = Your Name
date = 2026-02-14
description = 检测[恶意软件家族]中的[特定行为]
reference = https://...
tlp = TLP:WHITE
hash =
score = 75 // 0-100 置信度

strings:
// 样本中的唯一字符串
$api1 = VirtualAllocEx ascii
$api2 = WriteProcessMemory ascii
$str1 = { 48 8B 05 ?? ?? ?? ?? 48 85 C0 } // 带通配符的十六进制
$pdb = /[A-Z]:\\.\\Release\\.\.pdb/ nocase

condition:
uint16(0) == 0x5A4D and
filesize < 5MB and
(2 of ($api*) and $str1) or
$pdb
}

命名规范

FamilyVariantTechnique — 示例:

  • - EmotetLoaderDocumentMacro
  • CobaltStrikeBeaconx64
  • GenericCryptominerXMRig

字符串选择

良好字符串(唯一、特定):

  • - 互斥体名称、PDB 路径、C2 URL
  • 反汇编中的唯一字节序列
  • 自定义加密常量
  • 不常见的 API 调用序列

不良字符串(过于常见、高误报率):

  • - http://、https://、单独的常见 API 名称
  • 单个常见单词、短字符串(<4 字节)
  • Windows 系统文件中存在的字符串

条件模式

yara
// 按性能排序(廉价 → 昂贵)
condition:
uint16(0) == 0x5A4D and // 魔数(即时)
filesize < 10MB and // 大小过滤(即时)
2 of ($unique*) and // 字符串匹配(快速)
pe.imports(kernel32.dll) // 模块检查(较慢)

常见魔数:

平台检查
PE(Windows)uint16(0) == 0x5A4D
ELF(Linux)
uint32(0) == 0x464C457F |
| Mach-O 64 位 | uint32(0) == 0xFEEDFACF |
| PDF | uint32(0) == 0x25504446 |
| Office/ZIP | uint32(0) == 0x504B0304 |

性能规则

  1. 1. 将 filesize 和魔数检查放在条件的最前面
  2. 永远不要使用无界正则表达式如 /.*/
  3. 避免对大型文件使用带复杂条件的 for all
  4. 使用 ascii 或 wide,除非必要否则不要同时使用
  5. 十六进制字符串:特定字节 > 通配符 > 正则表达式
  6. 使用 at 定位固定偏移,而非扫描整个文件

测试

bash

验证语法


yr check rules/

扫描样本

yr scan rules/myrule.yar suspiciousfile.exe

扫描目录

yr scan rules/ samples/ --threads 4

统一格式化规则

yr fmt rules/my_rule.yar

误报减少

  • - 添加 filesize 约束(恶意软件有典型的大小范围)
  • 要求多个字符串匹配(2 of ($str*) 而非 any of)
  • 通过 not 条件排除已知的良好路径/发布者
  • 基于评分的方法:在元数据中分配置信度分数,按阈值分类
  • 部署前针对良性软件库进行测试

参考

完整方法论、模块文档(pe、elf、crx、dex)以及从传统 YARA 迁移的指南:
https://github.com/trailofbits/skills/tree/main/plugins/yara-authoring

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 yara-authoring-1776079320 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 yara-authoring-1776079320 技能

通过命令行安装

skillhub install yara-authoring-1776079320

下载

⬇ 下载 yara-authoring v1.0.2(免费)

文件大小: 2.77 KB | 发布时间: 2026-4-17 16:38

v1.0.2 最新 2026-4-17 16:38
Scrubbed personal info from example rule author field

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部