Naar de hoofdinhoud

Stuklijst

fremforge is bewust transparant over de tools onder elke beheersmaatregel. Klanten die onder BSI C5, ISO 27001, BaFin of door ENISA gereguleerde review vallen, hebben het audittraject op toolniveau nodig, en we hebben liever dat je in onze broncode kunt zoeken dan dat je een black box moet reverse-engineeren.

Deze pagina is de gezaghebbende inventaris. De kortere tabel in het overzicht van beveiligingsfuncties is een subset als snelle referentie; deze is het volledige overzicht: versies, bronnen waaruit wordt opgehaald, waar elke component draait, de supply-chain-attestatie die erbij hoort, en de licentie.

Integriteit van de supply chain

Elke afhankelijkheid, elk container-image en elke binary in deze inventaris valt onder de upstream-contactregel van fremforge:

  • Code die op GitHub wordt gehost, loopt via de native pull-mirror van Forgejo op frem.sh/<canonical-org>/<repo> (synchronisatie elke 8 uur). Workflows van klanten die uses: actions/checkout@v4 oplossen, komen uit op frem.sh/actions/checkout: geen directe fetch van github.com op het kritieke pad van de klant.
  • Container-images (docker.io / ghcr.io / quay.io / public.ecr.aws) worden gecachet via een interne EU-mirror. Productiemanifesten verwijzen nooit rechtstreeks naar een upstream-registry.
  • Releasebinaries die niet als OCI worden geleverd (bijv. opengrep, cosign), worden verpakt in kleine cache-images die vanaf dezelfde interne EU-mirror worden geleverd. Renovate volgt de upstream-versie van de GitHub-release en opent wekelijks een PR met de update.

CI controleert Dockerfiles en manifesten op elke verwijzing die de mirror zou omzeilen, zodat elke upstream-afhankelijkheid via de cache in de EU wordt opgelost en niet rechtstreeks uit een publieke registry.

CI- en supply-chain-tools

ToolVersieWaar gebruiktLicentieBron
Forgejov15.xRepositoryhosting, codereview, runnerprotocol van Actions, SSO-authenticatiebronnenGPLv3Interne EU-mirror (fremforge-build)
forgejo-runner (act_runner)v13.2.0Registratie van een kortlevende runner op een ECS-VM per commitMITInterne EU-mirror
Gitleaksv8.xSecretscan bij pre-receiveMITInterne EU-mirror
OpenGrepv1.22SAST op elke PR (FOSS-opvolger van Semgrep, na de licentiewijziging)LGPLv2.1Interne EU-mirror
Trivyv0.74Imagescan in de CI van klanten + CVE-controle van wat in het runner-image is ingebakkenApache 2.0Interne EU-mirror
osv-scannerNieuwsteCVE/GHSA-scan van afhankelijkheden bij een PRApache 2.0Interne EU-mirror
SyftNieuwsteCycloneDX 1.6- en SPDX 2.3-SBOM’s bij elke PR-scan (beide worden bij inname geaccepteerd)Apache 2.0Interne EU-mirror
cosignNieuwsteImages ondertekenen en verifiëren (CI van klanten via cosign-verify.yaml)Apache 2.0Interne EU-mirror
Fulciov1.8.5 (Helm 2.9.0)Zelf gehoste CA voor codeondertekening op sign.frem.sh. Root-CA in T Cloud Public DEW KMS (FIPS 140-2 Level 3 HSM). NIET de publieke Sigstore Fulcio: fremforge draait zijn eigenApache 2.0Interne EU-mirror
Sigstore TSANieuwsteRFC 3161-timestampautoriteit op tsa.frem.sh. Sleutel in DEW KMS. NIET de publieke Sigstore TSAApache 2.0Interne EU-mirror
gitsignNieuwsteGit-client van de klant; aan OIDC gebonden commitondertekening tegen de lokale FulcioApache 2.0Installatie bij de klant (brew install sigstore/tap/gitsign)
RenovateNieuwsteGehoste bot voor afhankelijkheidsupdates, cron elke 15 minuten, per repository uit te zettenAGPLv3Interne EU-mirror
kanikoNieuwsteRootless containerbuild in workflows van klanten (alternatief voor BuildKit als de klant niet privileged kan draaien)Apache 2.0Interne EU-mirror
ClamAVNieuwsteMalwarescan van uploads (LFS-objecten, bijlagen, package-uploads) en de opt-in-scan van de dependency proxy. De signatuurbronnen staan onder Detectie-inhoudGPLv2Interne EU-mirror
scorecardNieuwsteWekelijkse OpenSSF-best-practicerun per repositoryApache 2.0Interne EU-mirror
openssl + python3 (stdlib)n.v.t.Verificatie aan klantzijde van publicatie-attestaties die fremforge uitgeeft. De DSSE-envelopes zijn ondertekend met een kale Ed25519-sleutel, dus verificatie is een klein recept met curl/jq/openssl/python3 (zie SLSA-provenance), niet upstream slsa-verifier—Standaardtools van de distributie

