Hoppa till huvudinnehållet

Materialförteckning

fremforge är medvetet transparent om verktygen under varje kontroll. Kunder som granskas enligt BSI C5, ISO 27001, BaFin eller ENISA-reglerade krav behöver ett revisionsspår på verktygsnivå, och vi vill hellre att du kan söka i vår källkod än behöver baklängesanalysera en svart låda.

Den här sidan är den auktoritativa förteckningen. Den kortare tabellen i översikten över säkerhetsfunktioner är en snabbreferens med ett urval; den här är den fullständiga posten: versioner, hämtningskällor, var varje komponent körs, den attestering av leveranskedjan som följer med den, och licensen.

Integritet i leveranskedjan

Varje beroende, container-image och binärfil i den här förteckningen går igenom fremforges regel för kontakt med uppströms:

  • Kod som ligger på GitHub flödar via Forgejos inbyggda pull-spegel på frem.sh/<canonical-org>/<repo> (synkronisering var 8:e timme). Kundarbetsflöden som löser upp uses: actions/checkout@v4 träffar frem.sh/actions/checkout, utan direkt hämtning från github.com i kundens kritiska väg.
  • Container-images (docker.io / ghcr.io / quay.io / public.ecr.aws) cachas via en intern EU-spegel. Produktionsmanifest refererar aldrig direkt till ett registry uppströms.
  • Release-binärfiler som inte levereras som OCI (t.ex. opengrep, cosign) paketeras i små cache-images som levereras från samma interna EU-spegel. Renovate följer versionen i github-releasen uppströms och öppnar en pull request för uppgradering varje vecka.

CI kontrollerar Dockerfiles och manifest efter referenser som skulle gå förbi spegeln, så att varje beroende uppströms löses upp via cachen i EU i stället för direkt från ett publikt registry.

CI- och leveranskedjeverktyg

VerktygVersionVar det användsLicensHämtningskälla
Forgejov15.xRepo-hosting, kodgranskning, runner-protokollet för Actions, SSO-autentiseringskällorGPLv3Intern EU-spegel (fremforge-bygge)
forgejo-runner (act_runner)v13.2.0Registrering av kortlivade runners på en ECS-VM per commitMITIntern EU-spegel
Gitleaksv8.xHemlighetsskanning vid pre-receiveMITIntern EU-spegel
OpenGrepv1.22SAST på varje pull request (FOSS-efterföljare till Semgrep, efter licensbytet)LGPLv2.1Intern EU-spegel
Trivyv0.74Image-skanning i kundens CI + CVE-kontroll inbyggd i runner-imagenApache 2.0Intern EU-spegel
osv-scannerSenasteSkanning av beroenden efter CVE/GHSA vid pull requestApache 2.0Intern EU-spegel
SyftSenasteSBOM:er i CycloneDX 1.6 + SPDX 2.3 vid varje PR-skanning (båda accepteras vid inläsning)Apache 2.0Intern EU-spegel
cosignSenasteSignering + verifiering av images (kundens CI via cosign-verify.yaml)Apache 2.0Intern EU-spegel
Fulciov1.8.5 (Helm 2.9.0)Egen certifikatutfärdare för kodsignering på sign.frem.sh. Rot-CA i T Cloud Public DEW KMS (FIPS 140-2 nivå 3 HSM). INTE den publika Sigstore Fulcio: fremforge driver sin egenApache 2.0Intern EU-spegel
Sigstore TSASenasteRFC 3161-tidsstämpelmyndighet på tsa.frem.sh. Nyckel i DEW KMS. INTE den publika Sigstore TSAApache 2.0Intern EU-spegel
gitsignSenasteKundens git-klient; OIDC-bunden commit-signering mot den lokala FulcioApache 2.0Installeras hos kunden (brew install sigstore/tap/gitsign)
RenovateSenasteHostad bot för uppgradering av beroenden, cron var 15:e minut, avregistrering per repoAGPLv3Intern EU-spegel
kanikoSenasteRootless container-bygge i kundarbetsflöden (alternativ till BuildKit när kunden inte kan köra privilegierat)Apache 2.0Intern EU-spegel
ClamAVSenasteSkanning av uppladdningar efter skadlig kod (LFS-objekt, bilagor, paketuppladdningar) och den valfria skanningen i beroendeproxyn. Signaturkällorna listas under DetekteringsinnehållGPLv2Intern EU-spegel
scorecardSenasteVeckovis körning av OpenSSF:s bästa praxis per repoApache 2.0Intern EU-spegel
openssl + python3 (stdlib)n/aVerifiering hos kunden av publiceringsattesteringar som fremforge utfärdar. DSSE-kuverten är signerade med en ren Ed25519-nyckel, så verifieringen är ett litet recept med curl/jq/openssl/python3 (se SLSA-provenance), inte slsa-verifier uppströms—Distributionens standardverktyg

