dongsheng123132/dsh-profile-lock-proof

DSH配置文件声明、pnpm锁文件与已安装包一致性的内容寻址证明。

项目介绍Project Overview

dsh-profile-lock-proof 是 DSH 插件,用于生成内容寻址、机器可读的配置依赖锁定证明:核对 profile 依赖声明、pnpm lock importer、已安装包清单及 dsh.bundle.patch 是否一致。适合在安装或审计前验证固定版本、固定提交依赖的来源与完整性;它不执行包、不联网、不修改 profile,也不返回清单、补丁或密钥内容,且不是 SBOM、漏洞扫描或签名验证工具。

dsh-profile-lock-proof is a DSH plugin that creates content-addressed, machine-readable proofs checking whether a profile's dependency declaration, pnpm lock importer, installed package manifests, and declared dsh.bundle.patch values agree. Use it before installation or during audits to verify exact semver or pinned-commit dependencies and detect stale, mutable, mismatched, or lifecycle-script-bearing evidence. It does not execute packages, access the network, mutate profiles, or expose manifest, patch, command, or secret contents; it is not an SBOM, CVE scanner, or signature verifier.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:dongsheng123132/dsh-profile-lock-proof

dongsheng123132/dsh-profile-lock-proof 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-profile-lock-proof

CI MIT license Node.js 22+ Awesome DSH Plugins

dsh-profile-lock-proof produces a content-addressed, machine-readable proof that a DeepSeek Harness profile's dependency declaration, pnpm lock importer, installed package manifests, and each package's declared dsh.bundle.patch agree.

It is deliberately narrower than an SBOM, CVE scanner, signature verifier, or installer. It does not execute packages, contact the network, mutate a profile, or return manifest, lockfile, patch, script-command, or secret contents.

Version 0.2.0 removes the bundled DSH tool runtime and the default export that stock Cordis Loader misclassified. The bundle now exposes host-neutral tool definitions through its namespace export; local-path and fixed-commit installs are exercised against the real stock Web profile.

Proof boundary

  • Input paths are workspace-relative regular files; traversal and symlinks are rejected.
  • Profile and lockfile bytes must match the SHA-256 values in an explicit proof manifest.
  • Dependency specifiers must be exact semver or github:owner/repo#<40-hex-commit>.
  • The pnpm importer specifier, installed name/version/package hash, bundle patch path/hash, and absence of lifecycle hooks must all agree.
  • Missing, stale, invalid, mutable, mismatched, or lifecycle-script-bearing evidence fails closed.
  • Output contains identities, classifications, hashes, status, and disclosure only. Reports are written atomically under an explicit artifactDir and read back.

CLI

dsh-profile-lock-proof inspect --workspace . --manifest proof.json
dsh-profile-lock-proof verify --workspace . --manifest proof.json --artifactDir artifacts

Exit 0 means a verified proof, 2 means verification or input failure.

DSH / MCP tools

  • dsh_profile_lock_inspect
  • dsh_profile_lock_verify
  • MCP aliases: profile_lock_inspect, profile_lock_verify

The MCP surface is deliberately lower privilege: it accepts bounded inline evidence only, never reads or writes files, and shares the validation core. DSH/CLI may write only to an explicit workspace-relative artifactDir, atomically and with read-back verification.

Install into an isolated profile:

dsh plugin --profile profile-lock add github:dongsheng123132/dsh-profile-lock-proof#<commit>

Development

npm ci
npm test
npm run check
npm run smoke:plugin
npm run smoke:mcp
npm run smoke:web-loader # requires DSH_CHECKOUT and isolated DSH_HOME

MIT licensed. See SECURITY.md for the threat boundary.

上一个 Prev dsh-qq-bot 下一个 Next dsh-admin-gateway