GitHub och PyPI har infört nya tidsbaserade skydd för att begränsa effekten av skadliga paketversioner.
GitHubs Dependabot använder nu som standard en väntetid på tre dagar innan beroenden uppdateras. Samtidigt blockerar PyPI nya filer från att läggas till i paketversioner som är äldre än 14 dagar.
Båda åtgärderna syftar till att minska möjligheterna för attacker mot mjukvaruförsörjningskedjan.
Dependabot inför en väntetid på tre dagar
Dependabot är GitHubs tjänst för automatiska beroendeuppdateringar. Den analyserar projektfiler och skapar pull requests när nya paketversioner blir tillgängliga.
Tjänsten väntar nu som standard 72 timmar innan uppdateringar föreslås. Det ger säkerhetsverktyg och paketunderhållare mer tid att upptäcka skadliga versioner.
Flera attacker på senare tid har visat hur snabbt skadliga paket kan spridas. Säkerhetsforskare kan identifiera ett skadligt paket inom några minuter, men utvecklare behöver fortfarande tid för att ta bort det.
GitHub uppger att tre dagar ger en rimlig balans mellan säkerhet och behovet av snabba uppdateringar. Användare kan själva välja en kortare eller längre väntetid via Dependabots inställningar.
Väntetiden stoppar inte alla paketattacker
Fördröjningen kan minska risken för att projekt automatiskt uppdateras till nyligen publicerade skadliga paket. Den är däremot mindre effektiv mot hot som förblir oupptäckta under en längre tid.
GitHub rekommenderar därför ytterligare skyddsåtgärder. Dessa inkluderar låsfiler (lockfiles), åtkomsttoken med begränsade behörigheter och färre installationsskript i CI-miljöer.
Låsfiler kan låsa projekt till kända paketversioner, medan begränsade token kan minska skadorna om ett utvecklingsflöde komprometteras.
PyPI blockerar ändringar i äldre paketversioner
PyPI har infört ett separat tidsbaserat skydd för Python-paket.
Paketunderhållare kan inte längre lägga till nya filer i en paketversion efter 14 dagar. Syftet är att förhindra angripare från att ändra äldre och redan betrodda versioner.
En angripare skulle annars kunna kompromettera en publiceringstoken eller ett automatiserat publiceringsflöde och därefter lägga till en skadlig fil i en befintlig paketversion.
PyPI uppger att endast ett litet antal projekt laddar upp nya filer mer än två veckor efter en lansering. Plattformen räknar därför med att förändringen får begränsad påverkan på legitima underhållare.
Nya regler efter flera uppmärksammade attacker
Förändringarna följer efter flera uppmärksammade attacker mot utvecklare och programvaruekosystem.
Bland de senaste incidenterna finns attackerna chalk och debug, operationen s1ngularity, kampanjen Shai-Hulud samt GhostAction.
PyPI uppger att ingen tidigare bekräftad attack har använt metoden att förgifta äldre paketversioner. Plattformen införde ändå 14-dagarsgränsen som en förebyggande säkerhetsåtgärd.
Tillsammans visar de nya skydden att tidsbaserade kontroller blir en allt viktigare del av säkerheten i mjukvaruförsörjningskedjan.


0 svar till ”GitHub och PyPI inför tidsbaserade skydd mot attacker i mjukvaruförsörjningskedjan”