Dokumentation

Kodskanning och säkerhetsgranskning

Coroids säkerhetsregler för kod, ditt eget skanningskommando och hur säkerhetsproblem som Coroid Review rapporterar på pull requests kontrolleras innan de kan blockera.

Två skydd granskar själva koden: Kodskanning kör fasta regler vid varje ändring och på standardgrenen, medan Säkerhetsgranskning av pull requests kontrollerar säkerhetsproblemen som Coroid Review rapporterar innan något av dem kan göra att en pull request misslyckas.

Kodskanning

Coroids regler

Säkerhet ansvarar för de här reglerna. De ingick tidigare i anti-slop under Kvalitetskontroll och finns nu här, så att varje regel har en enda hemvist:

RegelSöker efter
security.hardcoded-secretAutentiseringsuppgifter som skrivits in i kod. Se Läckta hemligheter.
security.tls-disabledVerifiering av TLS-certifikat har stängts av.
security.auth-removedSkydd för autentisering eller behörigheter, dekoratorer eller middleware har tagits bort eller kommenterats bort.
security.cors-wildcard-credentialsAlla ursprung tillåts tillsammans med autentiseringsuppgifter.
security.sql-concatSQL som byggts från interpolerade strängar och skickats till en frågefunktion.
security.evalKod som körs från indata: eval, new Function, osanerad dangerouslySetInnerHTML.
security.remote-script-execNedladdade skript som skickas direkt till ett skal eller en tolk.
security.policy-changedÄndringar av skannerns konfiguration. Se Skydd och tillämpning.
deps.nonexistentNya beroenden som inte finns i registret.
deps.known-maliciousNya beroenden som omfattas av en varning om skadligt paket.
deps.suspicious-newNya beroenden som publicerades för mindre än 30 dagar sedan, har mycket få nedladdningar, har ett namn som skiljer sig med en eller två bokstäver från ett populärt paket eller nyligen har fått en ny underhållare.
deps.install-scriptNya npm-beroenden som kör ett skript vid installation.

Reglerna för beroendehygien, opinnade versioner och avvikelser mellan manifest och låsfil ligger kvar under Kvalitetskontroll tillsammans med anti-slop. Se Anti-slop.

Reglerna körs vid ändringar, i samma skanning som Kvalitetskontrolls anti-slop-kontroll, och på standardgrenen vid varje push och en gång om dagen, oavsett om anti-slop är aktiverat. Det är Säkerhet, inte anti-slops inställningar, som avgör vad varje regel gör. Säkerhet → Inställningar → Kodskanning listar reglerna. Fram till dess att kodskanning tillämpas behåller varje regel den åtgärd den hade i Kvalitetskontroll, så en regel som du hade ställt in på att blockera fortsätter att blockera.

Ditt eget skanningskommando

Om projektet redan har en säkerhetsskanner anger du kommandot under Ditt eget skanningskommando i Kodskanning. Det körs som projektets security_scan -kontroll vid varje ändring. Lämna fältet tomt om du vill stänga av det.

Resultat från externa verktyg som SonarQube, Snyk eller Semgrep kan också nå Coroid som granskningsunderlag. Se Leverantörer av granskningsunderlag.

Säkerhetsgranskning av pull requests

Coroid Review granskar pull requests i Kvalitetskontroll. När tjänsten upptäcker ett säkerhetsproblem skriver den inte in det som löptext i granskningen. I stället rapporteras problemet som ett strukturerat påstående: typen av sårbarhet, filen och raderna samt allvarlighetsgraden. Säkerhet registrerar varje påstående som Ännu inte bekräftat.

Den oberoende kontrollen

För kritiska och allvarliga påståenden kör Coroid en oberoende kontroll: en separat, avgränsad modellkörning som ser filen som anges i påståendet vid pull requests senaste commit och själv måste härleda problemet. Om den gör det blir påståendet ett validerat statiskt fynd. Om koden som avgör problemet finns i en annan fil kan kontrollen inte bekräfta det, och påståendet förblir obekräftat.

Kontrollen använder organisationens krediter på samma sätt som annat modellarbete, inom fasta gränser per pull request. Om krediterna eller timmarna är förbrukade körs den inte, och granskningen visar ”Ett möjligt säkerhetsproblem kunde inte verifieras: organisationens krediter eller timmar är förbrukade.”

Vad gör att granskningen misslyckas

ObserveraTillämpa
Ett bekräftat påstående vid eller över tröskelvärdet (allvarlig som standard)Neutral, ”FINDING CONFIRMED”Coroid Reviews kontroll misslyckas, ”FINDING CONFIRMED”
Ett obekräftat påståendeMisslyckas aldrigMisslyckas aldrig

Ett tillämpat, bekräftat kritiskt eller allvarligt påstående gör att Coroid Review misslyckas även när granskningen är inställd på rådgivande i Kvalitetskontroll. Det här är det enda undantaget från regeln att rådgivande granskningar aldrig misslyckas. En granskning som begär ändringar enbart på grund av obekräftade säkerhetspåståenden räknas som rådgivande.

För säkerhetsgranskning måste Coroid Review vara aktiverat för projektet. När Coroid Review är avstängt visar raden dess status under Säkerhet → Inställningar.

Vad som når GitHub

Innan någon granskningstext, kommentar eller kontroll når GitHub passerar den publiceringsgrinden. I ett offentligt repo, eller ett repo vars synlighet Coroid inte kan bekräfta, ersätts ett säkerhetsproblem som inte är offentligt med ”Coroid hittade ett möjligt säkerhetsproblem; detaljer finns i Coroid” med en länk. Se Offentliggörande.