-
Notifications
You must be signed in to change notification settings - Fork 1
security_sbom
GitHub Actions edited this page Jan 2, 2026
·
1 revision
Version: v1.3.0
Stand: November 2025
Format: SPDX 2.3 & CycloneDX 1.5
Kategorie: 🔒 Security
- 📋 Übersicht
- 🔧 SBOM-Generierung
- 📦 Hauptabhängigkeiten
- 🔍 Vulnerability Scanning
- 📊 SBOM-Formate
- 🔐 Signierung (Optional)
- 📋 Lizenz-Übersicht
Ein Software Bill of Materials (SBOM) ist ein detailliertes Inventar aller Komponenten, Bibliotheken und Abhängigkeiten einer Software. Für ThemisDB wird automatisch ein SBOM generiert, um Transparenz über die verwendeten Komponenten zu gewährleisten.
| Anforderung | Standard | Status |
|---|---|---|
| SBOM-Generierung | BSI C5 (SSO-02) | ✅ Implementiert |
| Supply Chain Security | NIS2 Art. 21(2)(d) | ✅ Implementiert |
| Software Composition | NIST SSDF | ✅ Implementiert |
| Transparency | Executive Order 14028 | ✅ Implementiert |
| Vulnerability Tracking | NTIA Minimum Elements | ✅ Implementiert |
Der SBOM wird automatisch bei jedem Release über GitHub Actions generiert:
# .github/workflows/sbom.yml
- Trigger: push to main, tags, releases
- Tools: Syft, Grype
- Outputs: SPDX, CycloneDX# Syft installieren
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
# SBOM generieren (SPDX)
syft . -o spdx-json=sbom-spdx.json
# SBOM generieren (CycloneDX)
syft . -o cyclonedx-json=sbom-cyclonedx.json
# Übersicht anzeigen
syft . -o table| Komponente | Version | Lizenz | Beschreibung |
|---|---|---|---|
| rocksdb | 8.x | Apache-2.0 / GPL-2.0 | LSM-Tree Storage Engine |
| boost | 1.83+ | BSL-1.0 | Asio, Beast, Program Options |
| openssl | 3.x | Apache-2.0 | TLS, Kryptographie |
| nlohmann-json | 3.x | MIT | JSON Parser |
| simdjson | 3.x | Apache-2.0 | High-Performance JSON |
| yaml-cpp | 0.8+ | MIT | YAML Parser |
| spdlog | 1.x | MIT | Logging |
| gtest | 1.14+ | BSD-3-Clause | Testing Framework |
| benchmark | 1.x | Apache-2.0 | Benchmarking |
| tbb | 2021.x | Apache-2.0 | Threading Building Blocks |
| hnsw | - | Apache-2.0 | Vector Search |
| msgpack | 6.x | BSL-1.0 | Serialization |
| Komponente | Version | Lizenz | Beschreibung |
|---|---|---|---|
| WPF | .NET 8.0 | MIT | UI Framework |
| CommunityToolkit.Mvvm | 8.x | MIT | MVVM Framework |
| System.Text.Json | 8.x | MIT | JSON Serialization |
| SDK | Abhängigkeiten | Lizenz |
|---|---|---|
| JavaScript/TypeScript | fetch, typescript | MIT |
| Python | requests, httpx | MIT |
| Rust | reqwest, serde, tokio | MIT/Apache-2.0 |
| Go | net/http, encoding/json | BSD-3-Clause |
| Java | Gson, HttpClient | Apache-2.0 |
| C# | System.Net.Http, System.Text.Json | MIT |
# Grype installieren
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
# SBOM scannen
grype sbom:sbom-cyclonedx.json
# JSON-Output für CI/CD
grype sbom:sbom-cyclonedx.json -o json > vulnerabilities.json| Schweregrad | Aktion |
|---|---|
| Critical | Blockiert Release, sofortige Behebung |
| High | Warnung, Behebung innerhalb 7 Tagen |
| Medium | Dokumentation, Behebung innerhalb 30 Tagen |
| Low | Tracking, Behebung bei nächster Gelegenheit |
{
"spdxVersion": "SPDX-2.3",
"dataLicense": "CC0-1.0",
"SPDXID": "SPDXRef-DOCUMENT",
"name": "themisdb",
"documentNamespace": "https://github.com/makr-code/ThemisDB",
"packages": [
{
"SPDXID": "SPDXRef-Package-rocksdb",
"name": "rocksdb",
"versionInfo": "8.x",
"licenseConcluded": "Apache-2.0"
}
]
}{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"version": 1,
"metadata": {
"component": {
"name": "themisdb",
"version": "1.0.0"
}
},
"components": [
{
"type": "library",
"name": "rocksdb",
"version": "8.x",
"licenses": [{"id": "Apache-2.0"}]
}
]
}# Cosign installieren
go install github.com/sigstore/cosign/v2/cmd/cosign@latest
# SBOM signieren (keyless)
cosign sign-blob --yes sbom-cyclonedx.json > sbom-cyclonedx.sig
# Signatur verifizieren
cosign verify-blob --signature sbom-cyclonedx.sig sbom-cyclonedx.json| Lizenz | Anzahl Komponenten | Kompatibilität |
|---|---|---|
| MIT | ~15 | ✅ Kompatibel |
| Apache-2.0 | ~10 | ✅ Kompatibel |
| BSD-3-Clause | ~5 | ✅ Kompatibel |
| BSL-1.0 | ~3 | ✅ Kompatibel |
| GPL-2.0 (RocksDB optional) | 1 |
ThemisDB (MIT/Apache-2.0)
├── MIT ✅
├── Apache-2.0 ✅
├── BSD-3-Clause ✅
├── BSL-1.0 ✅
└── GPL-2.0 ⚠️ (nur wenn RocksDB unter Apache lizenziert)
| Datei | Format | Beschreibung |
|---|---|---|
sbom-spdx.json |
SPDX 2.3 JSON | Vollständiges SBOM |
sbom-spdx.spdx |
SPDX Tag-Value | Alternative Format |
sbom-cyclonedx.json |
CycloneDX 1.5 JSON | Vollständiges SBOM |
sbom-cyclonedx.xml |
CycloneDX 1.5 XML | Alternative Format |
sbom-summary.txt |
Text | Übersichtstabelle |
vulnerability-report.json |
JSON | Grype Scan-Ergebnisse |
SBOMs werden automatisch an jedes GitHub Release angehängt:
- SPDX Specification
- CycloneDX Specification
- NTIA SBOM Minimum Elements
- Syft Documentation
- Grype Documentation
- BSI C5 Criteria
Letzte Aktualisierung: November 2025
Dokumentverantwortlicher: ThemisDB Security Team
- Architecture-ACCESS-MODEL-IMPLEMENTATION-SUMMARY
- Architecture-ADR-003-pg-dump-sql-parser
- Architecture-BASEENTITY-PRINCIPLE
- Architecture-CACHE-STORAGE-INTEGRATION
- Architecture-CMAKE-ARCHITECTURE
- Architecture-CMAKE-FLAGS-REFERENCE
- Architecture-CMAKE-MODULAR-ARCHITECTURE
- Architecture-CONCERNS-ARCHITECTURE-DIAGRAM
- Architecture-CONCERNS-IMPLEMENTATION-SUMMARY
- Architecture-CONTENT-MODEL
- Architecture-COPILOT-THEMISDB-GRAPH-RAG-BACKEND-ARCHITECTURE
- Architecture-CRYPTO-AND-KEYS
- Architecture-FEATURE-FLAGS-REFERENCE
- Architecture-GPU-ARCHITECTURE-REVIEW-TEMPLATE
- Architecture-HTTP-SHUTDOWN-HARDENING
- Architecture-MIGRATION-GUIDE-CONCERNS
- Architecture-MIGRATION-GUIDE-v13-v14
- Architecture-MODULARIZATION-GUIDE
- Architecture-MODULAR-ARCHITECTURE-ROADMAP
- Architecture-MODULE-ARCHITECTURE-INDEX
- Architecture-P1D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D08-MAMBA-GOVERNANCE-CONTRACT
- Architecture-P1-P2-IMPLEMENTATION-COMPLETION-INDEX
- Architecture-PHASE0-COMPLETION-ASSESSMENT
- Architecture-PHASE3-QUERYENGINE-DI-ARCHITECTURE
- Architecture-PHASE4-INDEX-MANAGER-DI
- Architecture-POSTGRESQL-WIRE-PROTOCOL
- Architecture-QUERYENGINE-IMPLEMENTATION-GUIDE
- Architecture-QUERY-SCHEDULING
- Architecture-RAFT-CONSENSUS-DESIGN
- Architecture-README
- Architecture-README-SSM-HYBRID-IMPLEMENTATION
- Architecture-REFACTORING-SUMMARY
- Architecture-RESOURCE-POOLING
- Architecture-SOURCE-DIRECTORY-GUIDE
- Architecture-THEMIS-CORE-GUIDE
- Architecture-UNIFIED-ACCESS-MODEL
- Architecture-WAL-GRPC-MTLS-CONFIGURATION
- Architecture-WIRE-PROTOCOL-RETRY
- Architecture-boltzmann-observability-draft
- Architecture-experimental-logarithmic-vector-storage
- Architecture-llm-wiki-mvp-adr
- Architecture-rewrite-engine-architecture
- Architecture-rope-api-architecture
- Architecture-ssm-gguf-mamba-status
- Architecture-ssm-hybrid-analysis
- Architecture-ssm-hybrid-rollout-plan
- Architecture-ssm-plugin-interface-design-review
- Architecture-transaction-coordinators
- Architecture-wiki-secondary-index
- Architecture-wire-protocol
- Governance-DISABLED-STUB-POLICY
- Governance-DOCS-PR-POLICY
- Governance-GA-PROMOTION-SIGN-OFF
- Governance-GITHUB-MILESTONES-SETUP
- Governance-MATURITY-CLAIM-VERIFICATION-CHECKLIST
- Governance-MATURITY-EVIDENCE-REGISTRY
- Governance-MERGE-GATE-BOT-CONFIG
- Governance-MERGE-GATE-STATUS-LIVE
- Governance-PHASE3-ENFORCEMENT-RUNBOOK
- Governance-PHASE-1-CLOSURE-REPORT
- Governance-PHASE-CLOSURE-POLICY
- Governance-PHASE-DEPENDENCY-GRAPH
- Governance-PLUGIN-SUBMODULE-ROLLBACK
- Governance-PRODUCTION-READY-2026-DELIVERY-PLAN
- Governance-PR-VERSION-TARGETING
- Governance-PR-VERSION-TARGETING-BACKFILL
- Governance-QUERY-MODULE-STATUS
- Governance-README
- Governance-RELEASE-PROMOTION-GATE-POLICY
- Governance-RELEASE-VALIDATION-CHECKLIST
- Governance-SECURITY-MODULE-5671-EVIDENCE-SUMMARY
- Governance-SHARDING-P6-RESIDUAL-RISK-ACCEPTANCE
- Governance-SOURCECODE-COMPLIANCE-GOVERNANCE
- Governance-UPDATES-DEVELOPMENT-STATUS-SIGN-OFF
- Governance-WAVE-C-IMPLEMENTATION-COMPLETE
- Module-acceleration-Roadmap
- Module-access-model-Roadmap
- Module-ai-Roadmap
- Module-analytics-Roadmap
- Module-api-Roadmap
- Module-aql-Roadmap
- Module-auth-Roadmap
- Module-base-Roadmap
- Module-cache-Roadmap
- Module-cdc-Roadmap
- Module-chaos-Roadmap
- Module-chimera-Roadmap
- Module-config-Roadmap
- Module-content-Roadmap
- Module-core-Roadmap
- Module-distributed-knowledge-Roadmap
- Module-distributed-tensor-Roadmap
- Module-document-Roadmap
- Module-ethics-ai-Roadmap
- Module-evaluation-Roadmap
- Module-execution-Roadmap
- Module-exporters-Roadmap
- Module-failover-Roadmap
- Module-geo-Roadmap
- Module-governance-Roadmap
- Module-gpu-Roadmap
- Module-graph-Roadmap
- Module-image-analysis-Roadmap
- Module-importers-Roadmap
- Module-index-Roadmap
- Module-ingestion-Roadmap
- Module-llama-cpp-Roadmap
- Module-llm-Roadmap
- Module-llm-streaming-Roadmap
- Module-llm-wiki-Roadmap
- Module-maintenance-Roadmap
- Module-metadata-Roadmap
- Module-network-Roadmap
- Module-observability-Roadmap
- Module-onnx-clip-Roadmap
- Module-performance-Roadmap
- Module-plugins-Roadmap
- Module-process-Roadmap
- Module-projects-Roadmap
- Module-prompt-engineering-Roadmap
- Module-query-Roadmap
- Module-rag-Roadmap
- Module-replication-Roadmap
- Module-retrieval-Roadmap
- Module-rpc-grpc-Roadmap
- Module-scheduler-Roadmap
- Module-scraper-Roadmap
- Module-search-Roadmap
- Module-security-Roadmap
- Module-server-Roadmap
- Module-sharding-Roadmap
- Module-stable-diffusion-Roadmap
- Module-storage-Roadmap
- Module-temporal-Roadmap
- Module-tensor-Roadmap
- Module-themis-Roadmap
- Module-timeseries-Roadmap
- Module-toolbox-Roadmap
- Module-training-Roadmap
- Module-transaction-Roadmap
- Module-updates-Roadmap
- Module-user-storage-encrypted-Roadmap
- Module-utils-Roadmap
- Module-vector-search-Roadmap
- Module-voice-Roadmap
- Module-whisper-Roadmap