8 मिनट पढ़ें

Clipboard credential exposure: secrets को agents तक पहुंचने से रोकें

Clipboard credential exposure एक तेज कॉपी को prompts, terminals, sync tools और history में सुरक्षित रह जाने वाले data में बदल देता है। इसके बजाय सुरक्षित action paths अपनाएं।

Clipboard credential exposure: secrets को agents तक पहुंचने से रोकें

किसी क्रेडेंशियल को कॉपी करना अस्थायी लगता है, क्योंकि यह काम एक सेकंड से भी कम समय में हो जाता है। लेकिन यह अस्थायी नहीं होता। Clipboard history, terminal scrollback, agent transcripts, chat sync और shell history उस एक कार्रवाई की कई अलग-अलग प्रतियां बना सकते हैं। हर कॉपी के access rules और retention अलग हो सकते हैं।

डेवलपर अक्सर यह देखते हैं कि password manager में रखा सीक्रेट rest पर encrypted है या नहीं। यह जरूरी है, लेकिन असली जोखिम कॉपी करने के बाद शुरू होता है। Plaintext password manager से बाहर आते ही ऐसे टूल्स में जा सकता है, जिन्हें आपके पेस्ट किए हुए डेटा को याद रखने, index करने, sync करने या फिर से चलाने के लिए बनाया गया है। Autonomous agent इस गलती को दोहराना आसान बना देता है, क्योंकि उसके लंबे और विस्तृत prompts तथा command output को लोग अक्सर अस्थायी मान लेते हैं।

Clipboard history दूसरा storage system बना देती है

जब clipboard history किसी ऐप के टेक्स्ट भूल जाने के बाद भी उसे बचाए रखती है, तो वह दूसरा credential store बन जाती है। Operating system का clipboard पहले से ही shared state होता है। History feature इस state की उम्र बढ़ा देती है और पुराने entries को अक्सर searchable बना देती है।

यह उस जोखिम से अलग है जिसमें कोई ऐप आपके पेस्ट करते समय clipboard पढ़ता है। डेवलपर किसी कॉपी किए गए मान को टूल में पेस्ट करने तक देख सकता है और फिर clipboard साफ कर सकता है। लेकिन history database clearing से पहले ही वही मान रख सकता है। अगर आपने token, secret header और पूरा command कॉपी किया है, तो वह कई versions भी बचा सकता है।

macOS पर pbcopy standard input को pasteboard में लिखता है और pbpaste उसे वापस पढ़ता है। यही सुविधा scripts और debugging habits को secrets clipboard तक पहुंचाने में मदद करती है। इस harmless test को किसी अस्थायी terminal में चलाएं:

printf '%s' 'CLIPBOARD-TEST-7f3c' | pbcopy
pbpaste

अपेक्षित output यह है:

CLIPBOARD-TEST-7f3c

अब आपके इस्तेमाल किए जाने वाले हर clipboard-history feature को खोलकर CLIPBOARD-TEST-7f3c खोजें। जिन devices पर clipboard साझा होता है, उन सभी पर यही करें। इस test से यह साबित नहीं होता कि कोई टूल हर clipboard type सहेजता है, लेकिन यह पता चलता है कि सामान्य text path मूल कार्रवाई खत्म होने के बाद भी entry रखता है या नहीं।

Apple Universal Clipboard को continuity feature के रूप में बताता है। इसके जरिए उपयोगकर्ता एक Apple device पर कॉपी करके दूसरे device पर पेस्ट कर सकता है, अगर दोनों एक ही Apple Account में signed in हों और continuity की शर्तें पूरी करते हों। यह जानकारी उपयोगी transport mechanism का वर्णन करती है, secret-handling boundary का नहीं। अगर आपका credential दूसरे device पर चला जाता है, तो उस device के local applications, backups और session state भी exposure के दायरे में आ जाते हैं।

आम जवाब होता है, "मैंने इसे केवल locally कॉपी किया था।" Local होना retention policy नहीं है। Local clipboard manager लगातार चल सकता है, search के लिए database रख सकता है, backups में entries शामिल कर सकता है या उन्हें sync provider को भेज सकता है। Local machine पर दूसरे user sessions, remote management software, screen recording, support tooling और development utilities भी हो सकते हैं। इसे हर local software से डरने की बात न बनाएं। पता लगाएं कि clipboard कौन पढ़ सकता है, data कितने समय तक रखा जाता है और क्या वह कहीं और भेजा जाता है।

