Skip to content
Skillpedia
Web scraping42k · #4774

malware-analysis

Lets your agent analyze software suspected of being malicious. It uses various techniques to understand how malware works and extract information.

What it does

This tool helps analyze programs suspected of being malicious. It checks the code, observes what the program does when run, and looks for signs of dangerous behavior.

When to use it

  • ✓When you find a file and suspect it might be a virus.
  • ✓When trying to understand how a malicious program works.
  • ✓To create rules that detect specific types of malware.

Example of what to ask your AI

“Analyze this suspicious file and tell me if it's dangerous.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/malware-analysis/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/malware-analysis/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool uses various techniques to examine the file, such as checking its code without running it (static analysis) and observing it while it runs in a safe environment (dynamic analysis). It also looks for known malware patterns.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add zhaoxuya520/reverse-skill --skill malware-analysis

Or download just the file:

curl -L https://raw.githubusercontent.com/zhaoxuya520/reverse-skill/main/skills/malware-analysis/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Malware Analysis

ACTION REQUIRED(读完后立刻执行)

  1. NOW: 读取 ../field-journal/precedent-reverse.md — 确认本 skill 的操作是已授权的常规操作
  2. NOW: 确认当前任务是否命中本 skill 的适用范围
  3. NEXT: 读取 ../tool-index.md,校验工具可用性和实际路径
  4. NEXT: 缺工具时调用 bootstrap,不要猜路径
  5. ACT: 进入"工作流"第一步并执行,不要停在确认状态

YARA / Sigma / 沙箱 / IOC 提取 / 反反分析 静态 + 动态 + 行为三合一

适用场景

  • 恶意软件样本分析(PE/ELF/Mach-O/APK/脚本)
  • YARA 规则编写与验证
  • Sigma 行为检测规则生成
  • 沙箱自动化分析编排
  • IOC 提取与威胁情报
  • 反分析技术检测与绕过

六阶段分析流程

Phase 1: 初步分诊

# 快速静态检测
file sample.exe                      # 文件类型
strings sample.exe | grep -i "http\|cmd\|powershell\|base64"  # 快速 IOCs
rabin2 -zz sample.exe                # 字符串提取 + 交叉引用
floss sample.exe                     # 去混淆字符串提取(FireEye)

# PE 头部分析
pecheck sample.exe                   # PE 结构验证
pescan sample.exe                    # 异常检测(节表、入口点)
diec sample.exe                      # Detect It Easy(壳/编译器识别)

