2026 年每日通報的 CVE 數量比前一年多 131%。

消費性電子產品的資安

每一台智慧裝置出貨的韌體,都是由開源套件、晶片廠商 SDK 與建置期間擷取的工具所組成。供應鏈攻擊只需要其中一個。CRACI 執行您的韌體建置、記錄放進去的每個元件,並讓建置無法連到任何它不需要的地方。

裝置製造商為何成為供應鏈攻擊的目標

連網裝置中的大部分程式碼都是別人寫的:嵌入式 Linux 發行版、晶片廠商提供的板級支援套件、網路協定堆疊、數百個開源函式庫,以及它們底下的 Rust crate。相同的元件會出現在許多品牌的產品中,而裝置會在家庭中使用好幾年,往往在最後一次有人檢視其內容之後還使用很久。

這讓一個脆弱的元件對攻擊者極具價值。共用函式庫或 SDK 中的一個缺陷,就能打開所有交付它的產品;一個遭下毒的版本,則能觸及所有引入它的建置。以下事件說明了這個模式。

Ripple20

Treck TCP/IP 協定堆疊 · 2020 年 6 月

一個小型 TCP/IP 函式庫中的十九個漏洞,CVSS 最高達 10.0,而裝置製造商多年來一直以授權方式使用這個函式庫,且常常是以其他名稱使用。它存在於許多廠商的產品中,其中不少廠商得先弄清楚自己到底有沒有交付它。

您無法修補一個自己不知道有交付的元件。

Realtek SDK

CVE-2021-35395 · 2021 年 8 月

某晶片廠商 SDK 中的缺陷,波及約 65 家製造商的約 200 款裝置型號:路由器、IP 攝影機、智慧照明閘道器、連網玩具。細節公開兩天後,就有 Mirai 殭屍網路在掃描這些裝置。

晶片廠商的程式碼一旦隨您的裝置出貨,就是您的程式碼。

xz utils 後門

CVE-2024-3094 · 2024 年 3 月

後門被植入上游 xz 專案本身的 5.6.0 與 5.6.1 版中。嵌入式 Linux 映像檔理所當然會引入 xz 這類壓縮函式庫,而且通常沒有人特意挑選它們。

受信任的開源軟體,可能在單一版本中就轉為惡意。

ShadowHammer

ASUS Live Update · 2018 至 2019 年

攻擊者使用 ASUS 自己的簽章憑證,簽署其更新工具遭植入後門的版本,並透過官方更新伺服器發送。Kaspersky 估計可能影響超過一百萬名使用者。

有效的簽章只能證明是誰簽署的,無法證明裡面放了什麼。

如何提升消費性電子產品的資安

安全開機、不使用預設密碼與關閉除錯埠等裝置強化措施,保護的是您交付的裝置。以下步驟保護的則是放進裝置的內容。

  1. 掌握每個韌體映像檔的內容. 為您交付的每次建置保留一份 SBOM,包括遞移相依套件、主機工具,以及建置過程中擷取的來源。沒有它,每一則新的資安公告都得從好幾天的挖掘開始。
  2. 將供應商程式碼視為產品的一部分. 板級支援套件(BSP)、晶片廠商 SDK 與授權使用的協定堆疊,都需要和您自己的程式碼一樣受到追蹤。請向供應商索取 SBOM,並與您的建置一起監控。
  3. 裝置出貨後持續監控. 裝置會在家庭中使用好幾年。每當有新漏洞發布,就重新檢查每個已交付版本的內容,並掌握哪些產品與版本受到影響、從何時開始。
  4. 鎖定建置環境. 建置機器上有您的原始碼、機密與版本本身。請在全新的隔離機器中執行每次建置,將 CI actions 固定到某個 commit,並只允許連往建置所需來源的對外連線。
  5. 排除已知的不良版本. 一旦得知某個有漏洞或惡意的版本,就封鎖任何會納入它的建置,讓它不會透過相依套件更新再次回來。
  6. 保護簽章金鑰與更新管道. 安全開機與簽署更新只有在金鑰安全時才有幫助。請將簽章金鑰存放在硬體支援的儲存區中、與建置分開,並限制哪些人和哪些程序可以使用它們。
  7. 建立漏洞處理流程. 決定由誰研判發現項目、由誰負責每項修正,以及如何讓客戶與主管機關得知。在歐盟,Cyber Resilience Act(CRA)自 2026 年 9 月 11 日起將漏洞通報列為製造商的法定義務。

CRACI 涵蓋這份清單中的建置面:每次建置的 SBOM、供應商 SBOM、持續監控、建置隔離、對外連線控管與政策關卡。簽章與裝置強化則仍由您自己的工具負責。

