Gå til hovedinnhold

Utgivelsesbrancher

Vedlikeholder du eldre versjoner på brancher som release/1.x, leveres også de branchene til kundene dine. fremforge skanner hver beskyttede utgivelsesbranch med de samme skannerne som standardbranchen. Funnene vises per branch, og ingen av dem telles med i tallene for standardbranchen.

Hvilke brancher som skannes

En branch skannes som utgivelsesbranch når begge disse er oppfylt:

  • den samsvarer med et av organisasjonens mønstre for beskyttede brancher (Repos › Branch protection defaults, main,master,release/* som standard), eller med en av repositoryets egne regler for branchbeskyttelse;
  • den er ikke repositoryets standardbranch.

Hvilken branch som er standard, er det Forgejo har registrert for repositoryet, aldri en innstilling i skanningen. Gir du standardbranchen nytt navn, regnes det nye navnet som standard fra neste skanning, og det gamle navnet behandles som en utgivelsesbranch fra da av, hvis den fortsatt er beskyttet.

Når de skannes

  • Ved push. En push til en utgivelsesbranch ber om en skanning av den branchen. Flere push tett etter hverandre gir én skanning av den siste commiten.
  • Ukentlig. Hver utgivelsesbranch skannes på nytt minst én gang i uken, slik at nye sårbarhetsvarsler når brancher som ingen pusher til. En branch skannes med en gang første gang den blir funnet.
  • Slettede eller ubeskyttede brancher glemmes. Når en branch slettes, fjernes funnene dens. En branch som ikke lenger samsvarer med et beskyttelsesmønster, fjernes ved neste ukentlige gjennomgang.

Å skanne en utgivelsesbranch koster like mye runner-tid som å skanne standardbranchen, per push og én gang i uken. Utgivelsesbrancher er ikke med i den daglige nye skanningen av imager eller den ukentlige historikkfeiingen etter secrets.

Holdt adskilt fra standardbranchen

Funn i utgivelsesbrancher lagres for seg. Tallene for standardbranchen er uendret: oversikten, funnlistene og antallene i dem, SLA-brudd og SLA-målinger, og livssyklusen til funnene.

  • Frist for utbedring, ingen SLA-målinger. Hvert funn i en utgivelsesbranch viser en frist fra SLA-en for utbedring for alvorlighetsgraden, regnet fra da funnet først ble sett på den branchen, eller Ingen SLA der alvorlighetsgraden ikke har noen. Fristene vises for planlegging. De telles ikke med i SLA-brudd, SLA-flisen eller noen SLA-måling.
  • Varsler og den ukentlige oppsummeringen viser utgivelsesbrancher i en egen seksjon: nye og åpne kritiske og høye funn per branch. Antallene for standardbranchen i dem er uendret.

I konsollen

Sikkerhet › Funn › Alle viser en rad med brancher når en utgivelsesbranch er skannet: Standardbranch, og deretter én brikke per utgivelsesbranch med de åpne funnene. Velger du en branch, vises bare den branchens funn, med en kolonne Utbedres innen. Filtrene for type og alvorlighetsgrad fungerer som vanlig.

Menyen på hver rad har:

  • Avvis på denne branchen: se Avvisninger.
  • Foreslå en PR med rettelse inn i denne branchen, på et avhengighetsfunn med en rettet versjon: se Sikkerhetsrettelser. Mens en rettelse står i kø eller pull requesten er åpen, lenker raden til den i stedet.

Avvisninger

En avvisning på en utgivelsesbranch gjelder bare den branchen. Den er en oppføring i den samme unntakslisten som alle andre avvisninger, med id-en branch.<finding id> og scopet branch, og den navngir branchen. Tilbakekall den der, så er funnet åpent igjen. Organisasjonens innstillinger for unntak gjelder, inkludert lengste utløpstid.

Begrensning: der avvisninger krever godkjenning, kan bare en godkjenner avvise et funn i en utgivelsesbranch. Køen for forespørsel og godkjenning dekker ikke utgivelsesbrancher ennå. En avvisning fra noen andre avvises (403 approval-required i API-et, en melding i konsollen), og funnet forblir åpent.

Sikkerhetsrettelser

Et avhengighetsfunn med en rettet versjon kan få en pull request med en sikkerhetsrettelse inn i utgivelsesbranchen sin. Alt ved rettelsen fungerer som på standardbranchen, med disse forskjellene:

  • Pull requesten har utgivelsesbranchen som mål, fra en egen branch, security-fix/<branch>/<package>-<version>, for eksempel security-fix/release-1.x/lodash-4.17.21.
  • Den retter hvert åpent funn i den pakken på den branchen, med den laveste versjonen som retter alle.
  • Én aktiv rettelse per pakke per branch. Den samme pakken på standardbranchen og på release/1.x får to separate rettelser. Organisasjonens grenser teller alle brancher samlet.
  • En pull request som kjøringen åpner mot en hvilken som helst annen branch, lukkes med årsaken scope_base.
  • En rettelse regnes som løst når utgivelsesbranchens neste skanning ikke lenger rapporterer funnene.

Den merges aldri automatisk, på samme måte som på standardbranchen.

Pull requests inn i en utgivelsesbranch

Sjekkene på en pull request inn i en utgivelsesbranch sammenligner den med den branchens siste skanning, ikke standardbranchens. En pull request blokkeres bare av funn den selv introduserer. En pull request som bare endrer konfigurasjon, blokkeres ikke av funn som allerede finnes på utgivelsesbranchen.

API

KallHva det gjør
GET /orgs/{org}/security/release-branchesDe skannede utgivelsesbranchene, hver med antall åpne funn.
GET /orgs/{org}/security/findings?branch=release/1.xFunnene for den branchen, i samme form som for standardbranchen, pluss branch og fix_by. En ukjent branch gir 404 unknown-branch.
POST /orgs/{org}/security/release-findings/{id}/dismissAvvis på den branchen: reason, valgfritt expires_at.
POST /orgs/{org}/security/release-findings/{id}/autofixSett en sikkerhetsrettelse i kø inn i den branchen. Svaret har med base_branch.
curl -sS "https://frem.sh/_app/api/v1/orgs/acme/security/findings?branch=release%2F1.x" \
  -H "Authorization: Bearer $FREMFORGE_TOKEN"

Lesing krever findings:read, og avvisninger og rettelser krever findings:write. Se API-referansen for alle felt.

Hvis Forgejo ikke kan nås

For å registrere en skanning må fremforge vite om den skannede branchen er standardbranchen. Når Forgejo ikke kan svare på det, blir skanningen verken forkastet eller gjettet på. Den holdes tilbake og registreres så snart Forgejo svarer, normalt i løpet av minutter. Inntil da viser den branchens funn den forrige skanningen.