Beskriv GitHub som ett referenssystem och styrplan.

Slutförd

Agentsystem behöver en miljö som gör mer än att lagra kod. De behöver en miljö som kan avbilda avsikter, registrera åtgärder, framtvinga validering och tillämpa principer. I den här utbildningsvägen är GitHub den miljön.

I den här lektionen får du lära dig

  • Vad det innebär för GitHub att fungera som ett arkivhandlingssystem för agentarbetsflöden

  • Hur GitHub framtvingar kontroll via lagringsplatsprinciper och arbetsflöden

  • Vilka GitHub kontroller används för att övervaka och begränsa agentbeteende

GitHub som system för registerhållning

GitHub är rekordsystemet eftersom det lagrar artefakter genom vilka utvecklingsarbete föreslås och utvärderas.

  • Repositoryer och grenar

  • Incheckningar och pull-begäranden

  • Problem och diskussioner (kontext och avsikt)

  • Arbetsflödeskörningar och artefakter (bevis)

  • Granska beslutshistorik

I ett agentiskt arbetsflöde utför dessa artefakter dubbel plikt: de stöder utveckling och gör agentbeteendet inspekterat i efterhand.

Anmärkning

Den här modulen fokuserar på allmänna GitHub styrningsmönster. GitHub Avancerade säkerhetsfunktioner som hemlig genomsökning och push-skydd omfattas inte här, men kan integreras som ytterligare valideringssignaler i produktionsmiljöer.

GitHub som kontrollplan

GitHub är kontrollplanet eftersom det (när det konfigureras enligt policyn) tillhandahåller verkställighetspunkter som styr vad agenters bidrag kan och inte kan göra.

Kontroller i korthet

GitHub kontroll Vad det framtvingar Varför det är viktigt för agenter
Hämta begäranden Ändringar föreslås före sammanslagning Gör agentens arbete granskningsbart och diskuterbart
Nödvändiga granskningar Godkännandegrind för människa och agent Förhindrar ogranskade sammanslagningar och stödjer ansvarstagande
Nödvändiga statuskontroller CI-bevis före sammanslagning Konverterar utvärdering till en verkställbar princip
KODÄGARE Granska routning efter väg Säkerställer att rätt experter övervakar ändringar med hög påverkan
Regeluppsättningar/grenskydd Policy för centraliserad branch Förhindrar osäkra sammanslagningar och framtvingar konsekventa skyddsräcken
Environments Godkännanden för distributioner/hemligheter Styr känslig exekvering och konfidentiell åtkomst

Anmärkning

Dessa tvingande beteenden beror på konfiguration och behörigheter. Att till exempel aktivera nödvändiga kontroller och regeluppsättningar är vanligtvis en administratörsuppgift. Övervakningsmodellen fungerar överallt; tillsyn kräver att kontrollerna aktiveras.

GitHub Actions hör hemma i kontrollplanet

Arbetsflöden är platsen där genomförandet verifieras, men behörigheter spelar lika stor roll som kontroller. En nyckelsäkerhetsprincip är minst behörighet:

  • Ange standardbehörigheter för arbetsflödestoken konservativt (till exempel läsbehörighet där det är möjligt).

  • Bevilja endast högre behörigheter till de jobb som behöver dem.

  • Använd miljöer och godkännanden för att styra åtkomsten till känsliga hemligheter och distributioner.

För agentsystem minskar "vad agenten kan göra" ofta till "vad arbetsflödestoken och autentiseringsuppgifterna för verktyget kan göra". Kontroller och behörigheter måste utformas i enlighet med detta.

Implementeringsexempel

  • Arbetsflödeskörningen är beroende av personer I vissa agent-PR-arbetsflöden kan en medarbetare behöva uttryckligen godkänna att arbetsflöden körs (till exempel en handling för att godkänna och köra arbetsflöden). Det här är ett inbyggt skyddsräcke: det minskar risken för att privilegierade arbetsflöden körs automatiskt för ej betrodda ändringar.

  • Miljöer kontrollerar hemligheter och distributioner Om ett arbetsflödesjobb riktar sig mot en miljö med nödvändiga granskare väntar jobbet tills godkännande har beviljats. Detta förhindrar att ett agentutlöst arbetsflöde får åtkomst till skyddade hemligheter eller distribuerar utan mänsklig granskning (när det är konfigurerat).

  • CODEOWNERS dirigerar granskningar för högriskvägar Om agenten ändrar filer i en känslig sökväg (till exempel .github/workflows/ eller infra/), kan CODEOWNERS automatiskt begära granskning från ägarna av dessa sökvägar. I kombination med nödvändiga granskningar säkerställer detta att rätt experter övervakar ändringar med hög påverkan.

Hur GitHub framtvingar kontroll i praktiken

Agenten öppnar en pull request med en säkerhetskorrigering. GitHub:

  • Gör ändringen synlig i PR

  • Dirigerar den till rätt granskare via CODEOWNERS (när det är konfigurerat)

  • Utvärderar det genom nödvändiga kontroller och arbetsflöden

  • Block som slås samman tills principkraven uppfylls (när de konfigureras)

  • Förhindrar åtkomst till skyddade miljöhemligheter tills godkännanden har beviljats (när de har konfigurerats)

Det är vad det innebär att säga GitHub är kontrollplanet: det är där verkställigheten sker.

GitHub är inte bara där agentarbete lagras. Det är där agentarbetet övervakas, verifieras och styrs. Lagringsplatser och pull-begäranden gör arbetet synligt. kontroller, granskningar, CODEOWNERS, regeluppsättningar, grenskydd och miljöer gör arbetet kontrollerbart.

Nu när du har sett hur GitHub kan begränsa och validera agentbeteendet är nästa steg att undersöka ansvaret. I nästa lektion tittar du på vem som förblir ansvarig när agenter agerar i ett arbetsflöde.