ARTICLE · 1234322
DSH 容器插件:5 步核验来源与权限

关注「山海只能局」,用东方文化看懂现代科技。
“
这是一篇技术探索:本次完成只读源码审计,不把仓库存在、命令返回或 README 当成插件运行成功。
这是一篇技术探索:先审来源,再谈安装
本次只完成了 dsh-podman 固定提交、公开 package 文件与 README 的只读核验;没有安装插件、没有重启 DSH Profile、没有运行真实任务。它能帮助你把“准备试用”变成一份可回看的来源审计单,不能证明插件在你的环境可用。
最终目标与验收标准
目标是在不登录、不写入 DSH Profile、不拉取容器镜像的前提下,得到一个固定 Git 提交、该提交下的 package.json 和 README 回执。验收标准是:三条命令各自有 exit code、输出被保存、提交哈希与页面记录一致;这不是运行验收标准。
前提、输入和费用
适用环境:macOS 或 Linux,具备 git、curl 与 SHA-256 工具;不需要 DSH 账号、Podman、密钥或私有仓库。输入样本是公开仓库 Exagone313/dsh-podman 与固定提交 a1a5ab055be3c6d38cd44c63f60f92a23467f5fd。费用为网络流量与本机时间,本次未调用付费 API。
步骤 1:固定远端 HEAD,而不是先复制安装命令
在终端执行 git ls-remote https://github.com/Exagone313/dsh-podman.git HEAD。界面位置就是终端;预期结果是一行完整提交哈希与 HEAD。若网络报错,停止,不要改用无来源的镜像或粘贴包名继续安装。
本次回执在本节下方。它记录的是远端当时的 HEAD,不能单独证明 README 中的每个功能。

步骤 2:读取固定提交的 package 元数据
把 URL 中的提交替换为审计记录值,再执行 curl -L --max-time 20 -sS https://raw.githubusercontent.com/Exagone313/dsh-podman/<commit>/package.json。预期结果是 JSON 文本。检查 name、version、engines、依赖、bin、scripts 与任何可能触发安装后脚本的字段。
若返回 HTML、403、空文本或提交不存在,不要把它当作 package 文件;保存错误输出并把状态标为未验证。package.json 存在也不证明兼容当前 DSH。

步骤 3:读取 README 的能力与边界声明
执行同一固定提交下的 README 下载命令,搜索 container、mount、network、image、approval、uninstall 等词。预期结果是项目的功能与部署说明。把 README 当成作者声明,不把它当作权限审计或安全认证。
本次仓库描述 rootless Podman、按项目容器、shell 与文件访问路径。你仍需要在源码入口和运行时配置中核对挂载、网络与镜像来源。

步骤 4:建立最小审计表
把提交、读取时间、仓库 URL、许可证、包名、声明的执行能力、网络边界、文件与挂载边界、回滚动作写入变更单。不要只存截图;未来升级或事故回溯时,文本字段才可搜索和比较。
本次已记录 MIT 声明与固定提交;没有确认第三方镜像、运行时网络、容器逃逸或桌面 Profile 行为。这些字段应保持未验证,而不是填“安全”。
THE END
步骤 5:决定是否进入隔离运行验收
只有审计表被评审后,才在一次性 Profile 中使用无密钥、无私有文件的示例任务安装。验收应包含 Profile 重启、最终任务输出、网络观察、挂载检查和卸载回读。任何一步失败,保留日志并回滚容器、镜像、卷与插件配置。
常见失败包括 Podman 未安装、镜像拉取受限、目录挂载过宽、DSH 版本不匹配和卸载残留。安全边界:不要把生产仓库、SSH key、云凭据或聊天记录放入首轮试验;成本边界:镜像下载和本地磁盘占用可能显著高于这次只读审计。
点击右下角,关注「山海只能局」
用东方文化看懂现代科技
如果这篇文章对你有帮助,欢迎点个赞、点亮小红心,或转发给准备安装 Agent 插件、评审权限或维护开发环境的读者。















































































