I18 · 互动推演
你的Sandbox真的隔离了什么?
使用威胁矩阵审查能力与隔离而非打勾一个Docker名称。
合成教学数据 · 未运行真实模型静态推演与完整规格
I18 你的Sandbox真的隔离了什么?
关联章节:M09 · 交互类型:security-profile · 状态:提供完整状态/验收规格,UI待实现
教学目标
使用威胁矩阵审查能力与隔离而非打勾一个Docker名称。
初始状态
{
"non_root": true,
"readonly_root": false,
"mount_home": true,
"mount_socket": false,
"network": "allow_all",
"private_workspace": true,
"output_limit": false,
"kill_process_group": false
}
操作控件
编辑profile开关
选择攻击/故障场景
运行规则检查
查看残余风险
导出审查表
状态变化规则
按已知profile规则指出不安全能力,不能输出绝对安全评级。
禁止host home/socket等默认高危项;资源与网络独立展示。
黄金案例与反馈
host-home
输入:
{
"mount_home": true
}
期望:
{
"risk": "host_files_exposed"
}
非root不阻止读取已挂载且可读的敏感文件。
unbounded-output
输入:
{
"output_limit": false
}
期望:
{
"risk": "memory_and_log_exhaustion"
}
CPU限制不约束日志体积。
process-tree
输入:
{
"kill_process_group": false
}
期望:
{
"risk": "orphan_children"
}
取消父进程不必然清理所有子进程。
完成条件
修复所有明确高危项
保留“仍需真实隔离测试”的结论
反馈层次
提交预测后显示结果;允许跳过预测但记录跳过,不阻止阅读
结果同时显示状态变化、原因与被拒绝动作;不是只给红绿灯
第一次错误给边界提示,第二次提供最小反例;参考推导始终可主动打开
重置恢复固定初始状态并保留历史尝试供用户手动清除
无障碍与静态替代
全部操作有原生button/input/select替代,不依赖拖拽
图与动画提供同步文字状态表;支持prefers-reduced-motion
状态改变用aria-live=polite摘要,不逐字朗读长日志
焦点不跳走;错误提示关联输入;颜色不是唯一编码
无JavaScript时直接展示初始输入、规则和黄金案例表,读者仍能完成纸面推演。状态动画仅作解释,不能成为获取答案的唯一途径。
持久化与重置
使用版本化键agent-course:1:I18,仅保存本地学习状态。支持单卡重置和全站清除;存储失败时以内存模式继续,不阻断阅读。
必须避免的误导
本卡不执行攻击payload,不验证内核/容器漏洞。
执行边界
纯本地教学状态机;不执行任意代码,不连接真实资金/模型/宿主Shell。