記錄放入內容的韌體建置

在 CRACI 的 GitHub Actions 執行器上執行您的 Yocto 與其他嵌入式 Linux 建置,最高 32 vCPU,支援 x86-64 或原生 ARM64。建置執行期間,CRACI 會記錄它引入的每個套件與檔案,包括主機套件、Git 來源、GitHub Actions,以及任何 recipe 或 lockfile 都沒有列出的下載內容。在一次 core-image-sato 建置中,CRACI 的 SBOM 包含了 Yocto 自身 SBOM 中的所有元件,外加 Yocto 漏掉的 88 個,並為 653 個 Rust crate 版本各提供了 package URL,因此全部都能接受漏洞監控。

Embedded builds on CRACI runners Yocto and BitBake builds such as core-image-sato run on CRACI runners at size 32. Like every CRACI job, the build runs under an egress policy, records what it fetched and its provenance data. Embedded build bitbake core-image-sato Yocto and BitBake; pi-gen for Raspberry Pi OS CRACI runner, size 32 32 vCPU in an isolated virtual machine Egress policy Fetches recorded Provenance Firmware image SBOM recorded during the build

建置只能連到它需要的地方

每個作業都在自己的隔離虛擬機器中執行,並受對外連線(egress)政策約束;該政策會在作業開始前驗證,並且失效即封鎖(fail closed)。在預設拒絕的政策下,建置只能連到您的套件來源,其他一律無法連線。遭入侵的相依套件若試圖將您的簽章資料或權杖傳送到攻擊者的主機,會遭到封鎖並發出警示,即使攻擊是全新的、還沒有人發布相關資安公告也一樣。

An egress policy on the build network A build job connects to hosts in its egress policy, such as package registries and Git, and a connection to a host outside the policy is blocked. The policy is validated before the job starts and fails closed, and a violation sends an alert. Egress policy Default deny Validated before the job starts Fails closed · 24 source presets Build job on a CRACI runner npm registry allowed PyPI allowed Git over HTTPS allowed Unapproved host blocked Alert on policy violation Connections are recorded in the job's network trace

供應商元件與您自己的元件一起追蹤

加入來自晶片廠商與其他供應商的 SBOM,外購元件就會與您建置的軟體一起受到監控。下一個 SDK 漏洞出現時,廠商的程式碼已經和您的程式碼在同一份紀錄中。

Vendor SBOMs tracked next to your own SBOMs from your own builds and SBOMs added from your vendors are monitored in the same place, so bought-in components are re-evaluated against new vulnerabilities alongside your own dependencies. Your builds api-service SBOM web-app SBOM firmware SBOM Your vendors Payment SDK SBOM Camera module SBOM RTOS SBOM Monitored in one place Every SBOM re-evaluated as new vulnerabilities are published Third-party code tracked like your own dependencies Findings triaged and routed to the team that owns the fix

哪些裝置受到影響、從何時開始

CRACI 會在新漏洞發布時持續重新評估受監控的 SBOM。建置歷程會顯示哪些建置包含有漏洞的相依套件(無論直接或遞移),資產清冊檢視則會顯示哪些軟體版本部署到了哪些產品。資安團隊會研判每個發現項目,並將其指派給負責修正的團隊,政策關卡也能讓特定 CVE 不再出現在之後的任何建置中。

Vulnerabilities across everything you have deployed When a new vulnerability is published, CRACI re-evaluates the monitored SBOMs of your releases and vendor SBOMs, finds the affected version, and the inventory view shows which products that version is deployed to. The finding is triaged and routed to the team that owns the fix. New advisory published Long after the release shipped Monitored SBOMs re-evaluated Your release builds and your vendors' SBOMs Affected: Gateway firmware v1.8.4 Inventory: where v1.8.4 is deployed Product Deployed version Gateway Pro v1.8.4 Gateway Mini v1.8.4 Route the fix

Cyber Resilience Act 的佐證資料

Cyber Resilience Act 下的 CE 標示,是以技術文件與符合性評鑑為基礎。CRACI 提供這些文件所需的供應鏈佐證資料:可匯出為 CycloneDX 或 SPDX 的建置時 SBOM、漏洞紀錄與建置歷程。CRACI 也會為您準備 CRA 漏洞通報的內容,供您提交。符合性評鑑、EU 符合性聲明與 CE 標示,則仍由身為製造商的您負責。