Detectie-inhoud

De regels, advisorydatabases en malwaresignaturen waartegen de scanners matchen. Elk ervan is vastgepind of wordt vernieuwd met de getoonde frequentie, en geen ervan wordt door een scan opgehaald terwijl die draait.

InhoudGebruikt doorLicentieBron
GitLab sast-rules, alleen de mappen per taal (C#, Go, Java, JavaScript, Python, Scala)SAST, en /opt/sast-rules in het gehoste runner-imageMIT; de Go-regels Apache-2.0 (afgeleid van gosec). De rest van de upstream-repository, met inhoud onder andere licenties, wordt bij de build verwijderd, en de build mislukt als een behouden bestand een andere licentie heeft dan MIT, Apache-2.0 of BSDPull-mirror op frem.sh, vastgepinde commit
0xdea semgrep-rules, rules/cSAST voor C en C++MITPull-mirror op frem.sh, vastgepinde commit
SAST-regels van fremforgeSAST voor JavaScript en TypeScript, Python, Bash, PHP, Ruby, Rust, Kotlin en SwiftMITBroncode van fremforge
Kwetsbaarheidsdatabases van Trivy (trivy-db, trivy-java-db)Scannen van container-images, trivy fs op pull requestsApache-2.0 voor de databasebuild; elk record behoudt de voorwaarden van zijn bron (GitHub Advisory Database, beveiligingsdata van Red Hat en SUSE: CC-BY-4.0)Interne EU-mirror, dagelijks vernieuwd
OSV-database, offline kopieScannen van afhankelijkheden, kwaadaardige packages, packagebeleid, audits van de dependency proxyCC-BY-4.0; elk record behoudt de voorwaarden van zijn bronInterne mirror van de OSV-export, dagelijks vernieuwd
Go-kwetsbaarheidsdatabaseBereikbaarheid voor Go (govulncheck)CC-BY-4.0De Go-export van de OSV-mirror, dagelijks vernieuwd
GitHub Advisory DatabaseVia OSV en de Trivy-databasesCC-BY-4.0Via de OSV- en Trivy-mirrors
Signaturen van SaneSecurityClamAV-malwarescanVoorwaarden van SaneSecurity: gratis, gefinancierd door donatiesEen publieke SaneSecurity-mirror, elke 4 uur
YARA-Forge CoreClamAV-malwarescanDetection Rule License 1.1; commercieel gebruik toegestaan met naamsvermelding van de auteurs van de regelsElke 4 uur, upstream wekelijkse releases
Signaturen van Linux Malware DetectClamAV-malwarescanGPLv2Elke 4 uur, upstream dagelijks
EICAR-testsignatuurRooktest van de malwarescanVrij te gebruiken (EICAR)Statisch, meegeleverd met de scanner

Platformfundament

LaagTool / leverancierWaar gebruiktLicentie / positie
ContainerregistryT Cloud Public SWRAlle images van fremforge. Enige bron voor pulls tijdens runtime; mirror voor elke upstream-registryLeverancier (Deutsche Telekom, eu-de)
KubernetesT Cloud Public CCE Turbo (Cloud Native Network 2.0)Platformworkloads (Forgejo, control-plane-monolith, jobs). ENI + Security Group per pod via Yangtse CNI. CI-runners draaien hier niet, zie de ECS-rij hieronderLeverancier (Deutsche Telekom, eu-de)
Rekenkracht voor gehoste CI-runnersT Cloud Public ECS (kortlevende VM per commit)Eén kortlevende ECS-VM per commit/PR; eigen kernel (geïsoleerd door de hypervisor), na de job opgeruimd; VPC Security Group per VM (geen inkomend verkeer, VM-naar-VM geweigerd, uitgaand verkeer via de tegen SSRF beschermde runnerproxy)Leverancier (Deutsche Telekom, eu-de)
Objectopslag (operator)T Cloud Public OBSWORM-anker van de auditketen, SBOM-archief, data-export, OpenTofu-stateLeverancier (Deutsche Telekom, eu-de)
Relationele databaseT Cloud Public RDS (PostgreSQL 15)API-state, tabellen voor tenants en bevindingen, auditketenLeverancier (Deutsche Telekom, eu-de)
In-memory cacheT Cloud Public DCS RedisTellers voor rate limits, gezien-IP bij tokenuitwisseling, sessiecacheLeverancier (Deutsche Telekom, eu-de)
SleutelbeheerT Cloud Public DEWMASTER_ENCRYPTION_KEY, Fulcio-root-CA, ondertekeningssleutel van de TSALeverancier (FIPS 140-2 Level 3 HSM, Duitsland)
Function-as-a-serviceT Cloud Public FunctionGraphGeplande cron- en opruimworkloadsLeverancier (Deutsche Telekom, eu-de)
Log- en metriekenlaagT Cloud Public LTS + CESApplicatielogs, alarmen op trefwoorden, SLO-metriekenLeverancier (Deutsche Telekom, eu-de)
Edge / CDNBunny CDNTLS-terminatie, caching aan de EU-edge, edge-regels, ondergrens voor rate limitsLeverancier (hoofdkantoor in Slovenië, in de EU gevestigd, geen Amerikaanse subverwerker)
Transactionele e-mailLettermintAuthenticatiemails, factuurberichten, meldingenLeverancier (NL, AVG-conform gevestigd)
Operationele mailboxmailbox.orgInkomende beheermail op *@frem.shLeverancier (Duitsland)
BetalingsverwerkingMollieKaart + SEPA-incassoLeverancier (NL, AVG-conform gevestigd)
BoekhoudingDineroFacturen uitgeven + boekhoudingLeverancier (DK, AVG-conform gevestigd)
Externe uptimeprobeupdown.ioBeschikbaarheidsprobes van buiten het netwerk (API, Forgejo, Kuma, marketing, Authentik)Leverancier (FR)

Elke leverancier op deze lijst is contractueel in de EU gevestigd, zonder Amerikaanse subverwerker in het datapad. De volledige DPA en keten van subverwerkers staan op de trustpagina.

Wat we bewust niet gebruiken

Leverancier / tool die we vermijdenWaarom
github.com (direct)EU-soevereiniteit + Schrems II + de upstream-contactregel. Uitsluitend via mirrors.
GitHub Advanced Security (CodeQL enz.)Propriëtaire detectieregels die je niet kunt auditen. Wij gebruiken OpenGrep + Trivy + osv-scanner: allemaal OSS, allemaal te auditen.
Microsoft 365, Entra, DefenderIdem. Het product fremforge heeft geen enkele Microsoft-voetafdruk. (De bedrijfs-IT van fremverk is een aparte identiteitswereld.)
Publieke Sigstore Fulcio/Rekor (sigstore.dev)Gehost in de VS; het verificatiepad zou buiten de EU gaan. Wij draaien onze eigen Fulcio + TSA in eu-de met de root-CA in DEW KMS. Bewust geen Rekor / transparantielog: tijdstempels verankerd in de TSA zijn in plaats daarvan de integriteitsprimitief.
AWS, GCP, AzureOnder controle van Amerikaanse clouds. T Cloud Public wordt door Deutsche Telekom beheerd op een van Huawei afgeleide stack; de OpenTofu-provider is de voor OTC onderhouden fork (opentelekomcloud/opentelekomcloud, nooit huaweicloud/huaweicloud).
Cloudflare, Fastly, AkamaiEdge onder controle van Amerikaanse clouds. Bunny CDN heeft zijn hoofdkantoor in de EU en is contractueel in de EU gevestigd.
Assets geladen via de CDN’s van Google Fonts, jsDelivr, unpkgEen CDN van derden stelt verkeerspatronen bloot aan edges in de VS. Alle fonts/JS/CSS worden zelf gehost op www.frem.sh/fonts/ via Bunny EU.
Langlevende inloggegevens van serviceaccounts in workflows van klantenOIDC-tokenfederatie (workflow-OIDC) + agent-native authenticatie vervangen ze. Langlevende sleutels zijn een opt-in-pad dat wordt uitgefaseerd, met een banner die dat meldt.

Hoe je deze BoM in je eigen auditdossier gebruikt

Voor een antwoord op een RFP of een leveranciersvragenlijst: link rechtstreeks naar deze pagina. De URL is stabiel: https://docs.frem.sh/security/bill-of-materials/.

Voor bewijs voor BSI C5 of ISO 27001: vraag security@frem.sh om de gedateerde PDF-momentopname. Op verzoek kunnen we ook een SBOM in CycloneDX-formaat van het platform zelf maken (niet alleen per release), handig om transitieve CVE’s te matchen.

Voor doorlopende verificatie: elke release van elke fremforge-component publiceert een CycloneDX-SBOM die met Syft is gegenereerd, en de SLSA-L2-provenance aan klantzijde pint de digest van elk geattesteerd asset vast. De provenance is een met Ed25519 ondertekende DSSE/in-toto-envelope (<asset>.intoto.jsonl); verifieer hem tegen de gepubliceerde trust root van fremforge met het recept met curl/jq/openssl/python3 in SLSA-provenance.

Afwijkingen: deze BoM wordt op dit moment met de hand bijgehouden. Stuur security@frem.sh een bericht als je vóór een audit een actuele momentopname nodig hebt.

Gerelateerd