En CI/CD-pipeline håller vanligtvis nycklarna till riket. Autentiseringsuppgifter för molnmiljöer, push-åtkomst till containerregistryn, driftsättningsbehörigheter, signeringsnycklar. Om en angripare kan påverka vad pipelinen kör eller vad den gör med sina autentiseringsuppgifter, kan de påverka allt nedströms. Detta är ett mer attraktivt mål än att kompromittera enskilda applikationsinstanser.
Attackytan i supply chain sträcker sig bortom själva pipelinen. GitHub Actions från tredje part, npm-paket, pip-paket och bascontainerimages är alla indata till bygget. Skadliga eller komprometterade indata från tredje part kan sätta in kod i artefakter utan att pipeline-operatörens vetskap.
Den rätta mentala modellen är att behandla varje extern indata till pipelinen som opålitlig tills den verifierats. Kod från bidragsgivare utanför organisationen, tredjepartsåtgärder pinnade till muterbara taggar och obekräftade byggverktyg är alla potentiella injektionspunkter.
Separation av bekymmer är den organisatoriska principen för pipelinesäkerhet. Opålitliga bidragsgivardrivna steg (bygga och testa en PR från en fork) ska aldrig ha åtkomst till produktionshemligheter, signeringsnycklar eller driftsättningsbehörigheter.