Evidence for the conformity assessment CRACI supplies technical evidence: build-time SBOMs, vulnerability and remediation records, provenance and network traces, with SBOMs exported as CycloneDX or SPDX and the rest returned by the API. The manufacturer uses it in the technical documentation, runs the conformity assessment, by self-assessment or with a notified body, draws up the EU declaration of conformity and applies the CE marking. CRACI supplies the evidence Build-time SBOMs Vulnerability records Provenance Network traces The manufacturer's process Technical documentation Conformity assessment: self-assessment or notified body EU declaration of conformity CE marking CRACI does not assess, certify or manage the assessment

CRACI 不做的事

CRACI 不簽署韌體、SBOM 或來源證明,也不會依行為或信譽偵測新的惡意套件:它會在出現附有 CVE 的資安公告後標示惡意版本,在此之前則依靠對外連線政策。它不會為您執行符合性評鑑,也不會為您擬定符合性聲明。它目前在 Linux 執行器上執行 GitHub Actions 作業;GitLab CI、Jenkins,以及 Windows 與 macOS 執行器已列入產品藍圖。

消費性電子產品資安解說

關於保護連網裝置及其軟體供應鏈的常見問題

什麼是針對消費性電子產品的供應鏈攻擊?

這是一種不直接攻擊裝置本身,而是透過裝置製造商所依賴之事物入侵裝置的攻擊:有漏洞的開源函式庫、晶片廠商的 SDK、遭下毒的套件版本、遭入侵的建置工具,或遭挾持的更新管道。由於同一個元件會出現在許多產品中,一個弱點就可能同時波及許多品牌的數百萬台裝置。

如何提升消費性電子產品的資安?

從您交付的內容開始:為每次韌體建置保留一份 SBOM、追蹤供應商元件,並在新漏洞出現時持續檢查已交付的版本。鎖定建置本身、以政策關卡排除已知的不良版本、保護您的簽章金鑰,並建立分級研判、修正與揭露的流程。安全開機與停用預設密碼等裝置強化措施也很重要,但如果韌體本身已帶有有漏洞的元件,這些措施就無濟於事。

如何保護韌體供應鏈?

掌握放進映像檔的每個元件,包括建置在您的 recipe 與 lockfile 之外擷取的內容,並依版本保留這份紀錄。在只能連到所需來源的隔離環境中建置,讓惡意相依套件無法將您的機密傳送到任何地方。在裝置的整個支援期間,持續以新漏洞監控已記錄的元件與供應商的 SBOM。

CRACI 支援 Yocto 嗎?

支援。Yocto 與 BitBake 建置可在 CRACI 執行器上執行,CRACI 會在建置執行期間記錄作業的 SBOM。Yocto 自身的 SPDX 輸出仍帶有 CRACI 不會記錄的 recipe 中繼資料,例如已套用的修補程式,以及 recipe 標示為已修正的 CVE,因此如果您依賴這些資訊,請保留 create-spdx。

CRACI 能追蹤晶片廠商 SDK 中的漏洞嗎?

可以,只要您有它們的 SBOM。您可以將廠商 SBOM 加入 CRACI,這些元件就會與您建置的軟體一起受到監控。您的建置在建置期間從廠商下載的任何內容,也都會記錄在作業的 SBOM 中。

CRACI 能偵測韌體中的惡意軟體嗎?

無法依行為或信譽偵測。已發布 CVE 的已知惡意版本(例如 xz 後門)會像其他漏洞一樣被標示,政策關卡也能封鎖包含它的建置。面對新的攻擊,CRACI 的防護是設為預設拒絕的對外連線政策,它會阻止建置連到不需要的主機。

CRACI 會簽署韌體或來源證明嗎?

不會。CRACI 不簽署韌體、SBOM 或來源證明。請繼續使用您自己的簽章流程,以及硬體支援的金鑰儲存區來處理版本發布與更新。

Cyber Resilience Act 適用於消費性電子產品嗎?

Cyber Resilience Act 涵蓋投放於歐盟市場的含數位元素產品,其中包括大多數連網消費性裝置。通報義務自 2026 年 9 月 11 日起適用,法規則自 2027 年 12 月 11 日起全面適用。CRACI 能將 CRA 流程所需的相當大一部分供應鏈可視性與佐證資料自動化;但符合法規仍是製造商自己的流程。

CRACI 支援哪些 CI 系統與建置機器?

CRACI 在 Linux 執行器上執行 GitHub Actions 作業,支援 x86-64 與 ARM64,規格從 1 到 32 vCPU。GitLab CI 與 Jenkins 等其他 CI 系統已列入產品藍圖,Windows 與 macOS 執行器也是。

看看您的韌體裡有什麼

預約示範,我們會展示您的裝置建置引入的每個元件,以及其中哪些有漏洞

預約示範