AI-સક્ષમ GitHub Actions ને માત્ર એક કોમેન્ટ દ્વારા હાઇજેક કરી શકાય છે, જેનાથી API કી, ક્લાઉડ ટોકન્સ અને અન્ય સિક્રેટ્સ લીક થઈ શકે છે. એક સુરક્ષા સંશોધકે ૨૨ ઓપન-સોર્સ રિપોઝીટરીઝ શોધી કાઢી છે જ્યાં પબ્લિક ટ્રિગર, "skip prompts" ફ્લેગ સાથે ચાલતું AI ટૂલ અને એક્સપોઝ્ડ સિક્રેટ્સ ડેટા ચોરી માટે સીધો માર્ગ બનાવે છે.
આ ખામી કેવી રીતે કામ કરે છે
પ્રોજેક્ટ્સ હવે AI એજન્ટ્સ—Claude Code, GitHub Copilot CLI અને સમાન ટૂલ્સ—ને સીધા જ CI પાઇપલાઇન્સમાં એમ્બેડ કરે છે. વર્કફ્લો સ્ટેપ એક શેલ કમાન્ડ ચલાવે છે અને ઘણીવાર એક એવો ફ્લેગ ઉમેરે છે જે ટૂલને ઇન્ટરેક્ટિવ પરમિશન રિક્વેસ્ટ્સને અવગણવા માટે કહે છે. જ્યારે વર્કફ્લો કોઈપણ પબ્લિક ઇનપુટ—જેમ કે ઇશ્યુ, કોમેન્ટ અથવા પુલ-રિક્વેસ્ટ ટાઇટલ—પર શરૂ થાય છે, ત્યારે હુમલાખોરને માત્ર લખાણની એક લાઇન પોસ્ટ કરવાની જરૂર હોય છે જેને AI કમાન્ડ તરીકે ગણશે.
AI ને "skip prompts" ફ્લેગ દ્વારા પહેલેથી જ અનરસ્ટ્રિક્ટેડ શેલ એક્સેસ આપવામાં આવેલ હોય છે, તે વર્કફ્લો દ્વારા એક્સપોઝ કરવામાં આવેલ કોઈપણ એન્વાયરમેન્ટ વેરિએબલ અથવા ફાઇલ વાંચી શકે છે. જો જોબમાં સિક્રેટ્સ—API કી, ક્લાઉડ સર્વિસ ટોકન્સ અથવા ફૂલ સર્વિસ-એકાઉન્ટ ક્રેડેન્શિયલ્સ—લોડ કરવામાં આવે છે, તો AI તે કિંમતોને હુમલાખોરના કંટ્રોલમાં રહેલા સર્વર પર મોકલી શકે છે. કોઈ કોડ ફેરફાર વગર, કોઈ નવી ડિપેન્ડન્સી વગર, માત્ર એક નિર્દોષ દેખાતી કોમેન્ટ દ્વારા આ શક્ય છે.
વાસ્તવિક દુનિયાના ઉદાહરણો
સંશોધકે ત્રણ સુરક્ષા ખામી ધરાવતી રિપોઝીટરીઝની પુષ્ટિ કરી છે જેને પહેલેથી જ પેચ કરવામાં આવી છે:
- pymc-labs/pymc-marketing – પ્રોમ્પ્ટ ઇન્જેક્શન દ્વારા Anthropic API કી સુધી પહોંચવા માટે પબ્લિક ઇશ્યુનો ઉપયોગ કરી શકાય છે.
- MadAppGang/dingo – વર્કફ્લોએ Claude Code ને ફૂલ Bash એક્સેસ આપ્યો હતો અને એક જ જોબમાં બે સિક્રેટ્સ એક્સપોઝ કર્યા હતા.
- MadAppGang/claudish – dingo પ્રોજેક્ટની જેમ જ સમાન સુરક્ષા ખામી ધરાવતા ટેમ્પલેટનો ઉપયોગ કર્યો હતો.
એક શોધમાં લાઈવ ક્લાઉડ-સર્વિસ એકાઉન્ટ કી સામેલ હતી, જેની સંશોધકે સીધી જ એક મોટા AI પ્રોવાઇડરની સુરક્ષા ટીમ પાસે રિપોર્ટ કરી હતી. અન્ય બાર રિપોર્ટ્સ મેન્ટેનર્સ પાસે પેન્ડિંગ છે; જ્યાં સુધી ફિક્સ લાઈવ ન થાય ત્યાં સુધી તેમના નામ જાહેર કરવામાં આવશે નહીં.
શું જોખમમાં છે
જ્યારે હુમલાખોર સિક્રેટ એક્સટ્રેક્ટ કરે છે, ત્યારે નુકસાન તાત્કાલિક અને ખર્ચાળ હોઈ શકે છે. ક્લાઉડ-સર્વિસ એકાઉન્ટ કી કમ્પ્યુટ રિસોર્સિસ, સ્ટોરેજ બકેટ્સ અને અન્ય પેઇડ સર્વિસીસ માટે અનરસ્ટ્રિક્ટેડ એક્સેસ આપે છે. લાર્જ-લેંગ્વેજ-મોડેલ પ્રોવાઇડર માટેની API કી અનલિમિટેડ ક્વેરીઝ ચલાવી શકે છે, જે સંભવિત રીતે હજારો ડોલરના ચાર્જ ઊભા કરી શકે છે. કારણ કે એક્સપ્લોઇટ CI એન્વાયરમેન્ટની અંદર ચાલે છે, તેથી બ્રીચ ડાઉનસ્ટ્રીમમાં ફેલાઈ શકે છે: કમ્પ્રોમાઇઝ્ડ રનર પર બનેલી કોઈપણ આર્ટિફેક્ટમાં માલિશિયસ કોડ હોઈ શકે છે, જે એક સિંગલ રિપોઝીટરીને સપ્લાય-ચેઇન વેક્ટરમાં ફેરવી શકે છે.
જે ટીમો AI-આસિસ્ટેડ CI પર આધાર રાખે છે, તેમના માટે આ સંતુલન સ્પષ્ટ છે. ઓટો-જનરેટેડ કોડ, લિન્ટિંગ અથવા ડોક્યુમેન્ટેશનની સુવિધા સામે એ જોખમનું વજન કરવું જોઈએ કે પબ્લિક કોમેન્ટ એક છૂપી બેકડોર બની શકે છે.
આ ખામી શા માટે ચૂકી જવી સરળ છે
સંશોધકે શરૂઆતમાં છ રિપોર્ટ્સ ફાઇલ કર્યા હતા જે પાછા ખેંચી લેવામાં આવ્યા હતા. આ રિટ્રેક્શન GitHub Actions ના પરમિશન ચેક્સ વિશેની ધારણાઓને કારણે હતા, નહીં કે એક્શનના સોર્સ કોડના લાઇન-બાય-લાઇન રિવ્યુને કારણે. ડોક્યુમેન્ટેશન અને અંતર્જ્ઞાન ભ્રમિત કરી શકે છે; AI-સક્ષમ સ્ટેપની સુરક્ષા સ્થિતિની પુષ્ટિ કરવાની એકમાત્ર વિશ્વસનીય રીત એ છે કે ટૂલ ચલાવતા કોડ અને તેને જોડતા વર્કફ્લો YAML ની તપાસ કરવી.
મિટિગેશન ચેકલિસ્ટ
જો તમે GitHub Actions વર્કફ્લોની અંદર AI CLI અથવા સમાન ટૂલ ચલાવો છો, તો મર્જ કરતા પહેલા આ બે પ્રશ્નોના જવાબ આપો:
વર્કફ્લો કોણ ટ્રિગર કરી શકે છે? ટ્રિગર્સને વિશ્વાસપાત્ર ઇવેન્ટ્સ (દા.ત., પ્રોટેક્ટેડ બ્રાન્ચમાં પુશ) સુધી મર્યાદિત કરો અથવા બાહ્ય કન્ટ્રીબ્યુટર્સ દ્વારા શરૂ કરાયેલ રન માટે સ્પષ્ટ મંજૂરીની જરૂર રાખો. વધારાના ગેટિંગ વગર
on: issue_commentઅથવાon: issuesનો ઉપયોગ ટાળો.એ જ જોબમાં કયા સિક્રેટ્સ લોડ કરવામાં આવે છે? એવા જોબમાં ક્યારેય API કી, ક્લાઉડ ટોકન્સ અથવા સર્વિસ-એકાઉન્ટ ક્રેડેન્શિયલ્સ એક્સપોઝ ન કરો જે અનરસ્ટ્રિક્ટેડ શેલ એક્સેસ સાથે AI એજન્ટ પણ ચલાવે છે. સિક્રેટ-હેવી સ્ટેપ્સને અલગ જોબ્સ અથવા રનર્સમાં વિભાજિત કરો જે AI ટૂલ્સને ઇનવોક કરતા નથી.
વધારાના હાર્ડનિંગ સ્ટેપ્સ:
- પરમિશન પ્રોમ્પ્ટ્સને સ્કીપ કરતા ફ્લેગને દૂર કરો, જેથી AI ટૂલ શેલ કમાન્ડ્સ એક્ઝિક્યુટ કરતા પહેલા સ્પષ્ટ કન્ફર્મેશન માંગવા માટે મજબૂર થાય.
- એવું સ્ટેપ ઉમેરો જે AI ટૂલ વાંચી શકે તેવા કોઈપણ એન્વાયરમેન્ટ વેરિએબલને સેનિટાઇઝ અથવા રિડેક્ટ કરે.
- અનધિકૃત એન્ડપોઇન્ટ્સ પર ડેટા ચોરી રોકવા માટે નેટવર્ક એગ્રેસ કંટ્રોલ સાથે સેલ્ફ-હોસ્ટેડ રનર્સનો ઉપયોગ કરો.
કાઉન્ટર-પોઈન્ટ: CI માં AI ની ઉપયોગિતા
સમર્થકો દલીલ કરે છે કે ઉત્પાદકતામાં થતો વધારો જોખમ કરતા વધુ છે. ઓટોમેટેડ કોડ સજેશન્સ રિવ્યુનો સમય ઘટાડે છે, અને AI-ડ્રિવન ટેસ્ટિંગ વહેલા બગ્સ શોધી કાઢે છે. તેમ છતાં, આ સુવિધા એટેક સરફેસને પણ વધારે છે. મુખ્ય વાત AI ને છોડી દેવાની નથી પરંતુ શેલ-લેવલના અધિકારો ધરાવતા કોઈપણ ટૂલને સંભવિત વેક્ટર તરીકે ગણવાની છે.
આગળ શું જોવું
આ તારણોએ AI-સક્ષમ Actions માટે વધુ કડક ડિફોલ્ટ પરમિશન અંગે GitHub ના સિક્યુરિટી ફોરમ્સ પર પહેલેથી જ ચર્ચાઓ જગાવી છે. ભવિષ્યના પ્લેટફોર્મ અપડેટ્સમાં નીચેની બાબતો શામેલ હોઈ શકે છે:
- એક ફ્લેગ જે AI ટૂલ્સને ડાયરેક્ટ શેલ એક્સેસ વગર સેન્ડબોક્સ એન્વાયરમેન્ટમાં ચલાવવા માટે મજબૂર કરે.
- ઇશ્યુ બોડી અથવા કોમેન્ટ્સમાં પ્રોમ્પ્ટ-ઇન્જેક્શન પેટર્નનું ઇન-બિલ્ટ ડિટેક્શન.
- જ્યારે કોઈ વર્કફ્લો પબ્લિક ટ્રિગર્સને સિક્રેટ્સ ધરાવતા જોબ્સ સાથે મિક્સ કરે ત્યારે ઓટોમેટેડ એલર્ટ્સ.
અત્યારે, તેની જવાબદારી રિપોઝિટરી મેન્ટેનર્સ પર રહેલી છે. ઓળખાયેલી 22 રિપોઝિટરીઝ દર્શાવે છે કે આ સમસ્યા માત્ર એકલ નથી; જે કોઈપણ પ્રોજેક્ટ સમાન વર્કફ્લો પેટર્ન ધરાવે છે તે જોખમમાં છે. CI કોન્ફિગરેશન્સનું ઝડપી ઓડિટ હુમલાખોર કરતા પહેલા સમસ્યાને શોધી કાઢી શકે છે.
મુખ્ય વાત: પબ્લિક GitHub ઇશ્યુમાં ટેક્સ્ટની એક જ લાઇન તમારા CI એન્વાયરમેન્ટ પર AI એજન્ટને સંપૂર્ણ નિયંત્રણ આપી શકે છે અને તમે ત્યાં સંગ્રહિત કરેલા સિક્રેટ્સ ચોરી શકે છે. તમારા વર્કફ્લો કોણ લોન્ચ કરી શકે છે તેની ચકાસણી કરો, AI-સંચાલિત સ્ટેપ્સથી સિક્રેટ્સ દૂર રાખો, અને અનચેક્ડ પરમિશન આપે છે તેવા દરેક ફ્લેગની ઝીણવટભરી તપાસ કરો. બ્રીચની કિંમત શિસ્તબદ્ધ રિવ્યુના પ્રયત્નો કરતા ઘણી વધારે છે.
