पाठ 12 / 25

Secrets को पहुँच से बाहर रखना

Agent के environment, files और logs से secrets हटाएँ।

जो देख नहीं सकता वह leak नहीं कर सकता

Agent का shell आपके environment variables विरासत में पाता है, जिनमें अक्सर cloud keys और tokens होते हैं। उसे साफ़ environment से शुरू करें जिसमें सिर्फ़ काम के लिए ज़रूरी हो। .env*, key files और credential folders पढ़ने से रोकें। जिन कामों को सचमुच credential चाहिए, उनके लिए test environment का सीमित, अल्पकालिक credential उपयोग करें, अपनी निजी admin keys कभी नहीं। Agent जो कुछ पढ़ता है वह model अनुरोध या log में पहुँच सकता है।

चुराने को कुछ नहीं, भेजने को कहीं नहीं

Secrets पहुँच से बाहर रखें और डेटा कहाँ जा सकता है यह सीमित करें, ताकि leak के लिए एक नहीं दो विफलताएँ चाहिए।

तीन नियंत्रण: छिपाएँ, redact करें, सीमित करें।
चित्र 4.1 — छिपाएँ, redact करें और सीमित करें।

साफ़ environment से शुरू करें

env -i ख़ाली environment के साथ process शुरू करता है; फिर सिर्फ़ चुने variables दें। अपने tools के अनुसार सूची बदलें।

env -i HOME="$PWD/.agent-home" PATH="/usr/local/bin:/usr/bin:/bin" \
    NODE_ENV=test \
    my-agent --project .

# compare: your normal shell may expose AWS_*, GITHUB_TOKEN, OPENAI_API_KEY ...
env | grep -E 'KEY|TOKEN|SECRET' | cut -d= -f1

अलग, कम-अधिकार वाली पहचान रखें

Agent को Git या cloud access चाहिए तो उसे अपना खाता या token दें, न्यूनतम अधिकारों के साथ, ताकि उसके कर्म पहचाने और आपके अपने access को छुए बिना रद्द किए जा सकें।

त्वरित जाँच: Agent shell जो secrets देख सकता है उन्हें सीमित करने का अच्छा तरीक़ा क्या है?

  • अपने सारे variables उसमें copy करें
  • उसे साफ़ environment से शुरू करें
  • अपनी admin keys साझा करें
  • Chat में environment print करें
Answer

उसे साफ़ environment से शुरू करें — ख़ाली शुरुआती environment का मतलब है कि विरासत में मिले tokens पढ़े या leak नहीं हो सकते।