clear只清除终端记录;文件和模块保留敏感数据、会话与信任:不是每个值都应该进入脚本
当所有“有用的值”都被当作无害文本时,自动化会变危险。密码、私钥、Cookie 和身份验证状态的生命周期应该与路径、图片尺寸或表名不同。
自动化之前,先判断这个值属于哪一类
路径、归档名或图片宽度属于普通配置。密码、私钥、会话令牌或数据库凭据可能直接授予访问权。把两种值都写进同一个可复用脚本,脚本本身就会变成敏感信息。
保存一个值之前问两个问题:它能否授权某件事?我是否愿意把这个文件复制到另一个项目,或拿给别人审查?如果答案是否定的,就不要把敏感信息写进流程。
检查环境很有用,但环境本身不是保险库
只检查真正需要的命名空间或值。避免传播完整环境转储的截图或导出,也不要因为终端里看到的是已遮罩值,就认为底层服务器配置可以公开。
envenv serverenv request会话和 Cookie 是应用状态,不是随手记事本
这条边界很重要,因为会话数据可能承载身份、授权和临时应用状态。缩小检查范围,只修改自己控制的命名空间,不要把会话存储当作长期敏感信息的便利藏身处。
ses -lcoocoo -a哈希可以证明一致性,但不能隐藏原始数据
哈希不是加密。如果原始值来自一个很小、容易猜的集合,哈希并不会让它保密。真实性依赖密钥时用 HMAC;内容本身必须不可读时使用加密。
hash -s "hello terminal"hash只有 key 也被保护时,加密才能保护内容
加密文件如果和暴露的密钥放在一起,保护价值会大幅下降。尽可能把密钥与加密数据放在不同的信任边界,提前理解恢复流程,并在删除明文源之前测试解密。
enc文件系统权限可以减少访问,但不能替代密码学
0600 这样的权限模式表示普通情况下只有当前文件所有者应该能读写。主机遵守 UNIX 权限模式时,它适合本地密钥文件和私有导出。
权限无法防住托管账户所有者、备份或被攻陷的 PHP 进程。执行
cd lil-playgroundmd trustecho "example private note" > trust/note.txt -rmod trust/note.txt -0600stat trust/note.txthash trust/note.txt分清清理、卸载和销毁
这些动作不能在肌肉记忆里混成一件事。任何破坏性操作之前,先说清楚要删除哪一层、哪些文件应该保留。安全的终端使用者应该在执行前就能解释回滚方案。
uninstall <module>一个扩展模块;遵循依赖规则kill -include持久/会话 CSS 与 JavaScript 层kill -install已安装扩展层;Core 保留killlil-terminal 本身把它保存成脚本
把它保存为 trust-checkpoint.lil。它只创建示例数据,设置严格的文件权限模式,记录元数据并保存摘要。注意它刻意不自动化的内容:密码输入和解密密钥留在脚本之外。
#lil
@install md echo mod stat hash
cd lil-playground
md trust
echo "example private note" > trust/note.txt -r
mod trust/note.txt -0600
stat trust/note.txt
hash trust/note.txt > trust/note.sha256 -r
stat trust/note.sha256