W19: plugin_loader hardening — ABI try/catch, path validation, atomic IDs, CLI exit codes (W19.1-W19.5)
Some checks failed
CI / Determine matrix (push) Has been cancelled
CI / ${{ matrix.os }} / ${{ matrix.build_type }} (push) Has been cancelled

Fixes: F-18.3-1 through F-18.3-5 (all CLOSED, findings registry at zero)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 19:34:43 +08:00
parent c545d16120
commit 3250b5a8bf
15 changed files with 273 additions and 30 deletions

View File

@@ -18,6 +18,16 @@ weaknesses:
- 单元测试有时过于针对实现
- 不太关注测试可读性
performance_log:
- date: 2026-05-27
event: "W19.1: 修复 F-18.3-1 — plugin_loader 5 处 C ABI 调用点添加 try/catch (合作 security-cao)"
rating: done
detail: |
为 5 处 C ABI 调用点添加 try/catch(const std::exception&)+catch(...) 双层保护:
init_fn(L59)/on_init×2(L237,L272)/on_shutdown×2(L108,L306)。
initialize_all fail-continue: 单插件异常仅记录日志+跳过,不阻断其余插件加载。
shutdown_all/unload_plugin on_shutdown 异常仅 log 不阻断 DLL 卸载。
新增 host_api_ 成员统一日志通道fprintf→host_api->log。
编译 0 error + ctest 5/5 pass。findings-registry F-18.3-1→FIXED。
- date: 2026-05-27
event: "W18.3: plugin_loader 安全审计 (合作 security-cao) — 9 维度审计, 1 HIGH + 4 MEDIUM + 3 LOW 发现"
rating: done