GH Actions - Cache Poisoning

Jifunze kuhusu kuhack AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Kwa maelezo zaidi angalia chapisho la asili https://scribesecurity.com/blog/github-cache-poisoning/

Kuharibu Cache

Hatua ya Git action/cache inaleta mfumo wa kuhifadhi katika mchakato wa Uingizaji wa Kiotomatiki (CI), ikijumuisha hatua mbili muhimu:

  1. Run Action: Hatua hii inahusisha kutafuta na kupata data iliyohifadhiwa wakati wa kukimbia kwa CI. Utafutaji hutumia funguo ya kuhifadhi ya kipekee, ikitoa matokeo mawili:

  • Cache-hit: Data iliyotafutwa inapatikana kwenye cache na hivyo kupatikana mara moja kwa matumizi ya haraka.

  • Cache-miss: Hakuna data inayolingana iliyopatikana kwenye cache, ikisababisha upakuaji upya wa faili na saraka zinazohitajika, kama ombi la kwanza.

  1. Hatua ya Baada ya Hatua ya Kazi: Hatua hii imejitolea kwa kuhifadhi data baada ya mchakato wa CI. Kwa usahihi, ikiwa cache-miss itatokea wakati wa hatua ya kukimbia, hali ya sasa ya saraka zilizotajwa inahifadhiwa kwa kutumia funguo iliyotolewa. Mchakato huu ni wa kiotomatiki na hauhitaji wito wazi.

Hatua za Usalama: Kufunga Cache na Vizuizi vya Upatikanaji

Ili kudumisha usalama na kuhakikisha kufungwa kwa cache, vizuizi vya upatikanaji vinazingatiwa, vikiumba utengano wa mantiki kati ya matawi tofauti. Kwa mfano, cache iliyoundwa kwa tawi la Kipengele-A (ikiwa na msingi wake katika tawi kuu) haitapatikana kwa ombi la kuvuta kwa tawi la Kipengele-B (pia likiwa na msingi wake katika tawi kuu).

Hatua ya cache inazingatia utaratibu maalum wa utaftaji:

  • Kwanza inatafuta cache-hit ndani ya tawi moja kama kukimbia kwa hatua ya kazi.

  • Ikiwa haifanikiwi, inapanua utaftaji hadi tawi la mzazi na matawi mengine ya juu.

Kwa umuhimu, upatikanaji wa cache unazingatia tawi, ukienea kote kwa hatua zote za kazi na kukimbia za tawi maalum. Aidha, GitHub inatekeleza sera ya kusoma tu kwa kuingia kwa cache mara baada ya kuundwa, ikizuia mabadiliko yoyote.

Athari za Ulimwenguni wa Kweli: Kutoka Shambulio la Kazi ya Kibali cha Chini hadi cha Juu

Mfano wa kielelezo wa mazingira ya CI unaonyesha jinsi mshambuliaji anaweza kutumia kuharibu cache ili kukuza ruhusa kutoka kwa kazi ya kibali cha chini hadi cha juu:

  • Kazi ya Vipimo vya Kitengo, inayohusika na kukimbia vipimo vya kitengo na zana za chanjo ya nambari, inadhaniwa kutumia zana iliyodhurika au yenye kasoro. Kazi hii inatumia hatua ya Git ya action/cache, ikifanya cache iwezekane kwa kazi yoyote.

  • Kazi ya Kuachilia, ikishughulikia ujenzi na kutolewa kwa kipengee cha programu, inaboresha shughuli zake kwa kuhifadhi mahitaji ya Golang.

Katika hali hii, kazi ya vipimo vya kitengo inaingiza kuingia cha cache cha uovu kwa kubadilisha maktaba halali ya kuingia ya Golang (`go

Last updated