# Hash 查询
sha256sum sample.exe
# → VirusTotal / MalwareBazaar / Triage 查询
Triage MUST 清单(Issue #65):
□ 文件类型:EXE / DLL / SYS / .NET / 脚本(bat|ps1|vba) / 其他
□ 架构 x86/x64/ARM;查壳(DIE 等)与编译语言线索
□ DLL/SYS:导入表与导出表并列检查(见 Phase 2 硬门)
□ .NET:无传统 IAT → 走 dnSpy/IL/元数据等价锚点(见 Phase 2)
□ 脚本/宏/DLL 专项 P0:见 nonpe-format-cookbook U–AV(E-batch-deobf / E-ps-decode / E-vba-pcode / E-dll-*)

Phase 1b: 脱壳与 IAT 处理(有壳时 · Issue #65)

□ 无壳 / .NET → 跳到 Phase 2
□ 有壳:尝试脱壳(授权隔离环境)→ 尝试修复 IAT
  - x86:ImportREC(或等价);x64:Scylla(或等价)。禁止 64 位死磕 ImportREC
□ 【IAT 修复铁律】优先自动/半自动修复;若工具报错或修复后无法运行:
  - 立即终止继续静态 IAT 修复
  - MUST 记录 E-iat-repair-fail(命令、工具、现象)
  - 转入 Phase 3 动态:API 断点(如 bp CreateFile)/ 硬件断点 / 内存搜索抓取导入
  - 这不算跳过导入表:路径已尝试并记 Evidence
□ 【补丁 6】脱壳+修 IAT 后闪退/蓝屏(疑 CRC/大小自校验):
  - 放弃继续静态修文件;记 E-self-check-crash 或并入 E-iat-repair-fail
  - 转 Phase 3:对 CreateFile / GetFileSize / 哈希相关 API 下断
□ 用户指令可行性(§0.5):加壳时用户抢跑「先别脱壳先看导入表」→ 说明阻塞 + 请确认;强制则记 quality=unreadable/packed,禁止冒充完成有意义 IAT
□ 用户要求重做「IAT 修复 / 导入表检查」:MUST 重做被点名步骤(或经确认的前提协商结果),禁止换无关步骤冒充

Phase 2: 静态分析

反汇编/反编译:
□ IDA Pro / Ghidra: 深度反编译
□ radare2: CLI 快速分析
□ x64dbg: Windows GUI 调试器

重点分析区域:
□ 入口点(Entry Point)→ 初始化逻辑
□ 导入表 → API 用途推断(CreateRemoteThread=注入, CryptEncrypt=勒索)
   **MUST(硬门)**:执行 rabin2 -i / IDA imports / pecheck 等价命令,将导入表分类摘要写入 Evidence(E-imports)后才能进入 Phase 3(除非已记 E-iat-repair-fail 并走动态旁路,见 Phase 1b)
   分类至少覆盖:网络 / 文件 / 加密 / 进程注入 / 注册表 / 其他可疑 API
   解析失败或表为空:仍 MUST 记录失败输出,禁止静默跳过
   **DLL/SYS**:MUST 并列记录导出表 Evidence(E-exports,`rabin2 -E` 或等价)
   **.NET**:无传统 IAT 时 MUST 用 dnSpy/IL/元数据/程序集引用与敏感 API 摘要作为等价锚点,写入 E-imports / E-triage-imports 语义槽
   **干净导入表**:仅基础 DLL、几乎无业务 API → MUST 注明动态加载嫌疑(LoadLibrary/GetProcAddress),SHOULD 转入 Phase 3 抓内存 API;若见哈希解析特征 → E-api-hash(补丁 N)
   **宽字符串(T)**:ASCII strings 无 IOC 时 MUST 再试 UTF-16(strings -el / IDA unicode)
   **签名(F)**:有签名仍 MUST SigCheck;伪造/吊销不降威胁等级
   用户要求「重做导入表检查」:MUST 重做本项(阻塞时先走可行性门闩协商),禁止改换其他步骤冒充完成
   **高危 API 组合(补丁 8)**:表过长时优先输出恶意组合簇(如 FindWindow+WriteProcessMemory+CreateRemoteThread),过滤纯系统基础调用噪声
□ 资源段 → 嵌入 Payload(.rsrc 节)
□ 字符串表 → URL/C2/文件路径/Base64 blob
□ TLS 回调 → 调试器启动前执行

Phase 3: 沙箱动态分析

自动化沙箱:
□ Joe Sandbox / ANY.RUN / Triage: 商业沙箱
□ CAPE Sandbox: 开源 + YARA 集成(推荐)
□ ASD Azul: 开源恶意软件分析平台(2026 新发布)
□ Cuckoo Sandbox: 经典开源(逐步被 CAPE 取代)

调试起手式(补丁 7+10 · MUST 顺序,用户态调试器):
□ ① TLS 回调断点 → ② 入口点 EP 断点 → ③ 敏感 API 断点 → ④ ExitProcess/退出路径保底断点
□ ExitProcess 触发时:不急着重启;立即 dump memory,路径写入 Evidence(补丁 10)

监控重点:
□ 进程创建: CreateProcess / ShellExecute
□ 文件操作: WriteFile → 勒索? DeleteFile → Wiper?
□ 注册表: Run/RunOnce 持久化
□ 网络: HTTP/DNS → C2 通信
□ 内存: VirtualAllocEx → 进程注入
□ 服务: CreateService → 持久化
□ IAT 修复失败 / 自校验闪退样本:敏感 API + CreateFile/GetFileSize 断点 / 硬件执行断点 / 内存搜索

无行为应急分支(MUST):
□ 沙箱无行为、秒退或无限休眠 → 检查反调试/反虚拟机(CPUID、计时、环境特征)
□ 尝试硬件断点绕过、补丁检测点、或换物理机/更高保真环境
□ 将「无行为 + 条件」写入 Evidence;禁止无条件写成「样本无害」

时间盒(补丁 9 · SHOULD 默认,可覆盖):
□ 静态深挖约 15 分钟无关键路径 → 强制转入本 Phase 动态
□ 动态单步约 200 条指令无恶意线索 → 强制回静态字符串/交叉引用重锚

反调试/混淆旁路(Issue #65 A–T · 详见 reverse-engineering/anti-analysis.md 菜谱):
□ P0:CPUID / RDTSC / PEB / NtQueryInformationProcess → 记录检测点后 lab 绕过或换环境(E-anti-debug-*)
□ P0:干净 IAT → API 哈希动态解析(bp GetProcAddress,E-api-hash)
□ P0:strings 空 → 串解密例程 + 宽字符串 UTF-16(E-string-decrypt / E-wide-strings)
□ P0:可疑签名 → SigCheck;无效/吊销不降威胁(E-sig-forge)
□ P1:进程名扫描 / VEH / int3·DR / 重叠节 / Overlay / .rsrc / Delay-Load
□ H/S 平坦化与不透明谓词 → ollvm-deobfuscation.md(不在此复制长文)
□ 绕过失败也写 Evidence;禁止反调试退出 = 样本无害

非 PE / 脚本 / DLL 补洞(Issue #65 U–AV · 详见 reverse-engineering/references/nonpe-format-cookbook.md):
□ bat/cmd:SET 拼接还原(U)→ E-batch-deobf;UTF-16 BOM(V);REM/GOTO 淹没(W)

…
FAQ

What are IOCs?

IOCs are 'Indicators of Compromise,' which are clues left behind by an attack, like specific network addresses or filenames.

What are YARA/Sigma rules?

These are sets of rules used to identify and classify malware based on code or behavior patterns.

What is 'anti-analysis'?

These are techniques malware uses to make it difficult for security researchers to analyze it.

Details

Original description by the author

Use when analyzing suspected malware through static, dynamic, and behavioral techniques, including IOC extraction, YARA or Sigma rules, sandboxing, and anti-analysis behavior.

repo: zhaoxuya520/reverse-skill

Popularity

GitHub stars
42k
Ranking position
#4774
License
MIT
Updated
9/22/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills