Zum Hauptinhalt springen

Stückliste

fremforge legt die Werkzeuge unter jeder Kontrolle bewusst offen. Kundinnen und Kunden, die einer Prüfung nach BSI C5, ISO 27001, BaFin oder ENISA-Vorgaben unterliegen, brauchen den Prüfpfad auf Werkzeugebene, und uns ist es lieber, dass du in unserem Quellcode suchen kannst, als dass du eine Blackbox zurückentwickeln musst.

Diese Seite ist das maßgebliche Inventar. Die kürzere Tabelle in der Übersicht der Sicherheitsfunktionen ist eine Teilmenge zum schnellen Nachschlagen; hier steht der vollständige Datensatz: Versionen, Bezugsquellen, wo jede Komponente läuft, die mitgelieferte Lieferketten-Attestierung und die Lizenz.

Integrität der Lieferkette

Jede Abhängigkeit, jedes Container-Image und jedes Binary in diesem Inventar durchläuft die Upstream-Kontaktregel von fremforge:

  • Auf GitHub gehosteter Code fließt über den nativen Pull-Mirror von Forgejo unter frem.sh/<canonical-org>/<repo> (Synchronisierung alle 8 Stunden). Kunden-Workflows, die uses: actions/checkout@v4 auflösen, landen bei frem.sh/actions/checkout; auf dem kritischen Pfad der Kundin oder des Kunden gibt es keinen direkten Abruf von github.com.
  • Container-Images (docker.io / ghcr.io / quay.io / public.ecr.aws) werden über einen internen EU-Mirror zwischengespeichert. Produktionsmanifeste verweisen nie direkt auf eine Upstream-Registry.
  • Release-Binarys, die nicht als OCI ausgeliefert werden (z. B. opengrep, cosign), werden in winzige Cache-Images verpackt, die aus demselben internen EU-Mirror ausgeliefert werden. Renovate verfolgt die Upstream-Version des GitHub-Releases und öffnet wöchentlich einen Bump-PR.

CI prüft Dockerfiles und Manifeste auf jede Referenz, die den Mirror umgehen würde, sodass jede Upstream-Abhängigkeit über den Cache in der EU aufgelöst wird statt direkt aus einer öffentlichen Registry.

CI- und Lieferketten-Werkzeuge

WerkzeugVersionEinsatzLizenzBezugsquelle
Forgejov15.xRepository-Hosting, Code-Review, Actions-Runner-Protokoll, SSO-AuthentifizierungsquellenGPLv3Interner EU-Mirror (fremforge-Build)
forgejo-runner (act_runner)v13.2.0Registrierung kurzlebiger Runner auf einer ECS-VM pro CommitMITInterner EU-Mirror
Gitleaksv8.xSecret-Scan beim Pre-ReceiveMITInterner EU-Mirror
OpenGrepv1.22SAST bei jedem PR (FOSS-Nachfolger von Semgrep nach dessen Lizenzwechsel)LGPLv2.1Interner EU-Mirror
Trivyv0.74Image-Scan in der Kunden-CI + CVE-Prüfung, die ins Runner-Image eingebaut istApache 2.0Interner EU-Mirror
osv-scannerLatestCVE-/GHSA-Scan der Abhängigkeiten zum PR-ZeitpunktApache 2.0Interner EU-Mirror
SyftLatestSBOMs in CycloneDX 1.6 + SPDX 2.3 bei jedem PR-Scan (beide werden beim Einspeisen akzeptiert)Apache 2.0Interner EU-Mirror
cosignLatestSignieren + Verifizieren von Images (Kunden-CI über cosign-verify.yaml)Apache 2.0Interner EU-Mirror
Fulciov1.8.5 (Helm 2.9.0)Selbst gehostete Code-Signing-CA unter sign.frem.sh. Root-CA im DEW KMS von T Cloud Public (HSM nach FIPS 140-2 Level 3). NICHT der öffentliche Sigstore-Fulcio: fremforge betreibt seinen eigenenApache 2.0Interner EU-Mirror
Sigstore TSALatestZeitstempelstelle nach RFC 3161 unter tsa.frem.sh. Schlüssel im DEW KMS. NICHT die öffentliche Sigstore-TSAApache 2.0Interner EU-Mirror
gitsignLatestGit-Client auf Kundenseite; an OIDC gebundenes Commit-Signieren gegen den eigenen FulcioApache 2.0Installation auf Kundenseite (brew install sigstore/tap/gitsign)
RenovateLatestGehosteter Bot für Abhängigkeits-Bumps, Cron alle 15 Minuten, Opt-out pro RepositoryAGPLv3Interner EU-Mirror
kanikoLatestRootless Container-Build in Kunden-Workflows (Alternative zu BuildKit, wenn die Kundin oder der Kunde nicht privilegiert laufen kann)Apache 2.0Interner EU-Mirror
ClamAVLatestMalware-Scan beim Upload (LFS-Objekte, Anhänge, Paket-Uploads) und der optionale Scan im Dependency-Proxy. Die Signaturquellen stehen unter ErkennungsinhalteGPLv2Interner EU-Mirror
scorecardLatestWöchentlicher OpenSSF-Best-Practice-Lauf pro RepositoryApache 2.0Interner EU-Mirror
openssl + python3 (stdlib)n/aVerifikation der von fremforge ausgestellten Veröffentlichungs-Attestierungen auf Kundenseite: Die DSSE-Umschläge sind mit einem reinen Ed25519-Schlüssel signiert, sodass die Verifikation ein kleines Rezept mit curl/jq/openssl/python3 ist (siehe SLSA-Provenienz), nicht das Upstream-Werkzeug slsa-verifier—Werkzeuge, die mit der Distribution kommen