कॉपी किया गया secret अपने आप compromised नहीं हो जाता, लेकिन वह ऐसी boundary पार कर चुका है जिसे आप vault जितने भरोसे से नियंत्रित नहीं कर सकते। आपके अगले कदम इससे बदलने चाहिए।

Agent prompt credential distribution channel है

Agent prompt में token पेस्ट करने से token उस request की जरूरत से कहीं ज्यादा जगहों पर पहुंच जाता है। Agent उसे पढ़ सकता है, लेकिन conversation history रखने वाला client, बाद के turns तैयार करने वाला context builder, client के आसपास के logs और परिणामी transcript देखने वाला कोई भी व्यक्ति उसे पढ़ सकता है।

Prompt एक खास तौर पर खराब pattern को बढ़ावा देता है: पूरा working request कॉपी करना, क्योंकि यह आसान लगता है। डेवलपर bearer token, URL, customer identifier और curl command पेस्ट करके agent से उसे बदलने को कहता है। Agent अपने जवाब में command दोहरा सकता है। डेवलपर उस जवाब को terminal में वापस कॉपी कर सकता है। तब एक secret original clipboard record, prompt, response, terminal scrollback और संभवतः shell-history file में दिखाई देता है।

मान पेस्ट करने के बाद redaction instruction देकर समस्या हल करने की कोशिश न करें। Agent पहले मिल चुके context को भूल नहीं सकता और कोई instruction local या remote records को delete नहीं करती। Credentials नहीं, structure मांगें।

ऐसा prompt, जिसमें कुछ भी sensitive न हो, फिर भी agent को पर्याप्त दिशा दे सकता है:

Call the staging inventory API endpoint GET /v1/items.
Use the credential named staging-inventory.
Return the status code and the count of items.
Do not print request headers or authentication material.

यह prompt action request को authorization material से अलग रखता है। यह agent को लौटाने वाला परिणाम भी बताता है, जिससे reassurance के लिए पूरा request या response dump करने की आदत रुकती है।

यह अंतर अक्सर धुंधला हो जाता है: secret reference, secret value नहीं होता। staging-inventory, PAYMENTS_TOKEN या "use my production deploy credential" तभी सुरक्षित references हो सकते हैं, जब agent के पास उन्हें plaintext में बदलने का रास्ता न हो। अगर कोई local configuration file reference को expand करके value agent को वापस दे देती है, तो आपने copying की जगह केवल indirection रखी है।

Prompt text को ऐसा content मानें जिसे retained, searched, reviewed, exported या गलती से bug report में शामिल किया जा सकता है। यही standard agent tool output पर भी लागू होता है। Request headers लौटाने वाला tool, URL token दोहराने वाली authorization failure या verbose debug output बिना किसी के जानबूझकर पेस्ट किए credential को अगले prompt में पहुंचा सकता है।

Terminal की सुविधा कई प्रतियां छोड़ देती है

Literal secret वाली shell command clipboard history से भी ज्यादा रास्तों से लीक हो सकती है। Shell उसे history में रख सकता है। Terminal उसे scrollback में बचा सकता है। Terminal multiplexer उसे pane log में लिख सकता है। Recorder उसे capture कर सकता है। कुछ systems पर पर्याप्त permissions वाले दूसरे local processes command arguments देख सकते हैं।

इसीलिए यह परिचित command अच्छा default नहीं है:

curl -H 'Authorization: Bearer eyJ...' https://api.example.test/v1/items

Token type या paste करते समय दिखाई देता है, clipboard में जा सकता है और shell history में बच सकता है। Token को environment variable से बदलने पर command line से वह हट जाता है, लेकिन process environment से नहीं:

curl -H "Authorization: Bearer $INVENTORY_TOKEN" https://api.example.test/v1/items

