|
|
9834930299
|
fix: PDF/Office/压缩包关键词误报 — 两层修复
【regex 层收紧】policy.yaml keyword_rules
1) ReverseShellNetcat: \\bnc\\b → \\bnc\\s+-[elpvs]\\w*
nc 后必须跟参数 (-e/-l/-p/-v/-s), 单独 nc 在二进制里必然误报
ncat 同理: \\bncat\\b → \\bncat\\s+-\\w+
保留 \\bnetcat\\b (8 字母, 碰撞概率极低)
2) CredentialStealer: 全部关键词加 \\b 词边界
wce 单独加后续约束: wce(\\.exe\\b|\\s|\\/)
要求 wce 后跟 .exe / 空格 / / (二进制随机字节里 WCE 不再触发)
【引擎层架构修复】keywords.py
新增 BINARY_SKIP_EXTS (48 个扩展名):
- PDF / Office (.pdf/.docx/.xlsx/.pptx/...)
- 压缩包 (.rar/.zip/.7z/.tar/.gz/...)
- 图片 (.png/.jpg/.gif/.svg/...)
- 视频 (.mp4/.avi/.mkv/...)
- 音频 (.mp3/.wav/.flac/...)
KeywordEngine.scan() 开头检查:
如果 declared_ext / path ext 在 BINARY_SKIP_EXTS → 直接返回空
根因:
PDF/DOCX/ZIP 等文件是 DEFLATE 压缩流 (伪随机字节)
短关键词 (nc=2w/wce=3w) 在压缩流里必然出现
误报导致: 云启智能体平台生成效果.pdf 被拦截
ReverseShellNetcat: 'g%ew;V6Z?)Nc{>72z}*&96'
CredentialStealer: '2>>~:pa}w*WCE|2MVB85t/$'
验证:
✅ 新 regex: 真实 nc -e / wce.exe 命中, PDF 压缩流字节不命中
✅ BINARY_SKIP_EXTS: .pdf/.docx/.zip 跳过, .sh/.ps1/.txt 扫描
✅ scan() 方法已含跳过逻辑
|
2026-10-29 17:28:23 +08:00 |
|
|
|
16f134e328
|
feat: MeshSafe 文件摆渡安全卫士 v1.0 初始提交
核心功能:
- 6 层检测管线: L0 结构分析 → L1 ClamAV → L2 文档深度检测 → L3 关键词匹配 → L4 YARA → L5 PE/二进制
- FastAPI + PostgreSQL + Redis + Docker Compose 架构
- 客户端 HMAC-SHA256 签名鉴权 + 限流 + 幂等性
- 控制台 UI (登录/Dashboard/诊断中心/策略管理/任务列表/测试中心/产品介绍页)
- 三层诊断定时器 (error_scan 30s / db_aggregate 30s / container_check 5min)
并发与稳定性修复:
- 诊断定时器 Redis 时间槽位锁 (多 worker 同一槽位只有一个执行)
- JSONL 存储 fcntl 跨进程排他锁 + 容错解码 + 原子重写
- 移除 SQLite fallback, 统一 PostgreSQL
- API_CLIENTS 脱敏为环境变量, .env 已 .gitignore
|
2026-10-28 19:07:11 +08:00 |
|