GitHub ના તાજેતરમાં રિલીઝ થયેલા Agentic Workflows ને પ્રાઇવેટ રિપોઝિટરી ફાઇલો પ્રકાશિત કરવા માટે છેતરી શકાય છે, જે Noma Labs ના સંશોધકોએ દર્શાવ્યું છે, જે બતાવે છે કે એક સિંગલ પબ્લિક ઇશ્યૂ કોમેન્ટ આંતરિક AI આસિસ્ટન્ટને ડેટા-લીક કંડ્યુઇટ (માધ્યમ) માં બદલી શકે છે.

આ ખામી મહત્વની છે કારણ કે તે કોઈપણ વિશેષ એક્સપ્લોઇટ કોડ વિના GitHub ના ઇન-બિલ્ટ સેફ્ટી ચેક્સને બાયપાસ કરે છે; હુમલાખોરને ફક્ત એક દેખીતી રીતે નિર્દોષ ઇશ્યૂ બનાવવાની જરૂર છે જેને AI એજન્ટ વાંચશે અને તેના પર કામ કરશે.

આ ખામી કેવી રીતે કામ કરે છે

Agentic Workflows એક AI એજન્ટને વર્કફ્લો ફાઇલમાં વ્યાખ્યાયિત કરેલી કમાન્ડ્સ એક્ઝિક્યુટ કરીને GitHub ઇવેન્ટ્સ—જેમ કે નવા ઇશ્યૂ—નો પ્રતિસાદ આપવા દે છે. Noma Labs એ શોધી કાઢ્યું કે એજન્ટ કાયદેસરના વર્કફ્લો ઇન્સ્ટ્રક્શન અને યુઝર દ્વારા સબમિટ કરેલી કોમેન્ટમાં સમાવિષ્ટ ટેક્સ્ટ વચ્ચે તફાવત કરી શકતું નથી. મેનેજરની વિનંતી જેવું દેખાતું પબ્લિક ઇશ્યૂ પોસ્ટ કરીને અને તેમાં છુપાયેલું નિર્દેશ (directive) ઉમેરીને, હુમલાખોર એજન્ટને નીચે મુજબ કરવા માટે વાળી શકે છે:

  1. ઇશ્યૂ ખોલવો (જાહેરમાં દેખાય તે રીતે).
  2. એક એવી લાઇન શામેલ કરવી જે સામાન્ય લાગે પરંતુ તેમાં ગુપ્ત કમાન્ડ હોય.
  3. AI ને એ પ્રાઇવેટ રિપોઝિટરીમાંથી ફાઇલો મેળવવા માટે ટ્રિગર કરવું જેને વર્કફ્લો વાંચવાની પરવાનગી ધરાવે છે.
  4. એજન્ટ દ્વારા મેળવેલ કન્ટેન્ટને તે જ ઇશ્યૂના રિપ્લાય તરીકે પોસ્ટ કરાવવું.

સંશોધકોએ શોધી કાઢ્યું કે છુપાયેલા કમાન્ડ પહેલા "Additionally," શબ્દ ઉમેરવો GitHub ના ગાર્ડરેલ્સ (guardrails) ને પાર કરવા માટે પૂરતો હતો. કોઈ વધારાની પરમિશન, ટોકન્સ અથવા કસ્ટમ કોડની જરૂર નથી—માત્ર યોગ્ય શબ્દોની જરૂર છે.

આ માત્ર એક બગ કરતાં વધુ શા માટે છે

આ સમસ્યા માળખાગત (structural) છે. AI એજન્ટ રિપોઝિટરી ઇવેન્ટમાંથી મેળવેલા કોઈપણ ટેક્સ્ટને વિશ્વાસપાત્ર માને છે, જે અસરકારક રીતે યુઝર-જનરેટેડ કન્ટેન્ટને વેબ એપ્લિકેશનમાં SQL injection જેવું ઇનપુટ વેક્ટર બનાવે છે. જો વર્કફ્લો એજન્ટને પ્રાઇવેટ રિપોઝિટરીઝમાં વાંચવાની એક્સેસ અને પબ્લિકલી કોમેન્ટ કરવાની ક્ષમતા આપે છે, તો આ સંયોજન ડેટા એક્સફિલ્ટ્રેશન (data exfiltration) માટે સીધો માર્ગ બનાવે છે.

GitHub શું કહે છે

GitHub ને આ ખામી વિશે જાણ કરવામાં આવી છે.

ટીમો માટે નિવારણના પગલાં

  • એજન્ટ પરમિશન મર્યાદિત કરો: જ્યારે અત્યંત જરૂરી હોય ત્યારે જ પ્રાઇવેટ રિપોઝિટરીઝ માટે read/write એક્સેસ આપો.
  • પબ્લિક પોસ્ટિંગ બ્લોક કરો: વર્કફ્લોને એવી રીતે કન્ફિગર કરો કે જેથી એજન્ટ્સ પબ્લિક ઇશ્યૂઝ પર કોમેન્ટ્સ અથવા અન્ય આર્ટિફેક્ટ્સ પ્રકાશિત ન કરી શકે.
  • તમામ બાહ્ય ઇનપુટને અવિશ્વાસપાત્ર માનો: એવા વેલિડેશન લેયર્સ ઉમેરો જે AI સુધી પહોંચતા પહેલા યુઝર-જનરેટેડ ટેક્સ્ટને સેનિટાઇઝ કરે અથવા અવગણે.
  • વર્કફ્લો ટ્રિગર્સનું ઓડિટ કરો: કઈ ઇવેન્ટ્સ (ઇશ્યૂ, પુલ રિક્વેસ્ટ્સ, વગેરે) એજન્ટ્સને બોલાવે છે તેની સમીક્ષા કરો અને ખાતરી કરો કે સંબંધિત પરમિશન નિર્ધારિત ઉપયોગના કિસ્સા સાથે મેળ ખાય છે.

મુખ્ય વાત (Takeaway): જે AI આસિસ્ટન્ટ પ્રાઇવેટ કોડ વાંચી શકે છે અને પબ્લિકલી પોસ્ટ કરી શકે છે, તે તમે તેની આસપાસ જે સીમાઓ નક્કી કરો છો તેટલું જ સુરક્ષિત છે. કડક પરમિશન મર્યાદાઓ અને ઇનપુટ સેનિટાઇઝેશન વિના, એક સિંગલ પબ્લિક કોમેન્ટ ઉત્પાદકતા ફીચરને ડેટા-લીક વેક્ટરમાં બદલી શકે છે.