dsh-sbom:爲 DSH 插件包生成 CycloneDX 1.5 SBOM

前言

在 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 描述,已覈實能力如下。

  1. CycloneDX 1.5 輸出:生成符合 CycloneDX 1.5 的 SBOM 文檔。
  2. 根組件與依賴列表:
    - metadata.component:表示根應用(當前插件包)。
    - components[]:來自頂層已安裝 node_modules 的庫,字段包括 name、version、license、purl。
  3. 離線:README 寫明 No network;不拉取外部漏洞或元數據。
  4. 雙入口:
    - 獨立 CLI(dsh-sbom 指向 bin/dsh-sbom.mjs)。
    - DSH 內通過技能/工具 sbom_export 對當前包導出(見下文用法)。
  5. 運行環境: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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