From 87a8092c02d3828bc693d137e53928101817e2ce Mon Sep 17 00:00:00 2001 From: AI Engineer Date: Wed, 22 Apr 2026 18:49:44 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B7=BB=E5=8A=A0=20TEST.md=20?= =?UTF-8?q?=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEST.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 TEST.md diff --git a/TEST.md b/TEST.md new file mode 100644 index 0000000..a58e0ba --- /dev/null +++ b/TEST.md @@ -0,0 +1,24 @@ +# Test Report: @go/safe + +## 📋 测试概览 +- **测试时间**: 2026-04-22 +- **测试环境**: darwin/amd64 +- **Go 版本**: 1.25.0 + +## ✅ 功能测试 (Functional Tests) +| 场景 | 状态 | 描述 | +| :--- | :--- | :--- | +| `TestSafeBuf` | PASS | 验证加解密一致性,及 `Close()` 后的数据清理。 | +| `TestMemoryErasure` | PASS | 验证内存物理擦除,确保明文内存被覆盖。 | +| `TestSafeBufCustomObfuscator` | PASS | 验证自定义加解密钩子的注入逻辑。 | +| `TestDisableCoreDump` | PASS | 验证系统级 CoreDump 防御接口调用。 | + +## 🛡️ 鲁棒性防御 (Robustness) +- **内存锁定 (Mlock)**: 针对 Unix/Windows 实现了系统级内存锁定,防止敏感数据 Swapping 到硬盘。 +- **Core Dump 防御**: 从操作系统层级禁止核心转储,防御异常导致的数据泄露。 +- **全生命周期销毁**: 结合 `ZeroMemory` 与 `runtime.Finalizer`,确保敏感数据随对象销毁自动物理擦除。 + +## ⚡ 性能基准 (Benchmarks) +| 函数 | 平均耗时 | 性能分析 | +| :--- | :--- | :--- | +| `BenchmarkSafeBufOpenClose` | **1095 ns/op** | 纳秒级加解密处理,对业务性能影响极小。 |