यह तभी सुधार है जब आप नियंत्रित करते हों कि INVENTORY_TOKEN environment में कैसे आता है, कौन से child processes उसे inherit करते हैं और diagnostics उसे print करते हैं या नहीं। Interactive shell में export INVENTORY_TOKEN=... पेस्ट करके संतुष्ट न हो जाएं। हो सकता है आपने literal value को केवल एक command पहले history में पहुंचा दिया हो।

Manual work के लिए interactive prompt अक्सर ज्यादा सुरक्षित होता है, क्योंकि input command का हिस्सा नहीं बनता। एक छोटी script token को echo किए बिना पढ़ सकती है:

#!/bin/sh
printf 'Inventory token: ' \u003e\u00262
stty -echo
IFS= read -r token
stty echo
printf '\\n' \u003e\u00262
curl -sS -H "Authorization: Bearer $token" https://api.example.test/v1/items
unset token

इससे secret typed command और सामान्य terminal display में दिखाई नहीं देता। लेकिन इससे shell script vault नहीं बन जाती। Process अब भी value को memory में रखता है, curl को header मिलता है और verbose mode या proxy log उसे उजागर कर सकता है। इस pattern को छोटे manual recovery task के लिए इस्तेमाल करें, permanent integration design के रूप में नहीं।

बेहतर design credential को command path से बाहर रखता है। Credential-aware component को request करने दें और केवल वही data लौटाएं जिसकी developer या agent को जरूरत है। अगर task है "बताएं कि deployment X पूरा हुआ या नहीं", तो result status और timestamp होना चाहिए, पूरा authenticated HTTP exchange नहीं।

Shared clipboard tools चुपचाप audience बढ़ाते हैं

Shared clipboard tools credentials के लिए unsafe हैं, क्योंकि sharing local copy को delivery mechanism बना देती है। Exposure में teammate का desktop client, browser extension, chat integration, remote workspace या वह device शामिल हो सकता है जिसमें आप sign in करना भूल गए हों।

डेवलपर इन tools को उनके उद्देश्य से आंकते हैं। Shared clipboard snippets को जल्दी टीम में भेजने के लिए होता है, इसलिए यह work channel जैसा लगता है। Credentials को channel का professional लगना महत्वपूर्ण नहीं लगता। अगर हर participant बाद में entry प्राप्त कर सकता है, तो आपने हर participant को उस secret का access दे दिया है।

Temporary incident channel सबसे असहज स्थिति होती है। Production failure की जांच के लिए किसी को API token चाहिए और teammate कहता है, "इसे shared clipboard में डाल दो, बाद में delete कर दूंगा।" ऐसा न करें। Recipient इसे अपनी shell history में पेस्ट कर सकता है। Service deletion से पहले item record कर सकती है। Local sync client इसे कई devices पर डाउनलोड कर सकता है। अपनी machine से आप हर copy के deletion की पुष्टि नहीं कर सकते।

Reference भेजें और credential इस्तेमाल करने का approved path तय करें। अगर किसी human को secret देना जरूरी है, तो access controls और expiry वाली organization की designated secret-sharing method इस्तेमाल करें। अगर ऐसी method नहीं है, तो सीमित अधिकार वाला replacement credential बनाकर incident के बाद उसे रद्द करना collaboration tool को secret channel की तरह इस्तेमाल करने से आम तौर पर कम लापरवाह है।

Clipboard sharing एक सूक्ष्म failure भी पैदा करती है: डेवलपर locally secret कॉपी करता है, फिर बाद में sync enable करता है, history utility इंस्टॉल करता है या दूसरे device में sign in करता है। पुराने records नए सिरे से accessible हो सकते हैं। Sensitive work से पहले retention और sync settings देखें, लेकिन मानकर चलें कि पहले की copying की अलग जांच जरूरी है।

Clipboard साफ करने से trail नहीं मिटता

SSH कुंजियां पेस्ट करना बंद करें
SSH को sp-ssh के जरिए चलाएं और निजी कुंजियों को टर्मिनल कमांड के बजाय ऐप के अंदर रखें।

Current clipboard साफ करने से केवल current clipboard contents बदलते हैं। इससे history database, sync record, terminal, agent conversation या destination application's logs से removal की गारंटी नहीं मिलती।

Accidental copying के बाद current clipboard फिर भी साफ करें, क्योंकि इससे आगे का casual exposure घटता है। macOS पर यह command plaintext clipboard contents को empty string से बदल देती है:

