סקירה: מה זה SBOM ?
כחברה המספקת פתרונות DevSecOps ו- AppSec,
אנו נשאלים לעתים מה זה SBOM , מדוע הוא חשוב וכיצד ניתן לייצר אותו,
ולכן הכנתי את הסקירה הבאה (SBOM 101) הכוללת הסברים וגם מספר דוגמאות.

"SBOM" הן ראשי תיבות " Software Bill of Materials" , והמשמעות היא רשימת מרכיבי תוכנה .
זוהי רשימה של כל הרכיבים המרכיבים תוכנה – הן רכיבים עצמיים (first-party) שמפותחים ע"י יצרן התוכנה עצמו,
והן רכיבי צד-שלישי (3rd-party), יחד עם יחסי הגומלין ביניהם ונתוני meta data מרכזיים
(כגון גרסה, ספק, מזהים וכו').
ממשלת ארה"ב הגדירה "רכיבי מינימום" עבור SBOMs כדי ליצור סטנדרטיזציה של מה שחובה לכלול בעת מסירת קוד או אפליקציות.
הסוכנות לאבטחת סייבר ותשתיות בארה"ב (CISA) אחראית על ההנחיות העדכניות בארה"ב ומסבירה כיצד SBOMs משתלבים בשקיפות רכיבי תוכנה ובציפיות הרכש.
למה SBOM חשוב?
דו"ח SBOM נדרש ממספר סיבות – הנה העיקריות שבהן:
- ניהול סיכוני שרשרת אספקה (Secure Supply Chain):
כאשר מתגלה פגיעות חדשה (CVE), למשל בפרויקט קוד פתוח שתלויים בו,
SBOMs מאיצים את ניתוח ההשפעה והטמעת התיקונים (מכיוון שכבר ידוע מה נמצא בתוך היישומים וה- images שלכם).
גם המכון הלאומי לתקנים וטכנולוגיה (NIST) וגם CISA מדגישים את חשיבות ה-SBOMs לשקיפות ותיקון מהיר יותר. - דרישות רגולטוריות ודרישות לקוח:
הנחיות הרכש של התוכנה הפדרלית בארה"ב (OMB M-22-18) מתייחסות לרכיבי המינימום של NTIA ומצפות לקבל מספקי תוכנה SBOMs מבוססי-סטנדרטים.
SBOMs נדרשים יותר ויותר בחוזים ובשאלונים בנושאי אבטחה. - License & IP hygiene (ולידציה לרישוי ולקניין הרוחני):
שדות הרישיון בתקני SPDX/CycloneDX, SBOMs הופכים את תהליכי התאימות ובדיקת הנאותות (due diligence) לקלים יותר לביקורת חיצונית (שלעתים היא נעשית מדי תקופה). - תגובה לאירועים וזיהוי פלילי דיגיטלי (forensics). אם מתרחשת פריצה המערבת רכיב תוכנה מסוים, SBOMs עוזרים לצוותים למפות באופן מיידי את כל התוכנות והגרסאות המושפעות.
פורמטים נפוצים של SBOM (ומתי להשתמש בהם):
ישנם מספר פורמטים נפוצים לדו"חות SBOM, המיוצאים למספר סוגי קבצים נפוצים (כגון JSON, XML ו- YAML).
להלן סקירה קצרה על פורמטי SBOM הנפוצים.
- SPDX :
זהו פורמט הנחשב חזק בהיבטי רישוי ותאימות; בעל אימוץ נרחב; תומך בשדות אבטחה ומקור (provenance) במודל v3.
(Linux Foundation; ISO/IEC 5962:2021) - CycloneDX :
משפחת BOMs המתמקדת באבטחה ("full-stack") וכוללת SBOM, SaaSBOM, HBOM, MLBOM, CBOM. הפורמט עשיר במטא-דאטה ומותאם ל-VEX (Vulnerability Exploitability eXchange).
האקוסיסטם והכלים סביבו פעילים מאוד.
הפורמט נוצר ומתוחזק ע"י ארגון OWASP – ארגון שמטרתו לשפר את האבטחה בפרוייקטי תוכנה. - SWID :
תגיות למלאי נכסים (asset inventory) עבור תוכנות מותקנות; שימש בעבר בעיקר בניהול נכסי IT (ITAM). מועיל עבור תחנות קצה, אך אינו מספק SBOM מלא ברמת היישום הנדרש לניהול סיכוני שרשרת אספקה מודרנית.
הפורמט קשור לתקן (ISO/IEC 19770-2) .
דוגמאות ל- SBOM :
להלן מספר דוגמאות:
דוגמא לפורמט CycloneDX כקובץ JSON :
{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"serialNumber": "urn:uuid:...example...",
"version": 1,
"metadata": {
"timestamp": "2025-08-12T12:00:00Z",
"tools": [{ "vendor": "ExampleCo", "name": "Example-SBOM-Generator", "version": "0.1.0" }],
"component": {
"type": "application",
"name": "demo-webapp",
"version": "2.4.0",
"bom-ref": "pkg:generic/demo-webapp@2.4.0"
}
},
"components": [
{
"type": "library",
"name": "lodash",
"version": "4.17.21",
"bom-ref": "pkg:npm/lodash@4.17.21",
"purl": "pkg:npm/lodash@4.17.21",
"licenses": [{ "license": { "id": "MIT" } }],
"externalReferences": [{ "type": "website", "url": "https://lodash.com" }]
},
{
"type": "library",
"name": "log4j-core",
"version": "2.17.1",
"bom-ref": "pkg:maven/org.apache.logging.log4j/log4j-core@2.17.1",
"purl": "pkg:maven/org.apache.logging.log4j/log4j-core@2.17.1",
"licenses": [{ "license": { "id": "Apache-2.0" } }]
}
],
"dependencies": [
{
"ref": "pkg:generic/demo-webapp@2.4.0",
"dependsOn": [
"pkg:npm/lodash@4.17.21",
"pkg:maven/org.apache.logging.log4j/log4j-core@2.17.1"
]
}
],
"vulnerabilities": [
{
"id": "CVE-2021-45046",
"source": { "name": "NVD" },
"ratings": [{ "score": 9.0, "severity": "critical", "method": "CVSSv3" }],
"affects": [{ "ref": "pkg:maven/org.apache.logging.log4j/log4j-core@2.17.1" }],
"analysis": { "state": "resolved", "detail": "Updated to fixed version 2.17.1" }
}
]
}
דוגמא לפורמט SPDX כקובץ YAML :
בדוגמא הבאה רואים צמדים של Tag/Value
SPDXVersion: SPDX-2.3
DataLicense: CC0-1.0
SPDXID: SPDXRef-DOCUMENT
DocumentName: demo-webapp-2.4.0
DocumentNamespace: http://spdx.org/spdxdocs/demo-webapp-2.4.0-<uuid>
Creator: Tool: Example-SBOM-Generator-0.1.0
Creator: Organization: ExampleCo
Created: 2025-08-12T12:00:00Z
##### Package: Application
PackageName: demo-webapp
SPDXID: SPDXRef-Package-demo
PackageVersion: 2.4.0
PackageDownloadLocation: NOASSERTION
PackageSupplier: Organization: ExampleCo
ExternalRef: PACKAGE-MANAGER purl pkg:generic/demo-webapp@2.4.0
##### Package: lodash
PackageName: lodash
SPDXID: SPDXRef-Package-lodash
PackageVersion: 4.17.21
PackageDownloadLocation: NOASSERTION
PackageLicenseDeclared: MIT
PackageLicenseConcluded: MIT
ExternalRef: PACKAGE-MANAGER purl pkg:npm/lodash@4.17.21
##### Package: log4j-core
PackageName: log4j-core
SPDXID: SPDXRef-Package-log4j-core
PackageVersion: 2.17.1
PackageDownloadLocation: NOASSERTION
PackageLicenseDeclared: Apache-2.0
PackageLicenseConcluded: Apache-2.0
ExternalRef: PACKAGE-MANAGER purl pkg:maven/org.apache.logging.log4j/log4j-core@2.17.1
Relationship: SPDXRef-Package-demo DEPENDS_ON SPDXRef-Package-lodash
Relationship: SPDXRef-Package-demo DEPENDS_ON SPDXRef-Package-log4j-core
חברת ALM Toolbox מסייעת לחברות המפתחות תוכנה בבחירת הכלי המתאים עבורן לצורך יצור SBOM מתוך מגוון כלים,
הפקתו במגוון שפות ו- frameworks (כגון Java, C#, C++, JS ועוד),
חיבור יצירת הדו"ח לתהליכי פיתוח ו- CI/CD כחלק מפתרונות AppSec / DevSecOps ו- Software Composition Analysis , יעוץ, מתן best practices ותמיכה שוטפת.
לפרטים נוספים פנו אלינו: devsecops@almtoolbox.com
או טלפונית: 072-240-5222
קישורים רלוונטים:
- הרחבה על פורמט OWASP CycloneDX (אתר OWASP)
- אתר SonarQube ישראל (עברית)
- אתר GitLab ישראל (עברית)