Erkennungsinhalte

Die Regeln, Advisory-Datenbanken und Malware-Signaturen, gegen die die Scanner abgleichen. Jeder Inhalt ist festgelegt oder wird im angegebenen Rhythmus aktualisiert, und keiner wird während eines laufenden Scans abgerufen.

InhaltVerwendet vonLizenzBezugsquelle
GitLab sast-rules, nur die Ordner pro Sprache (C#, Go, Java, JavaScript, Python, Scala)SAST und /opt/sast-rules im gehosteten Runner-ImageMIT; die Go-Regeln Apache-2.0 (abgeleitet von gosec). Der Rest des Upstream-Repositorys, der Inhalte unter anderen Lizenzen enthält, wird beim Build gelöscht, und der Build scheitert, wenn eine behaltene Datei eine andere Lizenz als MIT, Apache-2.0 oder BSD trägtfrem.sh-Pull-Mirror, festgelegter Commit
0xdea semgrep-rules, rules/cSAST für C und C++MITfrem.sh-Pull-Mirror, festgelegter Commit
SAST-Regeln von fremforgeSAST für JavaScript und TypeScript, Python, Bash, PHP, Ruby, Rust, Kotlin und SwiftMITQuellcode von fremforge
Trivy-Schwachstellendatenbanken (trivy-db, trivy-java-db)Container-Image-Scanning, trivy fs bei Pull RequestsApache-2.0 für den Datenbank-Build; jeder Eintrag behält die Bedingungen seiner Quelle (GitHub Advisory Database, Sicherheitsdaten von Red Hat und SUSE: CC-BY-4.0)Interner EU-Mirror, täglich aktualisiert
OSV-Datenbank, Offline-KopieAbhängigkeits-Scanning, schädliche Pakete, Paketrichtlinien, Audits im Dependency-ProxyCC-BY-4.0; jeder Eintrag behält die Bedingungen seiner QuelleInterner Mirror des OSV-Exports, täglich aktualisiert
Go-SchwachstellendatenbankGo-Erreichbarkeit (govulncheck)CC-BY-4.0Der Go-Export des OSV-Mirrors, täglich aktualisiert
GitHub Advisory DatabaseÜber OSV und die Trivy-DatenbankenCC-BY-4.0Über die OSV- und Trivy-Mirrors
Signaturen von SaneSecurityClamAV-Malware-ScanBedingungen von SaneSecurity: kostenlos, spendenfinanziertEin öffentlicher SaneSecurity-Mirror, alle 4 Stunden
YARA-Forge CoreClamAV-Malware-ScanDetection Rule License 1.1; kommerzielle Nutzung mit Namensnennung der Regelautoren erlaubtAlle 4 Stunden, Upstream-Releases wöchentlich
Signaturen von Linux Malware DetectClamAV-Malware-ScanGPLv2Alle 4 Stunden, Upstream täglich
EICAR-TestsignaturSmoke-Test des Malware-ScansFrei nutzbar (EICAR)Statisch, wird mit dem Scanner ausgeliefert

Plattformgrundlage

SchichtWerkzeug / AnbieterEinsatzLizenz / Einordnung
Container-RegistryT Cloud Public SWRAlle fremforge-Images. Einzige Quelle für Pulls zur Laufzeit; Mirror für jede Upstream-RegistryAnbieter (Deutsche Telekom, eu-de)
KubernetesT Cloud Public CCE Turbo (Cloud Native Network 2.0)Plattform-Workloads (Forgejo, Control-Plane-Monolith, Jobs). ENI + Security Group pro Pod über Yangtse CNI. CI-Runner laufen hier nicht; siehe die ECS-Zeile untenAnbieter (Deutsche Telekom, eu-de)
Rechenleistung für gehostete CI-RunnerT Cloud Public ECS (kurzlebige VM pro Commit)Eine kurzlebige ECS-VM pro Commit/PR; eigener Kernel (durch den Hypervisor isoliert), nach dem Job abgeräumt; VPC-Security-Group pro VM (kein eingehender Verkehr, VM-zu-VM verboten, ausgehender Verkehr über den SSRF-geschützten Runner-Proxy)Anbieter (Deutsche Telekom, eu-de)
Objektspeicher (Betreiber)T Cloud Public OBSWORM-Anker der Audit-Kette, SBOM-Archiv, Datenexport, OpenTofu-StateAnbieter (Deutsche Telekom, eu-de)
Relationale DatenbankT Cloud Public RDS (PostgreSQL 15)API-Zustand, Mandanten- und Befundtabellen, Audit-KetteAnbieter (Deutsche Telekom, eu-de)
In-Memory-CacheT Cloud Public DCS RedisRate-Limit-Zähler, gesehene IPs beim Token-Austausch, Sitzungs-CacheAnbieter (Deutsche Telekom, eu-de)
SchlüsselverwaltungT Cloud Public DEWMASTER_ENCRYPTION_KEY, Fulcio-Root-CA, TSA-SignierschlüsselAnbieter (HSM nach FIPS 140-2 Level 3, Deutschland)
Function-as-a-ServiceT Cloud Public FunctionGraphGeplante Cron- und Aufräum-WorkloadsAnbieter (Deutsche Telekom, eu-de)
Log- und MetrikebeneT Cloud Public LTS + CESAnwendungslogs, Stichwortalarme, SLO-MetrikenAnbieter (Deutsche Telekom, eu-de)
Edge / CDNBunny CDNTLS-Terminierung, Caching an EU-Edges, Edge-Regeln, Rate-Limit-UntergrenzeAnbieter (Hauptsitz Slowenien, in der EU ansässig, kein US-Unterauftragsverarbeiter)
Transaktions-E-MailLettermintAuthentifizierungs-E-Mails, Abrechnungshinweise, BenachrichtigungenAnbieter (NL, DSGVO-konform ansässig)
Betriebspostfachmailbox.orgEingehende Admin-Mails an *@frem.shAnbieter (Deutschland)
ZahlungsabwicklungMollieKarte + SEPA-LastschriftAnbieter (NL, DSGVO-konform ansässig)
BuchhaltungDineroRechnungsstellung + BuchhaltungAnbieter (DK, DSGVO-konform ansässig)
Externe Verfügbarkeitsprüfungupdown.ioVerfügbarkeitsprüfungen von außerhalb des Netzes (API, Forgejo, Kuma, Marketing, Authentik)Anbieter (FR)

Jeder Anbieter auf dieser Liste ist vertraglich in der EU ansässig, ohne US-Unterauftragsverarbeiter im Datenpfad. Den vollständigen AVV und die Kette der Unterauftragsverarbeiter findest du auf der Trust-Seite.

Was wir bewusst nicht verwenden

Anbieter / Werkzeug, den wir meidenWarum
github.com (direkt)EU-Souveränität + Schrems II + die Upstream-Kontaktregel. Ausschließlich gespiegelt.
GitHub Advanced Security (CodeQL usw.)Proprietäre Erkennungsregeln, die du nicht prüfen kannst. Wir verwenden OpenGrep + Trivy + osv-scanner: alles OSS, alles prüfbar.
Microsoft 365, Entra, DefenderEbenso. Das Produkt fremforge hat keinerlei Microsoft-Fußabdruck. (Die Unternehmens-IT von fremverk ist eine getrennte Identitätswelt.)
Öffentliches Sigstore Fulcio/Rekor (sigstore.dev)In den USA gehostet; der Verifikationspfad würde die EU verlassen. Wir betreiben unseren eigenen Fulcio + TSA in eu-de mit der Root-CA im DEW KMS. Bewusst kein Rekor / Transparenzprotokoll: Der Integritätsbaustein ist stattdessen die Zeitstempelung über die TSA.
AWS, GCP, AzureUnter Kontrolle US-amerikanischer Cloud-Anbieter. T Cloud Public wird von der Deutschen Telekom auf einem von Huawei abgeleiteten Stack betrieben; der OpenTofu-Provider ist der für OTC gepflegte Fork (opentelekomcloud/opentelekomcloud, nie huaweicloud/huaweicloud).
Cloudflare, Fastly, AkamaiEdge unter Kontrolle US-amerikanischer Cloud-Anbieter. Bunny CDN hat seinen Hauptsitz in der EU und ist vertraglich in der EU ansässig.
Google Fonts, jsDelivr, über unpkg-CDN geladene AssetsEin CDN eines Drittanbieters legt Verkehrsmuster gegenüber Edges in den USA offen. Alle Schriften, JS und CSS werden selbst unter www.frem.sh/fonts/ über Bunny EU gehostet.
Langlebige Zugangsdaten von Dienstkonten in Kunden-WorkflowsOIDC-Token-Föderation (Workflow-OIDC) + agentennative Authentifizierung ersetzen sie. Langlebige Schlüssel sind ein optionaler, veralteter Weg mit einem Hinweisbanner zur Abkündigung.

So nutzt du diese Stückliste in deinem eigenen Audit-Paket

Für eine RFP-Antwort oder einen Lieferantenfragebogen: Verlinke direkt auf diese Seite. Die URL ist stabil: https://docs.frem.sh/security/bill-of-materials/.

Für Nachweise nach BSI C5 oder ISO 27001: Frag bei security@frem.sh den datierten PDF-Schnappschuss an. Auf Anfrage können wir außerdem eine SBOM der Plattform selbst im CycloneDX-Format erstellen (nicht nur pro Release), nützlich für den Abgleich transitiver CVEs.

Für die laufende Verifikation: Jedes Release jeder fremforge-Komponente veröffentlicht eine mit Syft erzeugte CycloneDX-SBOM, und die SLSA-L2-Provenienz auf Kundenseite legt den Digest jedes attestierten Assets fest. Die Provenienz ist ein mit Ed25519 signierter DSSE-/in-toto-Umschlag (<asset>.intoto.jsonl); verifiziere ihn gegen den veröffentlichten Trust Root von fremforge mit dem Rezept aus curl/jq/openssl/python3 unter SLSA-Provenienz.

Abweichungen: Diese Stückliste wird derzeit von Hand gepflegt. Schreib an security@frem.sh, wenn du vor einem Audit einen aktuellen Schnappschuss brauchst.

Verwandte Themen

  • Trust-Seite: AVV, Liste der Unterauftragsverarbeiter, Compliance-Nachweise.
  • Hinweise zu Drittanbietern im Runner-Image: Lizenzhinweise, das Quellcode-Angebot für opengrep und die Namensnennung für Advisory-Daten und Malware-Signaturen.
  • Sicherheitsfunktionen im Überblick: was jedes Werkzeug tatsächlich tut, mit Direktlinks.
  • SBOMs: wie CycloneDX-/SPDX-SBOMs auf Kundenseite erzeugt werden.
  • SLSA-Provenienz: wie die Veröffentlichungs-Attestierung serverseitig mit dem Ed25519-Schlüssel der Plattform signiert wird, wie du sie verifizierst und warum sie bewusst nicht als SLSA-Level bezeichnet wird.
  • Offenlegung von Schwachstellen: security@frem.sh, SLA von 24 h für die Eingangsbestätigung.