printf '' | pbcopy

इस operation को remediation न बताएं। यह containment है। Clipboard manager का दिखाई देने वाला "delete" button भी ऐसा ही है। वह user interface से record हटा सकता है, जबकि backups, sync replicas, indexed search data या कोई दूसरा endpoint उसे रख सकता है।

Accidental copy को छोटे incident की तरह संभालें। सही response credential के scope पर निर्भर करता है, लेकिन क्रम महत्वपूर्ण है:

  1. Exposed credential का इस्तेमाल रोकें और issuer यह सुविधा देता हो तो उसे revoke या rotate करें।
  2. Current clipboard साफ करें और अपने नियंत्रण वाले हर device पर ज्ञात history entry हटाएं।
  3. संभावित destinations खोजें: agent chats, terminal history, terminal logs, shell scripts, notes, issue comments और repository files।
  4. Credential की service-side activity में अपरिचित actions देखें।
  5. घटना दर्ज करें और उस workflow को सुधारें जिसने pasting को जरूरी बनाया।

लोग कभी-कभी rotation से इसलिए बचते हैं क्योंकि वे साबित नहीं कर सकते कि किसी तीसरे पक्ष ने entry पढ़ी। Outage के दौरान यह समझ में आता है, लेकिन proof standard गलत है। आप जानते हैं कि secret अपनी intended control से बाहर किसी storage या channel तक पहुंचा। Rotation की लागत को credential के privilege और lifetime से तौलें, चोरी साबित कर पाने की क्षमता से नहीं।

Blindly rotate करके unrevoked पुराना token command history में न छोड़ें। पुष्टि करें कि पुराना credential अब काम नहीं करता। अगर provider individual values revoke नहीं कर सकता, तो parent secret या access policy बदलकर exposure window छोटा करें और अगली incident के लिए इस सीमा को document करें।

Password managers copying घटाते हैं, जोखिम खत्म नहीं करते

Password managers storage problem को अच्छी तरह हल करते हैं, जब वे secrets को encrypted रखते हैं और retrieval को नियंत्रित करते हैं। लेकिन application किसी value को prompt, terminal, form या clipboard history में पेस्ट करने के बाद क्या करती है, इस पर उनका नियंत्रण नहीं होता।

कई password managers clipboard-clearing timeout देते हैं। इसका इस्तेमाल करें। यह active clipboard में plaintext रहने का समय घटाता है। लेकिन यह किसी दूसरे program की history entry, synced record या दूसरे application में पहले से पेस्ट किए गए text को भरोसेमंद तरीके से नहीं मिटा सकता। यह feature बाद में होने वाले accidental pastes में मदद करता है, broad copying को workflow की अनुमति नहीं देता।

सुरक्षित कदम password manager integration का इस्तेमाल केवल उन destinations के लिए करना है जिन्हें सचमुच plaintext चाहिए और जो उसे सुरक्षित रख सकते हैं। Local workspace file में secrets रखने वाला API client अक्सर जितना सुरक्षित दिखता है, उससे खराब destination होता है। Browser form autofill mistakes के जरिए leak हो सकता है। Terminal command आम तौर पर सबसे खराब जगह है, क्योंकि failure होने पर डेवलपर वही command tickets और chat में पेस्ट करते हैं।

ऐसे password के लिए अलग judgment रखें जिसे human को login page में type करना है और उस machine credential के लिए जो API या SSH call करता है। Human password के लिए controlled entry के अलावा कोई उपयोगी विकल्प न हो सकता है। Machine credential को आम तौर पर action boundary के पीछे रहना चाहिए, ताकि agent या human को उसे text के रूप में इधर-उधर न ले जाना पड़े।

यह अंतर टीमों को "never copy secrets" जैसे अनुपयोगी rule से बचाता है। कभी-कभी human को recovery code कॉपी करना पड़ता है। उपयोगी rule अधिक सीमित है: किसी secret को ऐसे system में कॉपी न करें जो text को record, sync, interpret या redistribute करता हो, जब तक वह system उस secret को रखने के लिए स्पष्ट रूप से approved न हो।

