𝗬𝗼𝘂𝗿 𝗥𝗲𝗽𝗼 𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗜𝘀 𝗔𝗻 𝗔𝘁𝘁𝗮𝗰𝗸 𝗦𝘂𝗿𝗳𝗮𝗰𝗲 𝗡𝗼𝘄
AI કોડિંગ સુરક્ષા એ માત્ર મોડેલને ખરાબ કોડ લખતા રોકવા કરતાં વધુ છે.
સાચું જોખમ એમાં રહેલું છે કે એજન્ટ લખતા પહેલા શું વાંચે છે. તમારું રિપોઝિટરી (repository) હવે માત્ર કોડ માટેનું સ્થાન નથી રહ્યું. તે હવે AI એજન્ટ્સ માટે ઇનપુટ સ્ટ્રીમ છે.
તમારા repo માં રહેલી દરેક વસ્તુ એજન્ટ માટે 'સ્ટીયરિંગ મટીરીયલ' (માર્ગદર્શન આપનાર સામગ્રી) બની શકે છે:
- જૂની README ફાઇલો
- જૂની (stale) માઇગ્રેશન નોટ્સ
- જૂનું ડોક્યુમેન્ટેશન
- છુપાયેલા પ્રોજેક્ટ કન્વેન્શન (conventions)
- લોકલ ઇન્સ્ટ્રક્શન ફાઇલો
- ડિપેન્ડન્સી સ્ક્રિપ્ટ્સ અને શેલ હૂક્સ (shell hooks)
ડેવલપર્સ ઘણીવાર આ ફાઇલોને નુકસાન વગરનો કચરો માને છે. AI એજન્ટ સામાજિક સંદર્ભ (social context) જોતો નથી. તે ટેક્સ્ટ, ટૂલ્સ અને પેટર્ન જુએ છે. જો તમારું ડોક્યુમેન્ટેશન જૂનું અથવા અસ્તવ્યસ્ત હશે, તો એજન્ટ તે અસ્તવ્યસ્તતાને જ સ્ટાન્ડર્ડ માની લેશે.
ખરાબ કોન્ટેક્સ્ટ બે સ્વરૂપે આવે છે:
- બોરિંગ એરર્સ (Boring errors):
- જૂની સેટઅપ ઇન્સ્ટ્રક્શન
- ડિપ્રિકેટેડ (deprecated) APIs નો ઉપયોગ કરતા ઉદાહરણો
- જૂની આર્કિટેક્ચર નોટ્સ
- એડવર્સરીયલ એટેક્સ (Adversarial attacks):
- ફાઇલોની અંદર પ્રોમ્પ્ટ ઇન્જેક્શન (Prompt injection)
- માલિશિયસ (malicious) ડિપેન્ડન્સી સ્ક્રિપ્ટ્સ
- ઝેરીલા (poisoned) ઉદાહરણો જે કોડને અસુરક્ષિત પેટર્ન તરફ ધકેલે છે
જ્યારે તમે એજન્ટને ટેસ્ટ ચલાવવાની, ફાઇલો શોધવાની અથવા પુલ રિક્વેસ્ટ (pull requests) ખોલવાની શક્તિ આપો છો, ત્યારે તમે 'બ્લાસ્ટ રેડિયસ' (blast radius - નુકસાનનો વિસ્તાર) વધારી દો છો. હૂક સિસ્ટમ હવે માત્ર પ્રોડક્ટિવિટી ટૂલ નથી. તે ઓટોમેશન છે. તમારે તેને ઓટોમેશનની જેમ જ લેવું જોઈએ.
તમારા વર્કફ્લો વિશે આ પ્રશ્નો પૂછો:
- હૂક કોણ એડિટ કરી શકે છે?
- એજન્ટ કયા એન્વાયરમેન્ટ વેરિયેબલ્સ જોઈ શકે છે?
- શું એજન્ટ ડેવલપરના ક્રેડેન્શિયલ્સ (credentials) વાપરે છે?
- શું ટૂલ repo ની બહાર લખે છે?
એજન્ટ્સને જાદુઈ ટેક્સ્ટ બોક્સ તરીકે ન જુઓ. તેમને ડેવલપર ઇન્ફ્રાસ્ટ્રક્ચર તરીકે ગણો.
તમારા એજન્ટિક વર્કફ્લોને કેવી રીતે સુરક્ષિત કરવો:
- સ્કોપ મર્યાદિત કરો: જો એજન્ટને માત્ર ત્રણ ફાઇલોની જરૂર હોય, તો તેને તમારા આખા પ્રોજેક્ટ તરફ નિર્દેશિત કરશો નહીં.
- કોન્ટેક્સ્ટ સાફ કરો: જૂના ડોક્સ અને જૂની ઇન્સ્ટ્રક્શનને કાઢી નાખો અથવા સુધારો.
- એક્ઝિક્યુશનને મજબૂત બનાવો: જોખમી કાર્યો સેન્ડબોક્સ (sandbox) માં ચલાવો. ક્રેડેન્શિયલ્સને મર્યાદિત રાખો.
- વિઝિબિલિટીની માંગ કરો: એજન્ટે શું વાંચ્યું, કયા ટૂલ્સનો ઉપયોગ કર્યો અને કઈ કમાન્ડ્સ ચલાવી તે ચોક્કસ રીતે જાણો.
AI એજન્ટ શેલ એક્સેસ (shell access) અને ઝડપી ટાઇપિંગ સ્પીડ ધરાવતા જુનિયર ડેવલપર જેવો છે. તમે નવા જુનિયર ડેવલપરને પહેલા જ દિવસે ફૂલ પ્રોડક્શન ક્રેડેન્શિયલ્સ નહીં આપો. તમે તેમને નાના કાર્યો, સાફ કોન્ટેક્સ્ટ અને મર્યાદિત પરમિશન આપશો.
તમારા એજન્ટ્સ સાથે પણ તે જ રીતે વર્તો.
Source: https://dev.to/hefty_69a4c2d631c9dd70724/your-repo-context-is-an-attack-surface-now-5dhj
Optional learning community: https://t.me/GyaanSetuAi