Detekteringsinnehåll

Reglerna, sårbarhetsdatabaserna och signaturerna för skadlig kod som skannrarna matchar mot. Var och en är låst eller uppdateras med den frekvens som anges, och ingen hämtas av en skanning medan den körs.

InnehållAnvänds avLicensHämtningskälla
GitLab sast-rules, endast mapparna per språk (C#, Go, Java, JavaScript, Python, Scala)SAST, och /opt/sast-rules i den hostade runner-imagenMIT; Go-reglerna Apache-2.0 (härledda från gosec). Resten av repot uppströms, som innehåller material under andra licenser, tas bort vid bygget, och bygget fallerar om någon behållen fil har en annan licens än MIT, Apache-2.0 eller BSDPull-spegel på frem.sh, låst commit
0xdea semgrep-rules, rules/cSAST för C och C++MITPull-spegel på frem.sh, låst commit
fremforges SAST-reglerSAST för JavaScript och TypeScript, Python, Bash, PHP, Ruby, Rust, Kotlin och SwiftMITfremforges källkod
Trivys sårbarhetsdatabaser (trivy-db, trivy-java-db)Skanning av container-images, trivy fs på pull requestsApache-2.0 för databasbygget; varje post behåller sin källas villkor (GitHub Advisory Database, säkerhetsdata från Red Hat och SUSE: CC-BY-4.0)Intern EU-spegel, uppdateras dagligen
OSV-databasen, offlinekopiaBeroendeskanning, skadliga paket, paketpolicyer, granskningar i beroendeproxynCC-BY-4.0; varje post behåller sin källas villkorIntern spegel av OSV-exporten, uppdateras dagligen
Gos sårbarhetsdatabasNåbarhet för Go (govulncheck)CC-BY-4.0OSV-spegelns Go-export, uppdateras dagligen
GitHub Advisory DatabaseVia OSV och Trivys databaserCC-BY-4.0Via OSV- och Trivy-speglarna
SaneSecurity-signaturerClamAV-skanning efter skadlig kodSaneSecuritys villkor: kostnadsfritt, finansieras med donationerEn publik SaneSecurity-spegel, var 4:e timme
YARA-Forge CoreClamAV-skanning efter skadlig kodDetection Rule License 1.1; kommersiell användning tillåten med erkännande av regelförfattarnaVar 4:e timme, uppströms releaser varje vecka
Signaturer från Linux Malware DetectClamAV-skanning efter skadlig kodGPLv2Var 4:e timme, uppströms dagligen
EICAR-testsignaturRöktest av skanningen efter skadlig kodFri att använda (EICAR)Statisk, levereras med skannern

Plattformens grund

LagerVerktyg / leverantörVar det användsLicens / hållning
Container-registryT Cloud Public SWRAlla fremforge-images. Enda källan för hämtningar i drift; spegel för varje registry uppströmsLeverantör (Deutsche Telekom, eu-de)
KubernetesT Cloud Public CCE Turbo (Cloud Native Network 2.0)Plattformens arbetslaster (Forgejo, kontrollplanets monolit, jobb). ENI + säkerhetsgrupp per pod via Yangtse CNI. CI-runners körs inte här, se ECS-raden nedanLeverantör (Deutsche Telekom, eu-de)
Beräkningskapacitet för hostade CI-runnersT Cloud Public ECS (kortlivad VM per commit)En kortlivad ECS-VM per commit/pull request; egen kärna (isolerad av hypervisorn), tas bort efter jobbet; VPC-säkerhetsgrupp per VM (ingen inkommande trafik, VM-till-VM nekas, utgående trafik via den SSRF-skyddade runner-proxyn)Leverantör (Deutsche Telekom, eu-de)
Objektlagring (operatör)T Cloud Public OBSWORM-förankring av granskningskedjan, SBOM-arkiv, dataexport, OpenTofu-stateLeverantör (Deutsche Telekom, eu-de)
RelationsdatabasT Cloud Public RDS (PostgreSQL 15)api-tillstånd, tabeller för tenants + fynd, granskningskedjaLeverantör (Deutsche Telekom, eu-de)
MinnescacheT Cloud Public DCS RedisRäknare för hastighetsbegränsning, sedda IP:n vid tokenutbyte, sessionscacheLeverantör (Deutsche Telekom, eu-de)
NyckelhanteringT Cloud Public DEWMASTER_ENCRYPTION_KEY, Fulcios rot-CA, TSA:ns signeringsnyckelLeverantör (FIPS 140-2 nivå 3 HSM, Tyskland)
Function-as-a-serviceT Cloud Public FunctionGraphSchemalagda cron- och städjobbLeverantör (Deutsche Telekom, eu-de)
Logg- och mätvärdesnivåT Cloud Public LTS + CESApplikationsloggar, nyckelordslarm, SLO-måttLeverantör (Deutsche Telekom, eu-de)
Edge / CDNBunny CDNTLS-terminering, cachning vid edge i EU, edge-regler, grundnivå för hastighetsbegränsningLeverantör (huvudkontor i Slovenien, EU-baserad, ingen amerikansk underbiträde)
Transaktionell e-postLettermintInloggningsmejl, faktureringsmeddelanden, larmLeverantör (NL, GDPR-baserad)
Driftsbrevlådamailbox.orgInkommande administrativ e-post till *@frem.shLeverantör (Tyskland)
BetalningshanteringMollieKort + SEPA-autogiroLeverantör (NL, GDPR-baserad)
BokföringDineroFakturering + redovisningLeverantör (DK, GDPR-baserad)
Extern drifttidsövervakningupdown.ioTillgänglighetskontroller utanför det egna nätet (api, Forgejo, Kuma, marknadsföring, Authentik)Leverantör (FR)

Varje leverantör på listan är avtalsmässigt EU-baserad utan amerikanskt underbiträde i dataflödet. Fullständigt DPA + kedjan av underbiträden finns på förtroendesidan.

Vad vi medvetet inte använder

Bortvald leverantör / bortvalt verktygVarför
github.com (direkt)EU-suveränitet + Schrems II + regeln för kontakt med uppströms. Används enbart via spegling.
GitHub Advanced Security (CodeQL m.fl.)Proprietära detekteringsregler som du inte kan granska. Vi använder OpenGrep + Trivy + osv-scanner, alla öppen källkod och alla granskningsbara.
Microsoft 365, Entra, DefenderSamma skäl. Produkten fremforge har inget Microsoft-avtryck alls. (fremverks interna IT är en separat identitetsvärld.)
Publika Sigstore Fulcio/Rekor (sigstore.dev)Ligger i USA; verifieringsvägen skulle gå utanför EU. Vi driver egna Fulcio + TSA i eu-de med rot-CA:n i DEW KMS. Ingen Rekor / transparenslogg av design; tidsstämpling förankrad i TSA är i stället integritetsprimitiven.
AWS, GCP, AzureKontrolleras av amerikanska molnbolag. T Cloud Public drivs av Deutsche Telekom på en stack som härstammar från Huawei; OpenTofu-providern är den fork som underhålls för OTC (opentelekomcloud/opentelekomcloud, aldrig huaweicloud/huaweicloud).
Cloudflare, Fastly, AkamaiEdge under amerikansk molnkontroll. Bunny CDN har huvudkontor i EU och är avtalsmässigt EU-baserad.
Tillgångar som laddas från CDN:er som Google Fonts, jsDelivr, unpkgEtt CDN från tredje part exponerar trafikmönster för edge-noder i USA. Alla typsnitt/JS/CSS hostas själva på www.frem.sh/fonts/ via Bunny EU.
Långlivade inloggningsuppgifter för tjänstekonton i kundarbetsflödenOIDC-tokenfederation (arbetsflödes-OIDC) + agentnativ autentisering ersätter dem. Långlivade nycklar är en valfri, utfasad väg med en banderoll om utfasningen.

Så använder du den här BoM:en i ditt eget revisionsunderlag

För ett anbudssvar eller ett leverantörsfrågeformulär: länka direkt till den här sidan. URL:en är stabil: https://docs.frem.sh/security/bill-of-materials/.

För bevis enligt BSI C5 eller ISO 27001: be security@frem.sh om den daterade PDF-ögonblicksbilden. Vi kan också på begäran ta fram en SBOM i CycloneDX-format för själva plattformen (inte bara per release), vilket är användbart för matchning av transitiva CVE:er.

För kontinuerlig verifiering: varje release av varje fremforge-komponent publicerar en CycloneDX-SBOM genererad av Syft, och kundens SLSA-L2-provenance låser digesten för varje attesterad fil. Provenance är ett Ed25519-signerat DSSE-/in-toto-kuvert (<asset>.intoto.jsonl); verifiera det mot fremforges publicerade förtroenderot med receptet med curl/jq/openssl/python3 i SLSA-provenance.

Avvikelser: den här BoM:en underhålls för hand i dag. Hör av dig till security@frem.sh om du behöver en aktuell ögonblicksbild före en revision.

Relaterat