Credential injection prompt-level authorization से बेहतर है

कार्रवाई की सीमा सुरक्षित करें
वॉल्ट गेट लॉक होने पर हर कार्रवाई रोक देता है। macOS पर Secure Enclave और Touch ID के जरिए हार्डवेयर सुरक्षा भी मिलती है।

Credential injection prompt-level authorization से सुरक्षित है, क्योंकि agent को authorize करने वाली सामग्री दिए बिना उससे action का अनुरोध किया जाता है। Agent कह सकता है "credential X से यह HTTPS request करें", जबकि अलग local component authorization header देता है और filtered result लौटाता है।

यह architecture agent workflow के सबसे खतरनाक failure mode को रोकती है: agent किसी credential को file, response, commit message या follow-up prompt में दोहराकर exfiltrate कर दे। अगर agent को value कभी मिलती ही नहीं, तो वह उसे गलती से print नहीं कर सकता। फिर भी वह दी गई authority का गलत इस्तेमाल कर सकता है, इसलिए action के आसपास approval और audit controls जरूरी हैं।

SSH को भी यही treatment चाहिए। Private key को agent context में कॉपी करना बचाव योग्य नहीं है। Terminal heredoc में कॉपी करना केवल थोड़ा कम खराब है। सही SSH path private key को protected store में रखता है, signing या connection setup locally करता है और caller को key material के बजाय command output देता है।

Sallyport HTTP और SSH के लिए यही model अपनाता है: उसका vault API और SSH credentials रखता है, जबकि agents plaintext credentials पाने के बजाय bundled MCP shim के जरिए actions का अनुरोध करते हैं। उसका vault gate, session approval और हर credential use के लिए optional approval developers से policy rules लिखवाने के बजाय actions को नियंत्रित करते हैं।

इसे network proxy या general rules engine न समझें। Action gateway उस request को ठीक नहीं कर सकता जिसे authorized agent को कभी करने की अनुमति नहीं मिलनी चाहिए थी। यह authorization को visible बना सकता है, intended boundary पर human decision मांग सकता है और secret को prompt तथा clipboard path से बाहर रख सकता है।

Approval को action बताना चाहिए, secret दिखाना नहीं

Approval screen में यह स्पष्ट होना चाहिए कि action का अनुरोध किसने किया, वे किस credential authority का इस्तेमाल करना चाहते हैं और कौन सा operation चलेगा। Human को secret को compare या inspect करने की जरूरत कभी नहीं होनी चाहिए।

यहीं कई homemade wrappers विफल होते हैं। वे token को config file में रखते हैं, फिर approval के लिए पूरी तरह expanded curl command दिखाते हैं। Developer ने token को agent prompt में पेस्ट करने से तो बचा लिया, लेकिन approval dialog और logs में उसे उजागर कर दिया। सुरक्षित approval record credential: staging-inventory, method: GET, host: api.example.test और path: /v1/items दिखा सकता है। Authorization header दिखाने की कोई जरूरत नहीं है।

Approval fatigue design failure है, जब हर harmless read request अस्पष्ट dialog पैदा करती है। लोग vague dialogs पर click करते हैं, क्योंकि जानकारी उन्हें निर्णय लेने में मदद नहीं करती। उपयोगी decision request requesting process की code-signing identity दिखाती है, fresh process और पहले से approved process का अंतर बताती है और कहती है कि current action individual approval वाले credential का इस्तेमाल करेगा या नहीं।

Action result को भी सीमित रखें। उदाहरण के लिए deployment status call यह लौटा सकती है:

{"deployment":"api-472","state":"completed","finished_at":"2025-04-17T11:26:00Z"}

इसे request headers, unrelated customer data वाला पूरा body या ऐसा debug dump नहीं लौटाना चाहिए जो agent को बाद के context में secrets दोहराने पर मजबूर करे। Output filtering केवल सजावट नहीं है। इससे अगली बार कॉपी होने वाला data सीमित होता है।

Audit trails को बताना चाहिए कि agent ने कार्रवाई की या नहीं

हर कुंजी के लिए मंजूरी मांगें
संवेदनशील क्रेडेंशियल के लिए हर इस्तेमाल पर क्लिक या Touch ID से मंजूरी जरूरी करें।

