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) 拦截。
This commit is contained in:
@@ -174,7 +174,7 @@ def _annotate_yaml(raw: str) -> str:
|
||||
# ---- rule_overrides ----
|
||||
"rule_overrides": '特定规则的处置覆盖。action: pass | manual_review | reject',
|
||||
# ---- yara ----
|
||||
"yara_rule_weights": 'YARA 规则按严重度分档赋权重(critical=85 high=65 medium=45 low=25)',
|
||||
"yara_rule_weights": 'YARA 规则按严重度分档赋权重(critical=85 high=60 medium=30 low=10)',
|
||||
# ---- keyword ----
|
||||
"keyword_rules": '词表引擎规则。match: contains | regex | any_of',
|
||||
# ---- notification ----
|
||||
@@ -215,9 +215,9 @@ def _annotate_yaml(raw: str) -> str:
|
||||
# YARA 权重分档 → 中文
|
||||
_WEIGHT_TIER_HINTS = {
|
||||
"critical": "weight=85(严重)",
|
||||
"high": "weight=65(高危)",
|
||||
"medium": "weight=45(中等)",
|
||||
"low": "weight=25(低危)",
|
||||
"high": "weight=60(高危)",
|
||||
"medium": "weight=30(中等)",
|
||||
"low": "weight=10(低危)",
|
||||
}
|
||||
|
||||
lines = raw.split("\n")
|
||||
|
||||
Reference in New Issue
Block a user