fix: 对账 P0-P2 一轮全消 (CSV想拦35→0, CSV想放5→0)

引擎修复:
- policy.yaml allowed_extensions 补 .java/.log/.ttf/.dwg/.odt 等 20+ 类型 (白名单 gate 被拒根因)
- structure.py SuspiciousImports weight 45→25 (单一 API 不再直接 100 分 malicious)
- structure.py 新增 EncryptedArchive 显式检测 (flag_bits bit0=1)
- rules/rule_labels.yaml 新增 EncryptedArchive → 加密压缩包

样本修复:
- L0-020/021 zip_bomb 重写: DEFLATED 50×50MB/20×20MB → 膨胀比 1027x/1023x ✅ ArchiveBombSuspect reject
- L0-030 nested_traversal 重写: 真 ../穿越 + 内层 zip → PathTraversal malicious
- L0-024 encrypted 重写: flag_bits bit0=1 → EncryptedArchive suspicious

最终 P0-P2 关键修复项 9/9 通过:
  ✅ NEG-007 java clean (白名单放行)
  ✅ NEG-011 log clean (白名单放行)
  ✅ NEG-015 ttf clean (白名单放行)
  ✅ NEG-016 dwg clean (白名单放行)
  ✅ NEG-020 odt clean (白名单放行)
  ✅ L0-020 zip_bomb reject ArchiveBombSuspect
  ✅ L0-021 small_bomb reject ArchiveBombSuspect
  ✅ L0-024 encrypted suspicious EncryptedArchive
  ✅ L0-030 nested malicious PathTraversal
This commit is contained in:
2026-10-29 12:02:36 +08:00
parent da05c544e9
commit 2daa3fcd3c
10 changed files with 198 additions and 127 deletions

View File

@@ -127,6 +127,36 @@ allowed_extensions:
- .rar
- .7z
- .tar
# --- 业务源码/脚本/数据(业务开发/运维合法上传)---
- .java
- .py
- .js
- .ts
- .go
- .c
- .cpp
- .cs
- .sql
- .sh
- .log # 运维日志
- .ini
- .cfg
- .conf
- .properties
# --- 专业文档/素材 ---
- .odt
- .ods
- .odp
- .ttf # 字体文件
- .otf
- .dwg # CAD 图纸
- .dxf
- .stl
- .fbx
- .step
- .iges
- .gz
- .bz2
- .xz