Audit trail को agent run और individual credentialed call में अंतर करना चाहिए। Session record बताता है कि authority किस process को मिली और उस run को revoke करने देता है। Call record बताता है कि authorization के बाद उसने क्या किया। एक ही record दोनों सवालों का साफ जवाब नहीं दे सकता।

Logs को दूसरा secret vault बनने से भी रोकें। Forensic सुविधा के लिए पूरा request सहेजना आकर्षक लगता है, खासकर development के दौरान। Authorization headers, raw cookies, private keys या credentials वाली request bodies log न करें। Credential reference, destination, method, path, outcome, time, process identity और approval decision दर्ज करें। Target service request identifiers देती हो तो उन्हें भी जोड़ें।

जब agent unattended काम कर सकता है, tamper evidence महत्वपूर्ण होता है। ऐसा log जिसे process बाद में बदल सके, इस सवाल का निपटारा नहीं करता कि क्या हुआ था। Hash-chained record auditor को यह जांचने देता है कि entries हटाई या बदली नहीं गईं, बिना credential material उजागर किए।

Sallyport encrypted hash-chained audit log से session और call journals दोनों project करता है, और sp audit verify vault key के बिना offline chain की जांच करता है। यह terminal transcript से बेहतर incident artifact है, क्योंकि यह authorized actions दर्ज करता है और हर copied string को सुरक्षित रखने लायक evidence नहीं मानता।

जब copied secret incident हो, तो ठोस सवालों के जवाब के लिए audit trail इस्तेमाल करें: कौन सा agent process चला? वह किन destinations तक पहुंचा? क्या उसने write की कोशिश की? किसी दूसरी call से पहले session revoke किया गया था? इन जवाबों से event का scope तय करने में मदद मिलती है। वे यह साबित नहीं करते कि किसी clipboard reader ने original value नहीं देखी, इसलिए rotation अब भी response का हिस्सा है।

इस सप्ताह हटाने वाला workflow

Literal credentials को उन paths से हटाएं जिन्हें आपकी टीम सामान्य text मानती है। उन जगहों से शुरू करें जहां copy और paste सबसे स्वाभाविक लगता है: agent prompts, terminal commands, shared clipping tools, issue comments और team chat drafts।

CLIPBOARD-TEST-7f3c जैसे harmless marker के साथ छोटा tabletop exercise करें। इसे एक बार कॉपी करें, फिर उन history tools, terminal records, agent sessions और synced devices में खोजें जिनका आपकी टीम वास्तव में इस्तेमाल करती है। Generic security advice पर बहस करने के बजाय आप अपने environment में महत्वपूर्ण route जल्दी खोज लेंगे।

फिर safer path को पुराने path से कम परेशान करने वाला बनाएं। Agents को ऐसा action interface दें जो credential references स्वीकार करे, session approvals को समझने योग्य रखें, sensitive credentials के लिए individual approval रखें और काम जारी रखने के लिए केवल जरूरी result लौटाएं। अगर routine automation पूरी करने के लिए developer को plaintext उजागर करना पड़ता है, तो workflow में अब भी छेद है।

Secret को अपना उपयोगी जीवन protected store और उसका इस्तेमाल करने वाले process में बिताना चाहिए। केवल इसलिए clipboard की यात्रा नहीं करनी चाहिए कि copying आसान है।

सामान्य प्रश्न

क्या API key को clipboard पर कॉपी करना सुरक्षा जोखिम है?

हां। Clipboard history एक सेकंड में किए गए कॉपी ऑपरेशन को ऐसे संग्रहीत डेटा में बदल देती है, जो रीबूट, अकाउंट सेशन, डिवाइस sync या बैकअप के जरिए लंबे समय तक रह सकता है। Clipboard पर कॉपी किए गए सीक्रेट को हर उस ऐप और सेवा के सामने उजागर मानें, जो उस history को पढ़ सकती है।

क्या password manager का clipboard timeout कॉपी किए गए सीक्रेट को सुरक्षित बनाता है?

