Add LICENSE
记忆有界,遗忘有据。
MnemoGuard 面向 openKylin 上的智能体记忆安全问题,探索一种“敏感记忆识别、精准保护、内核级阻断、结构化审计”的操作系统安全机制。
系统当前包含多个核心模块、多个 OS/性能实验模块和一个端到端演示模块:
src/v2_bpf_map_lsm/
file_open
src/v3_sensitive_detector/
src/v4_audit_ringbuf/
src/v5_precise_forget/
src/v6_inode_dev_lsm/
src/v7_performance_benchmark/
src/v8_memory_core/
src/v9_end_to_end_demo/
src/v10_cgroup_resource_control/
src/v11_mmap_versioned_store/
src/v12_namespace_session_isolation/
src/v13_ukui_dbus_integration/
src/v14_mnemoguardd_daemon/
mnemoguardd
src/v15_scale_reliability_benchmark/
src/v16_inode_precision_benchmark/
src/v17_hash_chain_audit/
prev_hash
record_hash
当前冠军叙事主线已经收敛为:
--serve
建议环境:
clang
llvm
bpftool
libbpf
libelf
zlib
示例依赖安装命令需根据实际系统包名调整:
sudo apt update sudo apt install -y clang llvm bpftool libbpf-dev libelf-dev zlib1g-dev make gcc python3
若在 openKylin VM 中从 Windows 主机 HTTP 服务拉取最新演示包,可执行:
curl -fsSL http://192.168.75.1:39000/openkylin_fetch_and_run_champion.sh | bash
该脚本会备份旧的 ~/mnemoguard/champion_demo、下载 LF 修复版总验收包、执行 scripts/run_champion_demo.sh,并打印 all_gates_passed。 运行成功后会生成 run/champion_demo/openkylin_rerun_evidence.md,用于保存脱敏的 openKylin 复跑环境、包哈希和关键指标。
~/mnemoguard/champion_demo
scripts/run_champion_demo.sh
all_gates_passed
run/champion_demo/openkylin_rerun_evidence.md
cd src/v4_audit_ringbuf bash build.sh
mkdir -p run/demo printf 'email=redacted@example.invalid\npassword=SYNTHETIC_DEMO_SECRET\n' > run/demo/agent-memory.txt printf 'ordinary public notes\n' > run/demo/allowed.txt
sudo ./redact --audit-log "$PWD/run/audit.jsonl" agent-memory.txt
在另一个终端触发访问:
cd src/v4_audit_ringbuf cat run/demo/agent-memory.txt printf 'tamper\n' >> run/demo/agent-memory.txt cat run/demo/allowed.txt cat run/audit.jsonl journalctl -t mnemoguard --no-pager -n 20 sudo grep 'MnemoGuard v4' /sys/kernel/debug/tracing/trace | tail -n 20
预期现象:
agent-memory.txt
allowed.txt
本仓库根目录应同时提供:
README.md
项目说明书.docx
演示PPT.pptx
参赛承诺书.docx
video/mnemo_demo.mp4
video/演示视频脚本.md
screenshots/
docs/GitLink提交与匿名化手册.md
docs/现场演示备用方案.md
docs/需求完成度审计.md
docs/技术创新对比表.md
docs/评委追问速答卡.md
docs/决赛现场5分钟讲稿.md
docs/评委问答演练稿.md
docs/截图证据索引与匿名化说明.md
所有材料必须保持匿名化,仅出现参赛队名与所选赛题名称,不出现可识别身份信息、真实人员姓名或真实单位邮箱等内容。
当前已完成:
计划增强:
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MnemoGuard
记忆有界,遗忘有据。
作品简介
MnemoGuard 面向 openKylin 上的智能体记忆安全问题,探索一种“敏感记忆识别、精准保护、内核级阻断、结构化审计”的操作系统安全机制。
系统当前包含多个核心模块、多个 OS/性能实验模块和一个端到端演示模块:
src/v2_bpf_map_lsm/:基于 BPF-LSM 的动态文件访问阻断原型,用户态通过 BPF map 下发保护规则,内核态在file_open路径执行访问控制。src/v3_sensitive_detector/:敏感内容检测器,扫描智能体记忆文件,生成脱敏规则清单和 BPF 可加载规则。src/v4_audit_ringbuf/:结构化审计模块,在阻断发生时通过 BPF ringbuf 向用户态发送事件,并写入 JSONL 与系统日志。src/v5_precise_forget/:精准遗忘原型,将自然语言样式遗忘指令转化为 forgetting plan、BPF 规则、脱敏动作和 JSONL 审计。src/v6_inode_dev_lsm/:inode/dev 级 BPF-LSM 规则,避免 basename 同名文件误伤,并正确阻断同 inode hardlink。src/v7_performance_benchmark/:性能微基准,测量 baseline、BPF map miss、deny + audit 和 1000 条规则场景下的 open 延迟。src/v8_memory_core/:多源记忆核心,支持偏好提取、知识结构化、冲突处理、跨语言检索、RAG 上下文、短/中/长期记忆流转、v11 mmap 版本化存储导出和量化评测。src/v9_end_to_end_demo/:端到端联动演示,将 v8 MemoryCore、v5 精准遗忘和 v6 inode/dev BPF-LSM 串成完整链路。src/v10_cgroup_resource_control/:cgroup v2 资源管控实验,将 MemoryCore workload 放入受限 cgroup 并采样 CPU/内存/PID 指标。src/v11_mmap_versioned_store/:基于 mmap 的版本化记忆存储实验,验证页缓存 + CoW 风格快照。src/v12_namespace_session_isolation/:namespace 多会话隔离实验,验证相同逻辑记忆路径可映射到不同会话根目录,并拒绝跨会话读取。src/v13_ukui_dbus_integration/:UKUI/D-Bus 桌面联动原型,生成 Peony 右键动作、D-Bus 接口描述和脱敏通知 payload。src/v14_mnemoguardd_daemon/:mnemoguardd用户态 daemon 控制面原型,统一处理记入偏好、精准遗忘、策略解释、检索上下文和桌面事件,并输出 checkpoint、heartbeat、PID 与 systemd user unit。src/v15_scale_reliability_benchmark/:daemon 规模与可靠性压测,验证大队列处理、checkpoint 恢复、无重放、并发追加和审计完整性。src/v16_inode_precision_benchmark/:inode/dev 精准规则基准,对比 basename/path/inode-dev 三类策略在同名碰撞、hardlink、rename 和路径复用场景下的误伤/漏挡。src/v17_hash_chain_audit/:哈希链审计完整性基准,为 JSONL 审计增加prev_hash/record_hash与 manifest root,验证修改、删除、重排和删除后重算链均可检测。当前冠军叙事主线已经收敛为:
--serve生命周期证据。运行环境
建议环境:
clang、llvm、bpftool、libbpf、libelf、zlib。示例依赖安装命令需根据实际系统包名调整:
快速验证
0. openKylin VM 一键拉包复跑
若在 openKylin VM 中从 Windows 主机 HTTP 服务拉取最新演示包,可执行:
该脚本会备份旧的
~/mnemoguard/champion_demo、下载 LF 修复版总验收包、执行scripts/run_champion_demo.sh,并打印all_gates_passed。 运行成功后会生成run/champion_demo/openkylin_rerun_evidence.md,用于保存脱敏的 openKylin 复跑环境、包哈希和关键指标。1. 构建 BPF-LSM 审计版
2. 准备样例文件
3. 启动内核保护与审计
在另一个终端触发访问:
预期现象:
agent-memory.txt返回权限错误。allowed.txt正常读取。初赛提交材料
本仓库根目录应同时提供:
README.md项目说明书.docx演示PPT.pptx参赛承诺书.docxvideo/mnemo_demo.mp4:3 分 52 秒,约 6.7MB,MP4 格式。video/演示视频脚本.md:视频录制/复核脚本。screenshots/:10 张脱敏证据图,覆盖 v8/v5/v6/v10/v11/v12/v13/v14/v15/champion demo。docs/GitLink提交与匿名化手册.md:入仓、分批提交、作者匿名化和人工复核指南。docs/现场演示备用方案.md:现场演示失败时的分模块备用路径和答辩口径。docs/需求完成度审计.md:逐条映射赛题要求、现有证据和原型边界。docs/技术创新对比表.md:对比应用层正则、chmod、加密数据库等常见方案。docs/评委追问速答卡.md:答辩前快速复习用的一页式问答卡。docs/决赛现场5分钟讲稿.md:现场答辩/路演口播稿。docs/评委问答演练稿.md:连续追问演练稿。docs/截图证据索引与匿名化说明.md:openKylin 原始截图证据索引和脱敏提交原则。所有材料必须保持匿名化,仅出现参赛队名与所选赛题名称,不出现可识别身份信息、真实人员姓名或真实单位邮箱等内容。
项目状态
当前已完成:
计划增强: