Gå til hovedindhold

Stykliste (BoM)

fremforge er bevidst åben om værktøjerne under hver kontrol. Kunder under BSI C5, ISO 27001, BaFin eller ENISA-reguleret gennemgang har brug for et revisionsspor på værktøjsniveau, og vi vil hellere have, at du kan greppe i vores kildekode, end at du skal reverse-engineere en sort boks.

Denne side er den autoritative oversigt. Den kortere tabel i oversigten over sikkerhedsfunktioner er et udvalg til hurtigt opslag; denne her er den fulde registrering: versioner, hentekilder, hvor hver komponent kører, den supply chain-attestation, der følger med, og licensen.

Supply chain-integritet

Hver afhængighed, hvert container-image og hver binær i denne oversigt følger fremforges regel for kontakt med upstream:

  • Kode hostet på GitHub kommer via Forgejos indbyggede pull-mirror på frem.sh/<canonical-org>/<repo> (synkronisering hver 8. time). Kunde-workflows, der opløser uses: actions/checkout@v4, rammer frem.sh/actions/checkout: der hentes intet direkte fra github.com på kundens kritiske sti.
  • Container-images (docker.io / ghcr.io / quay.io / public.ecr.aws) caches via et internt EU-mirror. Produktionsmanifester henviser aldrig direkte til et upstream-registry.
  • Release-binærer, der ikke leveres som OCI (f.eks. opengrep, cosign), pakkes ind i små cache-images, der serveres fra det samme interne EU-mirror. Renovate følger upstream-versionen på GitHub-releases og åbner en ugentlig PR med versionsopdateringen.

CI tjekker Dockerfile‘er og manifester for referencer, der ville gå uden om mirroret, så hver upstream-afhængighed opløses gennem den EU-placerede cache i stedet for direkte fra et offentligt registry.

CI- og supply chain-værktøjer

VærktøjVersionHvor det brugesLicensHentekilde
Forgejov15.xRepo-hosting, code review, runner-protokollen for Actions, SSO-godkendelseskilderGPLv3Internt EU-mirror (fremforge-build)
forgejo-runner (act_runner)v13.2.0Registrering af kortlivede runners på en ECS-VM pr. commitMITInternt EU-mirror
Gitleaksv8.xSecret-scanning ved pre-receiveMITInternt EU-mirror
OpenGrepv1.22SAST på hver PR (FOSS-efterfølger til Semgrep efter licensskiftet)LGPLv2.1Internt EU-mirror
Trivyv0.74Image-scanning i kundens CI + CVE-tjek indbygget i runner-imagetApache 2.0Internt EU-mirror
osv-scannerSenesteScanning af afhængigheder for CVE/GHSA ved PRApache 2.0Internt EU-mirror
SyftSenesteCycloneDX 1.6- og SPDX 2.3-SBOM’er ved hver PR-scanning (begge accepteres ved indlæsning)Apache 2.0Internt EU-mirror
cosignSenesteSignering og verifikation af images (kundens CI via cosign-verify.yaml)Apache 2.0Internt EU-mirror
Fulciov1.8.5 (Helm 2.9.0)Selvhostet CA til kodesignering på sign.frem.sh. Rod-CA i T Cloud Public DEW KMS (FIPS 140-2 Level 3 HSM). IKKE den offentlige Sigstore Fulcio: fremforge kører sin egenApache 2.0Internt EU-mirror
Sigstore TSASenesteRFC 3161-tidsstempelmyndighed på tsa.frem.sh. Nøgle i DEW KMS. IKKE den offentlige Sigstore TSAApache 2.0Internt EU-mirror
gitsignSenesteKundens git-klient; OIDC-bundet commit-signering mod den lokale FulcioApache 2.0Installeres hos kunden (brew install sigstore/tap/gitsign)
RenovateSenesteHostet bot til opdatering af afhængigheder, cron hvert 15. minut, fravalg pr. repoAGPLv3Internt EU-mirror
kanikoSenesteRootless container-build i kunde-workflows (alternativ til BuildKit, når kunden ikke kan køre privilegeret)Apache 2.0Internt EU-mirror
ClamAVSenesteMalwarescanning af uploads (LFS-objekter, vedhæftninger, pakkeuploads) og den valgfrie scanning i afhængighedsproxyen. Signaturkilderne står under DetektionsindholdGPLv2Internt EU-mirror
scorecardSenesteUgentlig kørsel af OpenSSF best practices pr. repoApache 2.0Internt EU-mirror
openssl + python3 (stdlib)n/aVerifikation hos kunden af publiceringsattestationer udstedt af fremforge: DSSE-konvolutterne er signeret med en bar Ed25519-nøgle, så verifikationen er en lille opskrift med curl/jq/openssl/python3 (se SLSA-provenance), ikke upstream slsa-verifier—Værktøjer, der følger med distributionen