यह clipboard की सामग्री को सुरक्षित नहीं करता। Password manager की विंडो सक्रिय रहने के दौरान दूसरे ऐप्स को clipboard पढ़ने से रोकना अलग बात है। जैसे ही आप सीक्रेट को कहीं और पेस्ट करते हैं, प्राप्त करने वाला ऐप और clipboard-history सेवा उसे सहेज सकते हैं।

मैं टोकन पेस्ट किए बिना AI एजेंट को API access कैसे दूं?

आमतौर पर, नहीं। एजेंट से मांगी गई कार्रवाई बताएं और फिर किसी ऐसे action layer को अनुरोध चलाने दें, जिसके पास क्रेडेंशियल हो, लेकिन वह सीक्रेट प्रॉम्प्ट में उजागर न करे। टर्मिनल इस्तेमाल करना जरूरी हो तो कमांड में वास्तविक मान लिखने के बजाय interactive prompt या स्थानीय secret reference चुनें।

क्या shell command में सीक्रेट रखना उसे prompt में रखने से ज्यादा सुरक्षित है?

Shell उसे history में रख सकता है, terminal recorder उसे कैप्चर कर सकता है, process monitor command arguments दिखा सकता है और कॉपी किया गया टेक्स्ट clipboard history में बच सकता है। Environment variables command-line exposure घटाते हैं, लेकिन child processes और debug output के जरिए वे भी लीक हो सकते हैं।

अगर मैंने shared clipboard में सीक्रेट कॉपी कर दिया है तो क्या करूं?

Shared clipboard में production credentials पेस्ट न करें। अगर काम टालना संभव न हो तो सीमित अधिकार और कम समय वाला अलग क्रेडेंशियल इस्तेमाल करें और काम पूरा होने पर उसे रद्द कर दें। Shared clipboard निजी scratchpad नहीं, वितरण का माध्यम है।

क्या API keys के लिए clipboard manager पर भरोसा किया जा सकता है?

जब तक आप इसके विपरीत पुष्टि न कर लें, मानें कि सेवा में स्थानीय database या synced record मौजूद है। दिखाई देने वाली entry हटाएं, जरूरत हो तो sync बंद करें, retention settings देखें और intended boundary से बाहर उजागर हुए क्रेडेंशियल बदल दें।

क्या कॉपी किए गए session cookie या access token को बदलना जरूरी है?

Session token password जितना ही खतरनाक हो सकता है, क्योंकि उसके valid रहने तक हमलावर authenticated user की तरह काम कर सकता है। संभव हो तो उसे बदलें या रद्द करें, फिर token की वैध अवधि के दौरान हुई गतिविधि के लिए service logs देखें।

Credentials की जगह agent prompt में क्या लिखना चाहिए?

ऐसा छोटा prompt इस्तेमाल करें जिसमें सीक्रेट की जरूरत ही न हो: सिस्टम, अनुमत कार्रवाई, लक्ष्य और अपेक्षित परिणाम बताएं। उदाहरण के लिए bearer token और endpoint पेस्ट करने के बजाय कहें, "service api की deployment स्थिति जांचें।"

क्या डेवलपर्स को clipboard history बंद कर देनी चाहिए?

संवेदनशील काम के दौरान history या sync बंद करें, लेकिन इसे सुरक्षा सीमा न समझें। Clipboard अब भी उन स्थानीय processes के लिए पढ़ने योग्य रहता है जिन्हें access है, और destination app आपके पेस्ट किए हुए डेटा को दर्ज कर सकता है।

गलत जगह पेस्ट किए गए क्रेडेंशियल की जांच कैसे करूं?

पहले shell history, terminal logs, agent transcripts, clipboard-manager entries, chat history और repository में सीक्रेट के किसी खास हिस्से को खोजें। फिर क्रेडेंशियल रद्द करें और उस identity के action logs देखें। केवल deletion से पहले से कॉपी किया गया record नहीं मिटता।

Sallyport

Sallyport आपके AI एजेंट के लिए API कॉल और SSH कमांड चलाता है। कुंजियाँ आपके Mac पर एक लोकल वॉल्ट में रहती हैं; आप हर रन को स्वीकृत करते हैं और हर क्रिया एक सीलबंद जर्नल में दर्ज होती है।

© 2026 Sallyport · Apache-2.0 के तहत ओपन सोर्स · Oleg Sotnikov