Files
MeshSate/config/policy.yaml

512 lines
18 KiB
YAML
Raw Permalink Normal View History

# ============================================================
# MeshSafe 全局检测策略
# 说明:所有裁决逻辑集中在此文件,调整策略无需改动代码。
# 修改后调用 POST /api/v1/policies/reload 或重启服务生效。
# ============================================================
version: "2026.10.2"
description: "MeshSafe 默认全局策略(麒麟桌面/UOS x86 + WPS 目标终端)"
# ---------- 全局阈值 ----------
global:
# 风险分 ≥ 该值直接拒绝
block_score: 70
# 风险分落在该区间转人工复核
review_score: [30, 70]
# 引擎不可用时的降级策略:fail_closed(拒绝)/ fail_open(放行)
# 生产环境应为 fail_closed,满足等保"安全优先"要求
engine_failure_mode: fail_closed
# 单文件大小上限(字节)—— 与 ClamAV MaxFileSize=1G 对齐,留余量给其他 5 引擎
max_file_size: 1610612736 # 1.5 GB
# 同步模式的最大文件大小,超过转异步
sync_max_size: 536870912 # 512 MB(超过转异步扫描,避免请求超时)
# 是否允许加密压缩包
allow_encrypted_archive: false
# 是否允许加密文档(Office 加密)
allow_encrypted_document: false
# ================================================================
# 零容忍规则集(独立于评分模型,优先级最高)
# 命中即 reject,不走评分累加。与 §7.2 步骤 0 对应。
# ================================================================
zero_tolerance_rules:
# ---- 跨平台通用载体 ----
- PdfJavaScript # PDF 打开即执行脚本
- PdfLaunchAction # PDF 打开即启动程序
- PdfOpenAction # PDF 打开即执行动作
- PathTraversal # 解包路径穿越
- IsoWithExecutable # ISO 挂载后内部含可执行
- MacroObfuscated # 宏代码混淆/加密(意图不可知)
- AttachedTemplate # Office 外部模板注入
# ---- 宏相关(WPS on Linux 生效)----
- VBAAutoExec # VBA 宏 AutoOpen 自动执行入口
- VBAAutoExecShell # VBA 宏自动执行 + Shell/CreateObject 调用
- MRaptorAutoExec # mraptor 判定为自动执行宏
- MRaptorAutoExecSuspicious # mraptor 判定为可疑自动执行宏
- DDEAutoExecution # DDE/DDEAUTO 自动执行字段
- EmbeddedExecutable # 文档内嵌可执行对象
# ---- Linux 专属载体 ----
- LinuxExecutable # ELF 原生二进制
- DesktopFileAutoExec # .desktop 文件 Exec= 字段含危险命令
- ShellScriptDangerous # Shell/Python/Perl/Ruby 脚本含危险函数
- LinuxPortableExecutable # AppImage/Flatpak/Snap 便携包
- ArchiveContainsLinuxExec # 压缩包内混有 .sh/.deb/.run/.bin
# ---- Windows 专属载体(纵深防御)----
- LnkWithAutoExec # LNK 快捷方式(Linux 不识别,保持检测)
- ChmWithScript # CHM 帮助文件(Linux 默认不自动执行)
# ---- ClamAV 引擎检测 ----
- Eicar-Test-Signature # EICAR 测试病毒(等保要求:检测到即阻断)
# ---- L3 高危关键词(白名单优先,剩余命中即阻断)----
- ReverseShellNetcat # 反弹 Shell (nc/ncat//dev/tcp/bash -i)
- ReverseShellPowershell # PowerShell 反弹 Shell (-enc)
- CredentialStealer # 凭据窃取工具 (mimikatz/sekurlsa/wce/...)
- CredentialExport # 凭据导出命令 (reg save/reg export/...)
# ---------- 文件类型白名单 ----------
# 只允许这些类型通过。空列表表示不限制(不推荐生产使用)。
allowed_extensions:
# --- Office 文档 ---
- .doc
- .docx
- .docm
- .xls
- .xlsx
- .xlsm
- .ppt
- .pptx
- .pptm
- .rtf
- .pdf
- .wps # WPS 文字
- .et # WPS 表格
- .dps # WPS 演示
# --- 文本与图像 ---
- .txt
- .csv
- .json
- .xml
- .yaml
- .yml
- .html
- .htm
- .md # Markdown(飞书/Notion 导出)
- .markdown
- .jpg
- .jpeg
- .png
- .gif
- .bmp
- .tiff
- .svg
- .webp
# --- 音视频 ---
- .mp4
- .mov
- .avi
- .mkv
- .wmv
- .flv
- .webm
- .mp3
- .wav
- .flac
- .m4a
# --- 脑图/设计 ---
- .xmind
- .drawio
- .vsdx
- .bpmn
- .epub
# --- 邮件 ---
- .eml
- .msg
# --- 归档(允许进入后递归扫描)---
- .zip
- .rar
- .7z
- .tar
# --- 业务源码/脚本/数据(业务开发/运维合法上传)---
- .java
- .py
- .js
- .ts
- .go
- .c
- .cpp
- .cs
- .sql
- .sh
- .log # 运维日志
- .ini
- .cfg
- .conf
- .properties
# --- 专业文档/素材 ---
- .odt
- .ods
- .odp
- .ttf # 字体文件
- .otf
- .dwg # CAD 图纸
- .dxf
- .stl
- .fbx
- .step
- .iges
- .gz
- .bz2
- .xz
- .iso
# --- 可执行与脚本(零容忍规则拦截,此处允许进入裁决流程)---
# 两层防御:零容忍(步骤 0)先拦截,扩展名白名单(步骤 3)作为兜底
# 这样策略中临时禁用某个零容忍规则时,文件仍可进入评分裁决
- .exe
- .dll
- .msi
- .scr
- .com
- .elf
- .so
- .desktop
- .appimage
- .deb
- .rpm
- .run
- .bin
- .snap
- .sh
- .bash
- .zsh
- .py
- .pl
- .rb
- .js
- .vbs
- .bat
- .cmd
- .ps1
- .hta
- .lnk
- .chm
# ---------- 需要强制深检的类型 ----------
# 一期无沙箱,此配置预留。命中这些类型自动转异步。
sandbox_required_extensions:
- .exe
- .msi
- .iso
# ---------- 特定规则的处置覆盖 ----------
# 仅针对未进入零容忍集的规则。零容忍规则已在上方处理,此处不再覆盖。
# rule_name: [action, reason_override]
# action 取值:pass / pass_with_flag / manual_review / reject / reject_and_notify
rule_overrides:
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
# 光闸口径:EXE/DLL/脚本一律不自动放行,最低人工复核。
# 用 override 而不是靠 weight=30 恰好等于 review_score 下界来维持——
# 数值巧合意味着把下界调到 >35 或把权重降一点,干净可执行文件就会静默放行。
DangerousExecutableExtension:
action: manual_review
reason: "可执行/脚本类型文件,按光闸口径最低转人工复核"
VBAShellInvocation:
action: manual_review
reason: "宏调用 Shell 但无自动执行入口,需人工复核"
ArchiveContainsExecutable:
action: manual_review
reason: "压缩包内含 Windows 可执行文件,转人工确认(Linux 不识别)"
ArchiveBombSuspect:
action: reject
reason: "压缩比异常,疑似压缩炸弹"
ExtensionMismatch:
action: reject
reason: "声明扩展名与真实类型不一致,疑似伪装"
DoubleExtension:
action: reject
reason: "双扩展名伪装,高风险"
# ---- 邮件相关 ----
EmailAttachmentDangerous:
action: manual_review
reason: "邮件附件为高风险类型,需人工确认是否为钓鱼/恶意附件"
EmailAttachmentDisguised:
action: reject
reason: "邮件附件存在双扩展名伪装,高风险钓鱼特征"
EmailPhishingKeyword:
action: manual_review
reason: "邮件正文/Subject 命中钓鱼特征,需人工确认"
# ---- 加密 ----
OfficeEncrypted:
action: reject
reason: "Office 文档已加密,策略禁止加密文档进入内网"
# ---------- 通知设置 ----------
notification:
# 拒绝时是否返回详细原因给调用方(便于摆渡系统向用户提示)
include_reason: true
# 拒绝原因的最大长度
max_reason_length: 500
# ---------- YARA 规则权重映射 ----------
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
# 档位权重与 rules/*.yar 的 meta.risk_level 一一对应(由 binary.py 读取 meta 得到
# 默认严重度,再用本表覆盖为固定权重,保证规则文件与策略只有一处真相)。
# critical=85(单独命中即 reject)/ high=60 / medium=30 / low=10
# 只有 critical 一档可以独立越过 block_score=70;其余档位需与其他信号叠加。
# 不在本表的规则:沿用 meta.risk_level 推导出的默认权重。
yara_rule_weights:
critical: # weight=85
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C1_PE_ProcessInjection
- C1_PE_RAT_CommandControl
- C3_JSP_Webshell_Deserialization
- C3_JSP_Webshell_RuntimeExec
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C3_PHP_Webshell_Oneliner
- C3_Webshell_Behinder
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C3_Webshell_CommandExecutionEcho
- C3_Webshell_Godzilla
- C7_Linux_ReverseShell_Bash
- C7_Linux_ReverseShell_NC
- C7_Linux_Rootkit_KernelModule
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C8_Ransomware_BlackCat
- C8_Ransomware_Conti
- C8_Ransomware_Encryption
- C8_Ransomware_LockBit
high: # weight=60
- C1_PE_DLLHijacking
- C1_PE_Downloader_Loader
- C1_PE_LOLBin_Usage
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C3_JSP_Webshell_MemoryShell
- C3_PHP_Webshell_Obfuscated
- C3_PHP_Webshell_VariableDeformation
- C3_Webshell_ASP_Classic
- C3_Webshell_ASPNET
- C3_Webshell_AntSword
- C7_Linux_Persistence_AuthorizedKeys
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C7_Linux_Persistence_Crontab
- C7_Linux_Persistence_LD_PRELOAD
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C7_Linux_Persistence_SystemD
- C7_Linux_ReverseShell_Perl
- C7_Linux_ReverseShell_Python
- C7_Linux_ReverseShell_Socat
- C8_Mining_Monero
- C8_Ransomware_Ryuk_Pseudo
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C8_Ransomware_VolumeShadow
medium: # weight=30
- C1_PE_EntropyHighNetwork
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C1_PE_Mutex_Persistence
- C7_Linux_Miner_Generic
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C7_Linux_ReverseShell_Misc
- C7_Misc_Ruby_Lua_ReverseShell
- C7_Network_Tools_Malicious
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C8_Ransomware_Note_Filename
- C9_Packer_Themida_VMP
low: # weight=10
- C8_Ransomware_Extension_Blacklist
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- C9_Packer_UPX
# ---------- 内网特征词表引擎(P1)----------
# 规则为数据驱动:在 policy.yaml 中声明,引擎从 PolicyStore 加载。
# 控制台 P2 可实时修改并热重载。
# 每条规则字段:
# name: 规则名(Finding.rule)
# match: contains | regex | any_of
# pattern: contains/regex 模式的匹配串
# keywords: any_of 模式的关键词列表
# weight: 评分权重(默认 30)
# severity: low | medium | high | critical(默认 medium)
# ignore_case: 正则模式是否忽略大小写
keyword_rules:
# ---- 内网合规特征(辅助判断,不进零容忍)----
- name: ClassifiedLevelMarkers
match: any_of
keywords: ["绝密", "机密", "秘密", "内部文件", "内部资料", "禁止外传"]
weight: 25
severity: low
- name: InternalDocumentPatterns
match: regex
pattern: "(?:国家机密|涉密|密级[::]\\s*[一二三四五])"
ignore_case: true
weight: 30
severity: medium
# ================================================================
# 恶意行为特征词表(覆盖 CSV L3 全部 25 条用例)
# ================================================================
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
# ---- 远程下载即执行(要有完整动作链,裸词不算;README 里的安装命令进复核而非直接拒)----
# cross_line:命令换行/续行是本类特征最常见的绕过(curl \ + 下一行 | sh),
# 拼接后仍要求"下载工具 + 执行动作"同框,散文里的多行文本不会凑出这条链。
- name: RemoteDownloadExec
match: regex
pattern: "(?:\\b(?:curl|wget)\\b[^\\n]{0,120}\\|\\s*(?:ba|z|k|da)?sh\\b|\\b(?:curl|wget)\\b[^\\n]{0,120}(?:&&|;)\\s*(?:chmod\\s+\\+x|\\./)|(?:^|[^\\w$-])(?:iex|invoke-expression)\\b[^\\n]{0,60}(?:\\biwr\\b|invoke\\s*[-_]?\\s*web\\s*[-_]?\\s*request|invoke\\s*[-_]?\\s*rest\\s*[-_]?\\s*method|downloadstring)|\\b(?:iwr|invoke\\s*[-_]?\\s*web\\s*[-_]?\\s*request|invoke\\s*[-_]?\\s*rest\\s*[-_]?\\s*method)\\b[^\\n]{0,120}\\|\\s*(?:iex|invoke-expression)\\b|certutil\\s+[-/]urlcache[^\\n]{0,60}\\.exe\\b|mkfifo[^\\n]{0,60}(?:\\bnc\\s|\\bnetcat\\b))"
ignore_case: true
cross_line: true
weight: 40
severity: critical
# ---- 下载并落地成可执行文件(dropper 行为,比"下载即执行"弱一档但仍高危)----
- name: PayloadDropToDisk
match: regex
pattern: "(?:\\b(?:curl|wget)\\b[^\\n]{0,120}(?:-o|-O|--output)\\s+\\S*\\.(?:exe|dll|ps1|bat|cmd|vbs|jar|msi|so|bin)\\b|\\b(?:i\\s*[-_]?\\s*wr|invoke\\s*[-_]?\\s*web\\s*[-_]?\\s*request|invoke\\s*[-_]?\\s*rest\\s*[-_]?\\s*method)\\b[^\\n]{0,120}-o(?:utfile)?\\s+\\S*\\.(?:exe|dll|ps1|bat|cmd|vbs)\\b|\\b(?:new-object|activexobject)\\s+system\\.net\\.webclient[^\\n]{0,80}downloadfile)"
ignore_case: true
cross_line: true
weight: 45
severity: critical
# ---- 外部下载动作(cmdlet/API + 无执行链):计分进复核,不再零容忍 ----
# cmdlet 名(Invoke-WebRequest/Invoke-RestMethod/BitsAdmin)是 PowerShell 专有写法,
# 单独出现即进复核。.NET/Win32 的方法名(DownloadString/DownloadFile)不一样——
# 它们存在于所有托管程序的标识符表里,裸匹配实测把 nvidiaInspector.exe 的
# `add_DownloadFileCompleted`、`DownloadFileAsync` 各算一次命中,白送 30 分,
# 把 45 分的人工复核顶成 75 分拒绝。所以方法名必须与 URL/IP 同框才算下载。
- name: RemoteDownloadPowerShell
match: regex
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
pattern: "(?:\\b(?:Invoke-WebRequest|Invoke-RestMethod|Start-BitsTransfer|BitsAdmin)\\b|\\bDownload(?:String|File)\\b[^\\n]{0,40}(?:https?://|\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})|(?:https?://|\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})[^\\n]{0,40}\\bDownload(?:String|File)\\b)"
ignore_case: true
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
weight: 30
severity: medium
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
# ---- 下载工具 + 明确地址:只认"工具与 URL/IP 同框",裸 -o 参数不算 ----
# 旧写法里的 `curl|wget -O/-o 任意值` 会命中任何写成两段的安装文档,去掉。
- name: RemoteDownloadUnix
match: regex
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
pattern: "(?:\\b(?:curl|wget|certutil)\\b[^\\n]{0,80}(?:https?://|\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}))"
ignore_case: true
weight: 30
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
severity: medium
# ---- 反弹 Shell ----
- name: ReverseShellNetcat
match: regex
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
# 只认「执行原语」形态:nc/ncat/netcat 带 -e/-c(把 shell 交给连接),
# 或 /dev/tcp、bash -i >& 这类内核级反连。裸 nc / nc -l / nc -z 是运维常用,
# 出现在速查文档和二进制字符串表里必然误报,不计分。
pattern: "(\\b(?:nc|ncat|netcat)\\s+(?:[^\\n]{0,60}\\s)?-[ec]\\w*\\s*(?:/bin/|/usr/|cmd\\.exe\\b|\\S*sh\\b)|/dev/tcp/|bash\\s+-i\\s+>&|sh\\s+-i\\s+>&)"
ignore_case: true
weight: 40
severity: critical
- name: ReverseShellPowershell
match: regex
pattern: "(powershell\\s+-enc|powershell\\s+-w\\s+hidden\\s+-enc|powershell\\s+-ExecutionPolicy\\s+Bypass\\s+-enc)"
ignore_case: true
weight: 35
severity: critical
# ---- 凭据窃取工具 ----
- name: CredentialStealer
match: regex
# 全部加 \b 词边界, wce 要求后跟 .exe / 空格 / / (二进制随机字节里的 WCE 不会触发)
pattern: "(\\bmimikatz\\b|\\bsekurlsa\\b|\\bwce(\\.exe\\b|\\s|\\/)|\\bgsecdump\\b|\\bfgdump\\b|\\blsadump\\b|\\bdcsync\\b|\\bdcsyncer\\b|\\brubeus\\b)"
ignore_case: true
weight: 45
severity: critical
# ---- 凭据导出命令 ----
- name: CredentialExport
match: regex
pattern: "(reg\\s+save\\s+HKLM\\\\SYSTEM|reg\\s+save\\s+HKLM\\\\SAM|reg\\s+export\\s+SAM|reg\\s+export\\s+SYSTEM|hxdump|secretsdump)"
ignore_case: true
weight: 45
severity: critical
# ---- 远程会话劫持 ----
- name: RemoteSessionHijack
match: regex
pattern: "(\\btscon\\b|\\brdpclip\\b|\\brdp_shadow\\b|\\bshadow\\s+[0-9]+\\b|CreateRemoteThread)"
ignore_case: true
weight: 35
severity: high
# ---- 命令执行混淆 ----
- name: CommandExecutionObfuscated
match: regex
pattern: "(cmd\\s+/c|cmd\\s+/d|certutil\\s+-decode|certutil\\s+-urlcache|\\bmshta\\b|\\bregsvr32\\s+\\/s)"
ignore_case: true
weight: 25
severity: medium
# ---- WMI/LDAP 攻击 ----
- name: WMILdapAttack
match: regex
pattern: "(wmic\\s+path|wmic\\s+process\\s+call\\s+create|ldapsearch\\s+-x|ldapwhoami)"
ignore_case: true
weight: 30
severity: high
# ---------- 白名单(规则命中后二次放宽) ----------
# 优先级:白名单 > 关键词规则 > YARA 规则 > 评分累加
# 命中白名单的规则会从 findings 中过滤,不再进入裁决
keyword_whitelist:
# ---- 内网合法运维地址/域名(白名单放行 curl/wget 下载)----
- rule: RemoteDownloadUnix # curl/wget 下载特征
allowed_keywords:
- "192.168."
- "10."
- "172.16."
- "172.17."
- "172.18."
- "172.19."
- "172.2"
- "172.3"
- ".senmesh.com"
- "repo.internal"
- "mirror.internal"
fix: 裁决口径重构 — rule_overrides 改处置地板,YARA 权重分档与阈值解耦 三件事,都围绕"分数只反映证据,不放行由地板保证": - rule_overrides 的 manual_review 旧实现是 score=max(score,65) 并跳过该规则自身权重: 注进去的 65 不是证据,再叠任意 ≥5 分噪声就越过 block_score=70 变拒绝,同时显示分数 与真实证据脱钩。改为步骤 9「复核地板」:权重照常累加,裁决后处置低于复核才抬到 manual_review,已判 reject 不降回。3661 条历史扫描重放 0 收紧 0 放行;把 review_score 下界抬到 36/40/50 或把 DEE 权重降到 10,无地板时干净 exe 静默放行,有地板恒为人工复核。 - DangerousExecutableExtension 进 rule_overrides(manual_review),落实光闸口径「EXE/DLL/ 脚本不自动放行」,不再依赖 weight=30 恰好等于 review_score 下界这种数值巧合。 - YARA 权重分档 85/65/45/25 → 85/60/30/10,只有 critical 一档能独立越过 70; 档位与 rules/*.yar 的 meta.risk_level 一一对应,控制台注释与 policy.html 同步。 - 词表:RemoteDownloadUnix/PowerShell 移出零容忍、改判"工具与 URL/IP 同框", 新增 RemoteDownloadExec(40)/PayloadDropToDisk(45) 带内网源站白名单。裸 cmdlet 名会把 nvidiaInspector.exe 的 add_DownloadFileCompleted 白送 30 分,把 45 分复核顶成 75 分拒绝。 - 风险等级文案:裁决已是 malicious/error 时仍输出"打开风险低"是自相矛盾的对外文案, 强制收敛到 critical。 - 靶场 L5-005 expected_verdict reject→review:旧 85 分靠载体45+时间戳20+未签名10+架构10 堆叠,属权重堆叠误报;真实注入器由 C1_PE_ProcessInjection(85) 拦截。
2026-11-02 20:27:30 +08:00
- rule: RemoteDownloadExec # 下载即执行:内网源站安装脚本按白名单放行
allowed_keywords:
- "192.168."
- "10."
- "172.16."
- "172.17."
- "172.18."
- "172.19."
- "172.2"
- "172.3"
- ".senmesh.com"
- "repo.internal"
- "mirror.internal"
- rule: PayloadDropToDisk # 下载落地可执行文件:内网源站安装包放行
allowed_keywords:
- "192.168."
- "10."
- "172.16."
- "172.17."
- "172.18."
- "172.19."
- "172.2"
- "172.3"
- ".senmesh.com"
- "repo.internal"
- "mirror.internal"
- rule: RemoteDownloadPowerShell # Invoke-WebRequest/BitsAdmin
allowed_keywords:
- "192.168."
- "10."
- ".senmesh.com"
yara_hash_whitelist:
# YARA 命中后,文件 MD5 在此列表 → 跳过告警
# 典型场景:已知安全的开源工具被 YARA 误匹配
- md5: "00000000000000000000000000000000"
note: "示例:占位,生产按需补充"
# ---------- 审计 ----------
audit:
# 记录扫描结果明细到审计日志
log_findings: true
# 是否记录提取到的子文件路径
log_extracted_paths: true