इस प्रोजेक्ट के बारे में

Vahta, जिसे पहले key-amnesia के नाम से जाना जाता था, पारंपरिक .env फ़ाइलों के पुराने थ्रेट मॉडल को संबोधित करता है, जो मूल रूप से आकस्मिक git लीक को रोकने के लिए डिज़ाइन किए गए थे, न कि स्थानीय रूप से चल रहे AI कोडिंग एजेंट्स से रहस्यों की सुरक्षा के लिए। यह टूल सभी रहस्यों को Argon2id और SecretBox से सुरक्षित एक स्थानीय एन्क्रिप्टेड वॉल्ट में संग्रहीत करता है; कोई अंतर्निहित पासवर्ड पुनर्प्राप्ति तंत्र नहीं है, क्योंकि मास्टर पासवर्ड भूल जाने पर वॉल्ट की सामग्री स्थायी रूप से दुर्गम हो जाती है। मुख्य क्षमताओं में शामिल हैं: .env, .env.local और समान फ़ाइलों से मौजूदा प्लेनटेक्स्ट रहस्यों को वॉल्ट में मानों को प्रिंट किए बिना आयात करना; प्रोजेक्ट निर्देशिकाओं, शेल इतिहास, MCP कॉन्फ़िगरेशन, और AI एजेंट सत्र प्रतिलेखों को स्कैन करके संभावित रूप से स्थानीय रूप से एक्सपोज़ होने वाली एजेंट कुंजियों (LEAKs) का पता लगाना, जिसमें स्कैन परिणाम केवल फ़ाइल पथ, नाम, और गिनती की रिपोर्ट करते हैं, न कि रहस्य मान; ka run इंटरफ़ेस के माध्यम से कमांड चलाना, जहाँ रहस्य मान सीधे चाइल्ड प्रोसेस एनवायरनमेंट वेरिएबल्स में इंजेक्ट किए जाते हैं, एजेंट की दृष्टि से बाहर, और कमांड आउटपुट को एजेंट को लौटाने से पहले किसी भी प्लेनटेक्स्ट रहस्य मान को रेडैक्ट करने के लिए स्वचालित आउटपुट सेंसरिंग के साथ। जब मास्टर पासवर्ड अनुमोदन की आवश्यकता होती है, तो टूल एक पूरी तरह से अलग कंसोल विंडो लॉन्च करता है जिसे एजेंट पढ़ या इंटरैक्ट नहीं कर सकता, यह सुनिश्चित करते हुए कि पासवर्ड कभी भी एजेंट के लिए सुलभ प्रक्रिया में दर्ज नहीं किया जाता है। ka setup कमांड स्वचालित रूप से मुख्यधारा के AI कोडिंग एजेंट्स जैसे Claude Code, Cursor, Codex, और OpenCode के लिए संगत कौशल और सुरक्षा हुक स्थापित करता है, एजेंटों को कच्चे रहस्य मानों को पढ़ने या प्लेनटेक्स्ट निर्यात करने जैसे खतरनाक ऑपरेशन करने से रोकता है, जबकि ka run और ka list जैसे सुरक्षित कमांड की अनुमति देता है। यह टूल दो ऑपरेशन मोड का समर्थन करता है: डिफ़ॉल्ट प्रति-कॉल मोड जिसमें प्रत्येक रहस्य उपयोग के लिए मास्टर पासवर्ड दर्ज करना आवश्यक होता है, और एक कैश्ड मोड जहाँ एक एकल उपयोगकर्ता अनलॉक वॉल्ट को 30-मिनट की कॉन्फ़िगर करने योग्य अवधि के लिए सुलभ रखता है, विशिष्ट प्रोसेस ट्री या पूर्व-अधिकृत कनेक्टिंग प्रक्रियाओं तक पहुँच को सीमित करने के लिए लचीले प्रोसेस प्रवेश नियंत्रण के साथ। Windows और Linux पूरी तरह से समर्थित हैं, जबकि macOS का अलग कंसोल स्पॉन फीचर प्रयोगात्मक बना हुआ है। परियोजना स्पष्ट रूप से अपनी सुरक्षा सीमाओं का दस्तावेजीकरण करती है: यह कमांड आउटपुट में अस्पष्ट या एन्कोडेड रहस्य मानों को सेंसर नहीं कर सकती, अलगाव विंडो सुरक्षा कमजोर हो जाती है यदि एजेंट को स्क्रीन रीडिंग और कीबोर्ड/माउस नियंत्रण अनुमतियाँ दी जाती हैं, और समान-उपयोगकर्ता स्थानीय प्रक्रियाएँ सक्रिय अनलॉक किए गए सत्र के साथ इंटरैक्ट कर सकती हैं, हालाँकि टूल कभी भी किसी प्रक्रिया को कच्चे रहस्य मान नहीं लौटाता है। यह टूल PyPI के माध्यम से इंस्टॉल करने योग्य है, पूर्ण key-amnesia कमांड और छोटे ka एलियास दोनों के साथ आता है, और Apache 2.0 लाइसेंस के तहत जारी किया गया है।