Materialliste
fremforge er bevisst åpen om verktøyene under hver kontroll. Kunder som gjennomgås etter BSI C5, ISO 27001, BaFin eller ENISA-regulering trenger revisjonssporet ned på verktøynivå, og vi vil heller at du kan grep-e i kildekoden vår enn at du må dekonstruere en svart boks.
Denne siden er den autoritative oversikten. Den kortere tabellen i oversikten over sikkerhetsfunksjoner er et utvalg for rask referanse; denne er den fullstendige oversikten – versjoner, hentekilder, hvor hver komponent kjører, attesteringen for forsyningskjeden som følger med, og lisensen.
Integritet i forsyningskjeden
Hver avhengighet, hvert containerimage og hver binærfil i denne oversikten følger fremforges regel for kontakt med upstream:
- Kode som ligger på GitHub hentes via Forgejos innebygde pull-speil på
frem.sh/<canonical-org>/<repo>(synkronisering hver 8. time). Kundeworkflower som løser oppuses: actions/checkout@v4, trefferfrem.sh/actions/checkout– ingen direkte henting fra github.com i kundens kritiske sti. - Containerimager (docker.io / ghcr.io / quay.io / public.ecr.aws) bufres via et internt speil i EU. Produksjonsmanifester refererer aldri direkte til et upstream-register.
- Release-binærfiler som ikke leveres som OCI (for eksempel
opengrep,cosign) pakkes i små buffer-imager som serveres fra det samme interne speilet i EU. Renovate følger upstream-versjonen av GitHub-releasen og åpner en ukentlig PR med versjonsløft.
CI sjekker Dockerfile-er og manifester for referanser som ville gått utenom speilet, slik at hver upstream-avhengighet løses opp gjennom bufferen i EU i stedet for direkte fra et offentlig register.
CI og verktøy for forsyningskjeden
| Verktøy | Versjon | Hvor det brukes | Lisens | Hentekilde |
|---|---|---|---|---|
| Forgejo | v15.x | Repository-hosting, kodegjennomgang, runner-protokollen for Actions, SSO-autentiseringskilder | GPLv3 | Internt speil i EU (fremforge-bygg) |
| forgejo-runner (act_runner) | v13.2.0 | Registrering av flyktige runnere på en ECS-VM per commit | MIT | Internt speil i EU |
| Gitleaks | v8.x | Secret-skanning ved mottak (pre-receive) | MIT | Internt speil i EU |
| OpenGrep | v1.22 | SAST på hver PR (FOSS-etterfølgeren til Semgrep – etter lisensbyttet) | LGPLv2.1 | Internt speil i EU |
| Trivy | v0.74 | Skanning av kundens CI-imager + CVE-sjekk av det som er bakt inn i runner-imaget | Apache 2.0 | Internt speil i EU |
| osv-scanner | Siste | Skanning av avhengigheter for CVE/GHSA på PR-tidspunktet | Apache 2.0 | Internt speil i EU |
| Syft | Siste | SBOM-er i CycloneDX 1.6 + SPDX 2.3 ved hver PR-skanning (begge godtas ved inntak) | Apache 2.0 | Internt speil i EU |
| cosign | Siste | Signering og verifisering av imager (kundens CI via cosign-verify.yaml) | Apache 2.0 | Internt speil i EU |
| Fulcio | v1.8.5 (Helm 2.9.0) | Selvhostet CA for kodesignering på sign.frem.sh. Rot-CA i T Cloud Public DEW KMS (FIPS 140-2 Level 3 HSM). IKKE den offentlige Sigstore Fulcio – fremforge kjører sin egen | Apache 2.0 | Internt speil i EU |
| Sigstore TSA | Siste | Tidsstemplingstjeneste etter RFC 3161 på tsa.frem.sh. Nøkkel i DEW KMS. IKKE den offentlige Sigstore TSA | Apache 2.0 | Internt speil i EU |
| gitsign | Siste | Kundens Git-klient; OIDC-bundet commit-signering mot den lokale Fulcio | Apache 2.0 | Installeres hos kunden (brew install sigstore/tap/gitsign) |
| Renovate | Siste | Hostet bot for versjonsløft av avhengigheter, cron hvert 15. minutt, kan slås av per repository | AGPLv3 | Internt speil i EU |
| kaniko | Siste | Containerbygg uten root i kundeworkflower (alternativ til BuildKit når kunden ikke kan kjøre privilegert) | Apache 2.0 | Internt speil i EU |
| ClamAV | Siste | Skanning av opplastinger for skadevare (LFS-objekter, vedlegg, pakkeopplastinger) og den valgfrie skanningen i avhengighetsproxyen. Signaturkildene står under Deteksjonsinnhold | GPLv2 | Internt speil i EU |
| scorecard | Siste | Ukentlig kjøring av OpenSSFs beste praksis per repository | Apache 2.0 | Internt speil i EU |
openssl + python3 (stdlib) | i/a | Verifisering hos kunden av publiseringsattesteringer utstedt av fremforge – DSSE-konvoluttene signeres med en ren Ed25519-nøkkel, så verifiseringen er en liten curl/jq/openssl/python3-oppskrift (se SLSA-proveniens), ikke upstream slsa-verifier | — | Verktøy som følger med distribusjonen |
Deteksjonsinnhold
Reglene, sårbarhetsdatabasene og skadevaresignaturene skannerne matcher mot. Hver av dem er låst eller oppdateres med rytmen som er oppgitt, og ingen hentes av en skanning mens den kjører.
| Innhold | Brukes av | Lisens | Hentekilde |
|---|---|---|---|
| GitLab sast-rules, bare mappene per språk (C#, Go, Java, JavaScript, Python, Scala) | SAST, og /opt/sast-rules i det hostede runner-imaget | MIT; Go-reglene Apache-2.0 (avledet fra gosec). Resten av upstream-repositoryet, som har innhold under andre lisenser, slettes ved bygging, og bygget feiler hvis en beholdt fil har en annen lisens enn MIT, Apache-2.0 eller BSD | frem.sh-pull-speil, låst commit |
0xdea semgrep-rules, rules/c | SAST for C og C++ | MIT | frem.sh-pull-speil, låst commit |
| fremforges SAST-regler | SAST for JavaScript og TypeScript, Python, Bash, PHP, Ruby, Rust, Kotlin og Swift | MIT | fremforges kildekode |
Trivys sårbarhetsdatabaser (trivy-db, trivy-java-db) | Skanning av containerimager, trivy fs på pull requests | Apache-2.0 for byggingen av databasen; hver post beholder kildens vilkår (GitHub Advisory Database, sikkerhetsdata fra Red Hat og SUSE: CC-BY-4.0) | Internt speil i EU, oppdateres daglig |
| OSV-databasen, frakoblet kopi | Skanning av avhengigheter, ondsinnede pakker, pakkepolicyer, revisjoner i avhengighetsproxyen | CC-BY-4.0; hver post beholder kildens vilkår | Internt speil av OSV-eksporten, oppdateres daglig |
| Gos sårbarhetsdatabase | Go-nåbarhet (govulncheck) | CC-BY-4.0 | Go-eksporten i OSV-speilet, oppdateres daglig |
| GitHub Advisory Database | Gjennom OSV og Trivy-databasene | CC-BY-4.0 | Gjennom OSV- og Trivy-speilene |
| SaneSecurity-signaturer | ClamAV-skanning for skadevare | SaneSecuritys vilkår: gratis, finansiert av donasjoner | Et offentlig SaneSecurity-speil, hver 4. time |
| YARA-Forge Core | ClamAV-skanning for skadevare | Detection Rule License 1.1; kommersiell bruk tillatt med kreditering av regelforfatterne | Hver 4. time, upstream-releaser ukentlig |
| Linux Malware Detect-signaturer | ClamAV-skanning for skadevare | GPLv2 | Hver 4. time, upstream daglig |
| EICAR-testsignatur | Røyktest av skadevareskanningen | Fri bruk (EICAR) | Statisk, leveres med skanneren |
Plattformgrunnlag
| Lag | Verktøy / leverandør | Hvor det brukes | Lisens / status |
|---|---|---|---|
| Containerregister | T Cloud Public SWR | Alle fremforge-imager. Eneste kilde for henting ved kjøring; speil for hvert upstream-register | Leverandør (Deutsche Telekom, eu-de) |
| Kubernetes | T Cloud Public CCE Turbo (Cloud Native Network 2.0) | Plattformens arbeidslaster (Forgejo, kontrollplan-monolitten, jobber). ENI + sikkerhetsgruppe per pod via Yangtse CNI. CI-runnere kjører ikke her – se ECS-raden nedenfor | Leverandør (Deutsche Telekom, eu-de) |
| Beregningskapasitet for hostede CI-runnere | T Cloud Public ECS (flyktig VM per commit) | Én flyktig ECS-VM per commit/PR; egen kjerne (isolert av hypervisoren), slettes etter jobben; VPC-sikkerhetsgruppe per VM (ingen innkommende trafikk, VM-til-VM avvist, utgående trafikk via runner-proxy med SSRF-vern) | Leverandør (Deutsche Telekom, eu-de) |
| Objektlagring (operatør) | T Cloud Public OBS | WORM-anker for revisjonskjeden, SBOM-arkiv, dataeksport, OpenTofu-state | Leverandør (Deutsche Telekom, eu-de) |
| Relasjonsdatabase | T Cloud Public RDS (PostgreSQL 15) | API-tilstand, tabeller for tenanter og funn, revisjonskjede | Leverandør (Deutsche Telekom, eu-de) |
| Minnebuffer | T Cloud Public DCS Redis | Tellere for hastighetsbegrensning, sette IP-er ved tokenutveksling, sesjonsbuffer | Leverandør (Deutsche Telekom, eu-de) |
| Nøkkelhåndtering | T Cloud Public DEW | MASTER_ENCRYPTION_KEY, Fulcios rot-CA, signeringsnøkkelen til TSA | Leverandør (FIPS 140-2 Level 3 HSM, Tyskland) |
| Function-as-a-service | T Cloud Public FunctionGraph | Planlagte cron- og oppryddingsjobber | Leverandør (Deutsche Telekom, eu-de) |
| Logg- og metrikklag | T Cloud Public LTS + CES | Applikasjonslogger, nøkkelordalarmer, SLO-metrikker | Leverandør (Deutsche Telekom, eu-de) |
| Edge / CDN | Bunny CDN | TLS-terminering, bufring på EU-edge, edge-regler, nedre grense for hastighetsbegrensning | Leverandør (hovedkontor i Slovenia, i EU, ingen amerikansk underdatabehandler) |
| Transaksjonell e-post | Lettermint | Autentiseringse-post, faktureringsvarsler, alarmer | Leverandør (NL, i EU etter GDPR) |
| Driftspostkasse | mailbox.org | Innkommende administrativ e-post til *@frem.sh | Leverandør (Tyskland) |
| Betalingsbehandling | Mollie | Kort + SEPA Direct Debit | Leverandør (NL, i EU etter GDPR) |
| Regnskap | Dinero | Fakturautstedelse + regnskap | Leverandør (DK, i EU etter GDPR) |
| Ekstern oppetidsmåling | updown.io | Tilgjengelighetsmålinger utenfra (api, Forgejo, Kuma, markedsføring, Authentik) | Leverandør (FR) |
Hver leverandør på listen er kontraktsfestet til EU, uten amerikansk underdatabehandler i dataflyten. Hele databehandleravtalen (DPA) og underdatabehandlerkjeden står på tillitssiden.
Det vi bevisst ikke bruker
| Leverandør / verktøy vi velger bort | Hvorfor |
|---|---|
| github.com (direkte) | Suverenitet i EU + Schrems II + regelen for kontakt med upstream. Bare speilet. |
| GitHub Advanced Security (CodeQL osv.) | Proprietære deteksjonsregler du ikke kan revidere. Vi bruker OpenGrep + Trivy + osv-scanner – alt åpen kildekode, alt kan revideres. |
| Microsoft 365, Entra, Defender | Samme grunn. fremforge-produktet har null Microsoft-fotavtrykk. (fremverks interne IT er en egen identitetsverden.) |
| Offentlig Sigstore Fulcio/Rekor (sigstore.dev) | Hostet i USA; verifiseringen ville gått en tur utenfor EU. Vi kjører vår egen Fulcio + TSA i eu-de med rot-CA-en i DEW KMS. Ingen Rekor / transparenslogg, med vilje – tidsstempling forankret i TSA er integritetsmekanismen i stedet. |
| AWS, GCP, Azure | Under kontroll av amerikanske skyleverandører. T Cloud Public driftes av Deutsche Telekom på en Huawei-avledet stack; OpenTofu-provideren er forken som vedlikeholdes for OTC (opentelekomcloud/opentelekomcloud, aldri huaweicloud/huaweicloud). |
| Cloudflare, Fastly, Akamai | Edge under amerikansk skykontroll. Bunny CDN har hovedkontor i EU og er kontraktsfestet til EU. |
| Google Fonts, jsDelivr, unpkg-ressurser lastet fra CDN | Tredjeparts-CDN avslører trafikkmønstre for edge-noder i USA. Alle fonter/JS/CSS hostes selv på www.frem.sh/fonts/ via Bunny EU. |
| Langlivede legitimasjoner for tjenestekontoer i kundeworkflower | OIDC-tokenføderasjon (workflow-OIDC) + agent-native autentisering erstatter dem. Langlivede nøkler er en utfaset vei man må velge selv, med et utfasingsbanner. |
Slik bruker du materiallisten i din egen revisjonspakke
For anbudssvar eller leverandørspørreskjemaer: lenk direkte til denne siden. URL-en er stabil: https://docs.frem.sh/security/bill-of-materials/.
For dokumentasjon til BSI C5 eller ISO 27001: be security@frem.sh om et datert PDF-øyeblikksbilde. Vi kan også lage en SBOM i CycloneDX-format for selve plattformen (ikke bare per release) på forespørsel – nyttig for å matche transitive CVE-er.
For løpende verifisering: hver release av hver fremforge-komponent publiserer en CycloneDX-SBOM generert med Syft, og SLSA-L2-proveniensen hos kunden låser digesten til hver attesterte ressurs. Proveniensen er en Ed25519-signert DSSE / in-toto-konvolutt (<asset>.intoto.jsonl); verifiser den mot fremforges publiserte tillitsrot med curl/jq/openssl/python3-oppskriften i SLSA-proveniens.
Avvik: denne materiallisten vedlikeholdes for hånd i dag. Ta kontakt med security@frem.sh hvis du trenger et oppdatert øyeblikksbilde før en revisjon.
Relatert
- Tillitssiden – databehandleravtale, liste over underdatabehandlere, compliance-attesteringer.
- Tredjepartsmerknader for runner-imaget – lisensmerknader, tilbudet om kildekode for opengrep og kreditering for sårbarhetsdata og skadevaresignaturer.
- Sikkerhetsfunksjoner i korte trekk – hva hvert verktøy faktisk gjør, med direkte lenker.
- SBOM-er – hvordan SBOM-er i CycloneDX/SPDX genereres hos kunden.
- SLSA-proveniens – hvordan publiseringsattesteringen signeres på serveren med plattformens Ed25519-nøkkel, hvordan du verifiserer den, og hvorfor den bevisst ikke beskrives som et SLSA-nivå.
- Sårbarhetsrapportering –
security@frem.sh, SLA på 24 t for bekreftelse.