Vercel తన AI SDK యొక్క వెర్షన్ 7ను scoped tool context ఫీచర్తో విడుదల చేసింది. ఇది AI ఏజెంట్లోని ప్రతి టూల్, అది స్పష్టంగా ప్రకటించిన సీక్రెట్స్ను (secrets) మాత్రమే పొందేలా చేస్తుంది. ఎక్స్పోజర్ను పరిమితం చేయడం ద్వారా, డెవలపర్లు థర్డ్-పార్టీ టూల్స్ తమ ఎన్విరాన్మెంట్లో నిల్వ చేయబడిన ప్రతి క్రెడెన్షియల్ను అనుకోకుండా చూడకుండా నిరోధించవచ్చు.
ఈ మార్పు ఎందుకు ముఖ్యం
AI ఏజెంట్లు తరచుగా అనేక బాహ్య సేవలను—ఆర్డర్ లుకప్స్, టికెట్ క్రియేషన్, పేమెంట్ ప్రాసెసింగ్—కలిపి పనిచేస్తాయి, వీటిలో ప్రతిదానికి దాని స్వంత API కీలు లేదా URLలు అవసరమవుతాయి. ప్రతి టూల్కు మొత్తం process.env ఆబ్జెక్ట్ను అందించడం అనేది ఒక సాధారణ షార్ట్కట్:
execute(input, { context: process.env })
ఆ పద్ధతి implicit privilege expansion (అంతర్లీన అధికార విస్తరణ)కు దారితీస్తుంది: కొత్త టూల్ను జోడించిన వెంటనే, కోడ్ రివ్యూ ఫ్లాగ్ లేకుండానే డేటాబేస్ పాస్వర్డ్లు లేదా పేమెంట్ టోకెన్లతో సహా ఇప్పటికే ఉన్న అన్ని సీక్రెట్స్కు దానికి యాక్సెస్ లభిస్తుంది. దీనివల్ల కలిగే రిస్క్ ఏమిటంటే, ఒక కంప్రమైజ్ అయిన లేదా బగ్ ఉన్న టూల్, దానికి అవసరం లేని క్రెడెన్షియల్స్ను అకస్మాత్తుగా లీక్ చేసే అవకాశం ఉంది.
Scoped tool context ఎలా పనిచేస్తుంది
SDK 7లో, ఒక టూల్ context schemaను ప్రకటిస్తుంది—అంటే దానికి అవసరమైన ఖచ్చితమైన ఫీల్డ్ల యొక్క Zod-ఆధారిత నిర్వచనం. ఏజెంట్ ఒక టూల్ను పిలిచినప్పుడు (invoke చేసినప్పుడు), కాలర్ కేవలం ఆ ప్రకటించిన ఫీల్డ్లను మాత్రమే కలిగి ఉన్న toolsContext ఆబ్జెక్ట్ను అందిస్తుంది. SDK ఎగ్జిక్యూషన్కు ముందు ఆ ఆకృతిని (shape) ధృవీకరిస్తుంది, మరియు ఏవైనా మిస్సింగ్ లేదా అదనపు కీలు ఉంటే ఎర్రర్ను చూపుతుంది.
ఒక చిన్న డెమోలో విభిన్న అవసరాలు కలిగిన రెండు టూల్స్ ఉన్నాయి:
- lookupOrder – అంతర్గత ఆర్డర్ సర్వీస్ను పిలవడానికి
baseUrlఅవసరం. - createTicket – సపోర్ట్ టికెట్ను తెరవడానికి
supportTokenఅవసరం.
ప్రతి టూల్ తన ఏకైక అవసరమైన కీని జాబితా చేస్తూ ఒక contextSchemaను ఎగుమతి (export) చేస్తుంది. ఏజెంట్ రన్ అయినప్పుడు, ఇది التاليని పాస్ చేస్తుంది:
{
lookupOrder: { baseUrl: "https://orders.internal" },
createTicket: { supportToken: "s3cr3t-token" }
}
lookupOrder కేవలం baseUrlను మాత్రమే చూస్తుంది; createTicket దానిని తాకదు, మరియు దీనికి విరుద్ధంగా కూడా జరుగుతుంది. SDK ఈ సరిహద్దును రన్టైమ్లో అమలు చేస్తుంది, తద్వారా దాగి ఉన్న డిపెండెన్సీని రివ్యూయర్లు ఆడిట్ చేయగల స్పష్టమైన సామర్థ్యాల జాబితాగా మారుస్తుంది.
భద్రతా ప్రయోజనాలు
- డేటా ఎక్స్పోజర్ను పరిమితం చేస్తుంది – క్రెడెన్షియల్స్ అవసరమైన చోట మాత్రమే ఉంటాయి.
- కాంటెక్స్ట్ను ధృవీకరిస్తుంది – సరిపోని లేదా మిస్సింగ్ ఫీల్డ్లు ఉంటే ఎగ్జిక్యూషన్ ఆగిపోతుంది.
- సామర్థ్యాలను స్పష్టంగా చేస్తుంది – ప్రతి టూల్ దేనికి యాక్సెస్ చేయగలదో రివ్యూయర్లు ఖచ్చితంగా చూడగలరు.
- ప్రభావ పరిధిని (blast radius) తగ్గిస్తుంది – ఒక టూల్ కంప్రమైజ్ అయితే, దాడి చేసే వ్యక్తికి ఆ టూల్కు అనుమతించబడిన సీక్రెట్స్ మాత్రమే లభిస్తాయి.
ఈ ఫీచర్ సాంప్రదాయ సాండ్బాక్సింగ్ను (sandboxing) భర్తీ చేయదు. డెవలపర్లు ఇప్పటికీ లాగ్ రిడెక్షన్ (log redaction), నెట్వర్క్ ఎగ్రెస్ కంట్రోల్స్ మరియు క్రమబద్ధమైన టోకెన్ రొటేషన్ను ఉపయోగించాలి. Scoped context అనేది ఒక సరిహద్దు మాత్రమే; అది గదిని పూర్తిగా సీల్ చేయదు.
డెవలపర్లు ఏమి మార్చుకోవాలి
- ప్రతి టూల్ కోసం ఒక స్కీమాను నిర్వచించండి – SDKతో పాటు వచ్చే Zod లైబ్రరీని ఉపయోగించండి.
- పరిమితమైన
toolsContextను మాత్రమే పంపండి – అన్నింటినీ కలిపి పంపేprocess.envను నివారించండి. - ప్రస్తుత ఏజెంట్లను రివ్యూ చేయండి – టూల్ కాల్స్ నుండి తొలగించగల ఏవైనా సీక్రెట్స్ను గుర్తించండి.
- ఆటోమేటెడ్ టెస్ట్లను జోడించండి – అదనపు డేటాను ఇంజెక్ట్ చేసినప్పుడు కాంటెక్స్ట్ వాలిడేషన్ విఫలమవుతుందని నిర్ధారించుకోండి.
త్వరగా ప్రారంభించడానికి ఇలా చేయండి:
mkdir scoped-tools && cd scoped-tools
npm init -y
npm install ai zod
npm install -D typescript tsx @types/node
demo.tsను సృష్టించి, ప్రతి టూల్ యొక్క contextSchemaను ప్రకటించి, tsx demo.tsతో రన్ చేయండి. మీరు ఒక టూల్కు అది అడగని సీక్రెట్ను ఇవ్వడానికి ప్రయత్నిస్తే SDK ఎర్రర్ను చూపుతుంది.
ప్రతికూల వాదన
అదనపు స్కీమా నిర్వచనాలు బోయిలర్ప్లేట్ (boilerplate)ను పెంచుతాయని మరియు ప్రోటోటైపింగ్ను నెమ్మదింపజేస్తాయని కొన్ని టీమ్లు వాదించవచ్చు. ఇది నిజమే అయినప్పటికీ, దీని ఖర్చు చాలా తక్కువ—ప్రతి టూల్కు కేవలం కొన్ని లైన్లు మాత్రమే—మరియు ఇంటిగ్రేట్ చేయబడిన సేవల సంఖ్య పెరిగేకొద్దీ భద్రతా ప్రయోజనం కూడా పెరుగుతుంది. పేమెంట్ డేటా లేదా వ్యక్తిగత సమాచారాన్ని హ్యాండిల్ చేసే వాతావరణంలో, ఈ లాభనష్టాల మధ్య సమతుల్యతను విస్మరించడం కష్టం.
తదుపరి ఏమి గమనించాలి
- అడాప్షన్ మెట్రిక్స్ – ప్రారంభ వినియోగదారులు సీక్రెట్-లీక్ సంఘటనలు తగ్గుతున్నట్లు నివేదిస్తున్నారు.
- కమ్యూనిటీ టూలింగ్ – కాన్ఫిగరేషన్ ఫైల్ల నుండి కాంటెక్స్ట్ స్కీమాలను ఆటోమేటిక్గా జనరేట్ చేసే ప్లగ్-ఇన్లు.
- భవిష్యత్తు SDK విడుదలలు – నెట్వర్క్ పర్మిషన్లు మరియు రేట్-లిమిట్ క్యాప్లను కూడా చేర్చడానికి Vercel తన scoped contextsను విస్తరించవచ్చనే సంకేతాలు ఉన్నాయి.
మీరు ఇప్పటికే Vercel SDKతో AI ఏజెంట్లను నిర్మిస్తుంటే, మొదటి అడుగు మీ ప్రస్తుత process.env వినియోగాన్ని ఆడిట్ చేయడం. అన్ని టూల్ కాల్స్ నుండి తొలగించగల ఏకైక విలువను గుర్తించి, ఆ పాత పద్ధతిని బదులుగా ఒక scoped toolsContextను ఉపయోగించండి. దీని ఫలితంగా AI ఏజెంట్ల శక్తిని తగ్గించకుండానే మరింత పటిష్టమైన భద్రత లభిస్తుంది.
