前言¶
在 DSH 生態裏,插件往往自帶 package.json 和本地 node_modules,依賴清單分散在目錄裏,而不是一份現成的、可對外交換的 SBOM。要做合規歸檔、交付前清單核對,或把「這個插件裝了哪些頂層庫」說清楚,手工翻 node_modules 既慢又容易漏。
下面介紹社區插件 lengrufeng2008/dsh-sbom:從當前 DSH 插件包及其已安裝的頂層依賴生成 CycloneDX 1.5 格式 SBOM,離線運行,不做完整傳遞依賴解析,也不做漏洞斷言。維護者爲 GitHub 用戶 lengrufeng2008,在 SkillHub 目錄中歸類爲安全管理(admin-security),許可證爲 MIT(見倉庫 README 與 package.json)。
這是什麼¶
dsh-sbom 是一個體量較小的 CycloneDX 導出工具,同時提供 DSH 插件入口與命令行 bin/dsh-sbom.mjs。它解決的是:把「本插件根組件 + 頂層已安裝 npm 包」整理成標準 SBOM JSON,便於存檔或與現有 CycloneDX 工具鏈對接。
與「全量供應鏈證明」類方案相比,作者明確劃定了邊界:僅頂層已安裝包、無傳遞依賴圖、無 lockfile 專解析、無漏洞庫、無簽名——不能當作完整的供應鏈 attestation。
核心功能¶
根據倉庫 README 與 package.json 描述,已覈實能力如下。
- CycloneDX 1.5 輸出:生成符合 CycloneDX 1.5 的 SBOM 文檔。
- 根組件與依賴列表:
-metadata.component:表示根應用(當前插件包)。
-components[]:來自頂層已安裝node_modules的庫,字段包括 name、version、license、purl。 - 離線:README 寫明 No network;不拉取外部漏洞或元數據。
- 雙入口:
- 獨立 CLI(dsh-sbom指向bin/dsh-sbom.mjs)。
- DSH 內通過技能/工具sbom_export對當前包導出(見下文用法)。 - 運行環境:
package.json要求 Node>=20;當前發佈版本爲0.1.0。
安裝與啓用¶
SkillHub 目錄頁(https://www.skillhub.cn/plugins/lengrufeng2008/dsh-sbom)給出的安裝方式,是向 DeepSeek Harness 說明要安裝的插件標識,而不是倉庫 README 裏的一條 shell 安裝命令。目錄頁示例表述如下(與頁面「發送給 DeepSeek Harness 安裝」一致,插件 ID 爲 lengrufeng2008/dsh-sbom):
請安裝 DSH 插件 lengrufeng2008/dsh-sbom。
DeepSeek Harness 社區目錄(SkillHub)是獨立站點,與 DeepSeek / 幻方無官方從屬關係;安裝前請自行查看 GitHub 源碼與 MIT 許可證。插件在 DSH 進程權限下運行,安裝與啓用前應確認你信任維護者與代碼內容。
倉庫地址:https://github.com/lengrufeng2008/dsh-sbom
典型用法¶
命令行(倉庫 README)¶
在插件包根目錄(或任意含 package.json 與已安裝頂層依賴的路徑)執行:
node bin/dsh-sbom.mjs . --json --output sbom.json
快速查看 JSON 前幾行:
node bin/dsh-sbom.mjs . --json | head
上述命令把 SBOM 寫到 sbom.json,或經標準輸出打印 JSON。
在 DSH 會話中¶
README 給出的自然語言用法:
Use sbom_export on this package, format=json.
即對當前插件包調用 sbom_export,並指定 format=json,得到與 CLI 同類的 CycloneDX 導出(具體交互以你本地的 DSH 與插件 bundle 爲準)。
自測¶
維護者在 README 中提供的測試命令:
npm test
對應 package.json 中的 node --test test/*.test.mjs。
適用場景與注意¶
適合誰
- 需要爲某個 DSH 插件包留檔「安裝了哪些頂層 npm 依賴」的開發者或運維。
- 已有 CycloneDX 1.5 消費方(合規模板、內部清單工具),只需一層依賴快照、且接受離線、無漏洞評級的場景。
務必知道的限制(README「Limits」)
- 只統計已安裝的頂層包,不包含傳遞依賴圖。
- 不做 lockfile 專用解析、不連漏洞庫、不做簽名。
- 不是完整的供應鏈 attestation;不能替代專業 SC A 或簽名製品審計。
權限與安全
插件隨 DSH 運行,能讀取你指定路徑下的 package.json 與 node_modules 元數據。僅在可信環境中對可信項目啓用;導出結果中的 license、purl 來自包內聲明,工具本身不對許可證合規或漏洞做結論。
結尾¶
dsh-sbom 把 DSH 插件包與其頂層已安裝依賴收斂成一份 CycloneDX 1.5 JSON,步驟簡單、邊界清晰,適合作爲清單快照而非全鏈路安全證明。目錄與源碼:
- 目錄頁:https://www.skillhub.cn/plugins/lengrufeng2008/dsh-sbom
- GitHub:https://github.com/lengrufeng2008/dsh-sbom