Detektionsindhold

De regler, advisory-databaser og malwaresignaturer, scannerne matcher mod. Hver af dem er fastlåst eller opdateres med den viste kadence, og ingen af dem hentes af en scanning, mens den kører.

IndholdBruges afLicensHentekilde
GitLab sast-rules, kun mapperne pr. sprog (C#, Go, Java, JavaScript, Python, Scala)SAST og /opt/sast-rules i det hostede runner-imageMIT; Go-reglerne Apache-2.0 (afledt af gosec). Resten af upstream-repositoriet, som indeholder indhold under andre licenser, slettes ved build, og buildet fejler, hvis en bevaret fil har en anden licens end MIT, Apache-2.0 eller BSDPull-mirror på frem.sh, fastlåst commit
0xdea semgrep-rules, rules/cSAST for C og C++MITPull-mirror på frem.sh, fastlåst commit
fremforges SAST-reglerSAST for JavaScript og TypeScript, Python, Bash, PHP, Ruby, Rust, Kotlin og SwiftMITfremforges kildekode
Trivys sårbarhedsdatabaser (trivy-db, trivy-java-db)Scanning af container-images, trivy fs på pull requestsApache-2.0 for databasebuildet; hver post bevarer sin kildes vilkår (GitHub Advisory Database, sikkerhedsdata fra Red Hat og SUSE: CC-BY-4.0)Internt EU-mirror, opdateres dagligt
OSV-databasen, offlinekopiAfhængighedsscanning, ondsindede pakker, pakkepolitikker, revisioner i afhængighedsproxyenCC-BY-4.0; hver post bevarer sin kildes vilkårInternt mirror af OSV-eksporten, opdateres dagligt
Gos sårbarhedsdatabaseGo-nåbarhed (govulncheck)CC-BY-4.0OSV-mirrorets Go-eksport, opdateres dagligt
GitHub Advisory DatabaseVia OSV og Trivys databaserCC-BY-4.0Via OSV- og Trivy-mirrorerne
SaneSecurity-signaturerClamAV-malwarescanningSaneSecuritys vilkår: gratis, støttet af donationerEt offentligt SaneSecurity-mirror, hver 4. time
YARA-Forge CoreClamAV-malwarescanningDetection Rule License 1.1; kommerciel brug tilladt med kreditering af regelforfatterneHver 4. time, upstream udgiver ugentligt
Linux Malware Detect-signaturerClamAV-malwarescanningGPLv2Hver 4. time, upstream dagligt
EICAR-testsignaturRøgtest af malwarescanningenFri brug (EICAR)Statisk, leveres med scanneren

Platformsfundament

LagVærktøj / leverandørHvor det brugesLicens / status
Container-registryT Cloud Public SWRAlle fremforge-images. Eneste kilde til pulls ved kørsel; mirror for hvert upstream-registryLeverandør (Deutsche Telekom, eu-de)
KubernetesT Cloud Public CCE Turbo (Cloud Native Network 2.0)Platformens workloads (Forgejo, kontrolplanets monolit, jobs). ENI + Security Group pr. pod via Yangtse CNI. CI-runners kører ikke her: se ECS-rækken nedenforLeverandør (Deutsche Telekom, eu-de)
Compute til hostede CI-runnersT Cloud Public ECS (kortlivet VM pr. commit)Én kortlivet ECS-VM pr. commit/PR; dedikeret kerne (isoleret af hypervisoren), fjernes efter jobbet; VPC Security Group pr. VM (ingen indgående trafik, VM-til-VM nægtet, udgående trafik via runner-proxy med SSRF-beskyttelse)Leverandør (Deutsche Telekom, eu-de)
Objektlager (operatør)T Cloud Public OBSWORM-anker for revisionskæden, SBOM-arkiv, dataeksport, OpenTofu-stateLeverandør (Deutsche Telekom, eu-de)
Relationel databaseT Cloud Public RDS (PostgreSQL 15)api-state, tabeller for lejere og fund, revisionskædeLeverandør (Deutsche Telekom, eu-de)
In-memory-cacheT Cloud Public DCS RedisTællere til rate limiting, sete IP’er ved token-udveksling, sessionscacheLeverandør (Deutsche Telekom, eu-de)
NøglehåndteringT Cloud Public DEWMASTER_ENCRYPTION_KEY, Fulcios rod-CA, TSA’ens signeringsnøgleLeverandør (FIPS 140-2 Level 3 HSM, Tyskland)
Function-as-a-serviceT Cloud Public FunctionGraphPlanlagte cron- og oprydningsworkloadsLeverandør (Deutsche Telekom, eu-de)
Log- og metriklagT Cloud Public LTS + CESApplikationslogs, alarmer på nøgleord, SLO-metrikkerLeverandør (Deutsche Telekom, eu-de)
Edge / CDNBunny CDNTLS-terminering, caching på EU-edge, edge-regler, grundniveau for rate limitingLeverandør (hovedkontor i Slovenien, EU-placeret, ingen amerikansk underdatabehandler)
TransaktionsmailsLettermintGodkendelsesmails, faktureringsmeddelelser, alarmerLeverandør (NL, GDPR-placeret)
Driftspostkassemailbox.orgIndgående administrationsmail til *@frem.shLeverandør (Tyskland)
BetalingsbehandlingMollieKort + SEPA Direct DebitLeverandør (NL, GDPR-placeret)
BogføringDineroUdstedelse af fakturaer + regnskabLeverandør (DK, GDPR-placeret)
Ekstern oppetidsmålingupdown.ioTilgængelighedsprober uden for eget net (api, Forgejo, Kuma, marketing, Authentik)Leverandør (FR)

Hver leverandør på listen er kontraktligt placeret i EU uden amerikansk underdatabehandler i datastien. Den fulde databehandleraftale og kæde af underdatabehandlere står på trust-siden.

Hvad vi bevidst ikke bruger

Fravalgt leverandør / værktøjHvorfor
github.com (direkte)EU-suverænitet + Schrems II + reglen for kontakt med upstream. Udelukkende via mirror.
GitHub Advanced Security (CodeQL m.fl.)Proprietære detektionsregler, du ikke kan revidere. Vi bruger OpenGrep + Trivy + osv-scanner: alt open source, alt kan revideres.
Microsoft 365, Entra, DefenderSamme grund. fremforge-produktet har intet Microsoft-fodaftryk. (fremverks interne IT er en separat identitetsverden.)
Offentlig Sigstore Fulcio/Rekor (sigstore.dev)Hostet i USA; verifikationsstien ville gå uden for EU. Vi kører vores egen Fulcio + TSA i eu-de med rod-CA’en i DEW KMS. Ingen Rekor / transparenslog som designvalg: tidsstempling forankret i TSA’en er i stedet integritetsprimitivet.
AWS, GCP, AzureKontrolleret af amerikanske cloududbydere. T Cloud Public drives af Deutsche Telekom på en Huawei-afledt stak; OpenTofu-provideren er den fork, der vedligeholdes til OTC (opentelekomcloud/opentelekomcloud, aldrig huaweicloud/huaweicloud).
Cloudflare, Fastly, AkamaiEdge under amerikansk cloudkontrol. Bunny CDN har hovedkontor i EU og er kontraktligt placeret i EU.
Google Fonts, jsDelivr, unpkg og andre CDN-indlæste ressourcerEt tredjeparts-CDN eksponerer trafikmønstre for edges i USA. Alle skrifttyper, JS og CSS er selvhostet på www.frem.sh/fonts/ via Bunny EU.
Langlivede legitimationsoplysninger til servicekonti i kunde-workflowsOIDC-tokenføderation (workflow-OIDC) + agent-nativ godkendelse erstatter dem. Langlivede nøgler er en udfaset tilvalgsvej med et udfasningsbanner.

Sådan bruger du denne BoM i din egen revisionspakke

Til et udbudssvar eller et leverandørspørgeskema: link direkte til denne side. URL’en er stabil: https://docs.frem.sh/security/bill-of-materials/.

Til dokumentation for BSI C5 eller ISO 27001: bed security@frem.sh om det daterede PDF-øjebliksbillede. Vi kan også på forespørgsel lave en SBOM i CycloneDX-format af selve platformen (ikke kun pr. release), hvilket er nyttigt til matching af transitive CVE’er.

Til løbende verifikation: hver release af hver fremforge-komponent udgiver en CycloneDX-SBOM genereret med Syft, og SLSA-L2-provenance hos kunden fastlåser digestet for hvert attesteret aktiv. Provenance er en Ed25519-signeret DSSE- / in-toto-konvolut (<asset>.intoto.jsonl); verificér den mod fremforges udgivne tillidsrod med opskriften med curl/jq/openssl/python3 i SLSA-provenance.

Afvigelser: denne BoM vedligeholdes i dag manuelt. Skriv til security@frem.sh, hvis du har brug for et aktuelt øjebliksbillede før en revision.

Relateret