
oversight v0.5.8
एक हल्का सुरक्षा ऑडिटर और शेल स्क्रिप्ट्स के लिए सैंडबॉक्स। Oversight एक स्टैटिक एनालिसिस इंजन (Rust) को डायनामिक एनफोर्समेंट (Linux Landlock) के साथ जोड़ता है ताकि आपका सिस्टम दुर्भावनापूर्ण स्क्रिप्ट्स से सुरक्षित रहे।
Oversight (v0.5.8)
Oversight एक टर्मिनल-आधारित सुरक्षा खुफिया उपकरण है जिसे आपके सिस्टम को छूने से पहले शेल स्क्रिप्ट और कमांड का ऑडिट करने के लिए डिज़ाइन किया गया है। यह स्थानीय फ़ाइलों और Raw URLs के माध्यम से दूरस्थ स्क्रिप्ट दोनों का उच्च-गति, इंटरैक्टिव विश्लेषण प्रदान करके "अंध विश्वास" और "मैन्युअल ऑडिटिंग" के बीच की खाई को पाटता है।
Oversight

लाइव AUR अपडेट

स्क्रीनशॉट 1

स्क्रीनशॉट 2

मिशन
अधिकांश सिस्टम समझौते विश्वास की छलांग के कारण होते हैं, जैसे कि असत्यापित पैकेज अपग्रेड निष्पादित करना या रॉ सेटअप स्क्रिप्ट चलाना। Oversight आपको इन बफ़र्स में स्पष्ट अंतर्दृष्टि देता है, दुर्भावनापूर्ण पैटर्न को फ़्लैग करता है और सुरक्षा जोखिमों को सरल भाषा में समझाता है ताकि आप इंस्टॉलेशन की पुष्टि करने से पहले एक सूचित निर्णय ले सकें।
विशेषताएँ
- डायनामिक मल्टी-स्ट्रीम टैब लेआउट: यूनिफाइड गिट स्ट्रीम हेडर को तुरंत स्वचालित रूप से पार्स करता है। जब एक बैच अपडेट आता है, तो यह संयुक्त पैच स्ट्रीम को अलग करता है और प्रत्येक पैकेज के लिए समर्पित, पठनीय टैब उत्पन्न करता है, स्थानीय बिल्ड निर्देशिका से संबंधित
.installस्क्रिप्ट और.patchफ़ाइलों को खींचकर ऑडिट करता है। - ह्यूरिस्टिक एन्ट्रॉपी इंजन: ओबफस्केटेड पेलोड, पैक्ड डेटा और छिपे हुए स्ट्रिंग्स की पहचान करने के लिए शैनन एन्ट्रॉपी गणनाओं का कार्यान्वयन जिन्हें पारंपरिक regex स्कैनर चूक जाते हैं।
- दुर्भावनापूर्ण लाइफसाइकिल ट्रैकिंग: उन्नत व्यवहारिक विश्लेषण जो एक स्क्रिप्ट में संबंधित घटनाओं को जोड़ता है, जैसे कि ट्रोजन इंस्टॉलरों के लिए विशिष्ट Fetch -> Permissions Change -> Execution श्रृंखला।
- सुरक्षा हीट मैप साइडबार: एक ऊर्ध्वाधर ट्रैक जो सक्रिय फ़ाइल में खतरे के वितरण का वास्तविक समय दृश्य अवलोकन प्रदान करता है, यह सुनिश्चित करता है कि सटीक समन्वय संकेतक प्रत्येक अलग टैब बफ़र के लिए सटीक रूप से स्केल करते हैं।
- एंटी-फोरेंसिक और पर्सिस्टेंस डिटेक्शन: स्टील्थ व्यवहारों की निगरानी जिसमें स्व-विलोपन (
rm $0), साइलेंट पाइपलाइन (> /dev/null), RAM-केवल निष्पादन पथ (/dev/shm), और रीलोड हुक (crontab,systemctl) शामिल हैं। - भारित जोखिम स्कोरिंग: 0 से 100 सुरक्षा सूचकांक लागू करता है जो फ्लैट मैक्रो मेट्रिक्स के आधार पर स्ट्रीम को Clean, Caution, या Dangerous के रूप में वर्गीकृत करता है जो जोखिम-स्कोर ब्लोट से बचते हैं।
- वैश्विक शमन टॉगल: उपयोगकर्ताओं को TUI के माध्यम से एक ही स्विच का उपयोग करके सक्रिय निष्कर्षों को तुरंत दबाने की अनुमति देता है। यह फ़्लैग किए गए ब्लॉकों पर टिप्पणी करके दृश्य को स्वच्छ करता है और वास्तविक समय में वैश्विक जोखिम स्कोर सूचकांक की पुनर्गणना करता है।
- क्लीन स्ट्रीम पेजर मोड: खाली व्यूपोर्ट ब्लॉकों को हटाता है। जब एक स्ट्रीम शून्य फ़्लैग के साथ विश्लेषण पास करती है, तो पूर्ण टर्मिनल लेआउट एक कार्यात्मक पेजर के रूप में खुला रहता है, जो मानक लाइन-दर-लाइन मैन्युअल कोड समीक्षा की अनुमति देता है।
- डायनामिक रूल्स इंजन: पैटर्न एक स्वतंत्र रूल्स मॉड्यूल में बाहरीकृत होते हैं, जो TUI पार्सिंग लूप को तोड़े बिना विभिन्न पैटर्न सिग्नेचर में मॉड्यूलर अपडेट की अनुमति देता है।
- रिमोट फ़ेचिंग इंजन: GitHub, Gist, या raw URLs से स्क्रिप्ट को सुरक्षित रूप से केवल-मेमोरी विश्लेषण के माध्यम से सीधे ऑडिट करें।
- शैक्षिक ऑडिटिंग: प्रत्येक सुरक्षा फ़्लैग में विस्तृत स्पष्टीकरण और बाहरी संदर्भ शामिल होते हैं ताकि उपयोगकर्ता दुर्भावनापूर्ण स्क्रिप्टिंग पैटर्न की पहचान करना सीख सकें।
- भेद्यता खुफिया: OSV.dev API का उपयोग करके ज्ञात CVEs के लिए एकीकृत वास्तविक समय स्कैनिंग, समर्थित पैकेज इंस्टॉलेशन कमांड का पता चलने पर स्वचालित रूप से ट्रिगर होता है।
निर्भरताएँ
Oversight प्रदर्शन और बाइनरी अलगाव के लिए Rust में बनाया गया है। संकलन के लिए निम्नलिखित मूल घटक आवश्यक हैं:
- Rust टूलचेन:
cargoऔरrustc(Edition 2021) मूल इंजन को संकलित करने के लिए। - OpenSSL:
reqwestद्वारा सुरक्षित रिमोट TLS/SSL फ़ेचिंग संचालन स्थापित करने के लिए आवश्यक सिस्टम लाइब्रेरी। - कोर क्रेट्स:
ratatui,crossterm,tokio,reqwest,clap, औरregex।
इंस्टॉलेशन और सेटअप
- AUR के माध्यम से (Arch Linux के लिए अनुशंसित) स्थिर रिलीज़ AUR पर बनाए रखा जाता है। इसे अपने पसंदीदा हेल्पर का उपयोग करके इंस्टॉल करें:
yay -S oversight-git
- या मैन्युअल रूप से बनाएं:
git clone [https://aur.archlinux.org/oversight-git.git](https://aur.archlinux.org/oversight-git.git)
cd oversight-git
makepkg -si
- स्रोत से:
git clone https://github.com/Rakosn1cek/oversight.git
cd oversight
- स्वचालित इंस्टॉलर चलाएं:
इंस्टॉलर संकलन को संभालता है, बाइनरी को
~/.local/binमें ले जाता है, और आपके शेल कॉन्फ़िगरेशन (.zshrc, .bashrc, या config.fish) में आवश्यक हुक इंजेक्ट करता है।
chmod +x install.sh
./install.sh
- अपना शेल रीलोड करें:
source ~/.zshrc या आपका संबंधित शेल कॉन्फ़िग
फ़ाइलें और स्थान
- बाइनरी: ~/.local/bin/oversight
- रूल्स डेटाबेस: ~/.local/share/oversight/rules.json ($XDG_DATA_HOME का सम्मान करता है)
- शेल हुक: ~/.local/share/oversight/oversight.[zsh|bash|fish]
उपयोग
- स्थानीय स्क्रिप्ट का ऑडिट करें:
oversight ./install.sh - रिमोट URL का ऑडिट करें:
oversight https://raw.githubusercontent.com/... - स्थानीय कॉन्फ़िगरेशन फ़ाइल का ऑडिट करें:
oversight ~/.local/share/oversight/rules.json - लाइव सुरक्षा:
curl https://...जैसे स्टैंडअलोन कमांड याrm -rf /जैसे जोखिम भरे पैटर्न को स्वचालित रूप से इंटरसेप्ट करता है ताकि एक बहु-विकल्प ट्राइएज मेनू प्रदान किया जा सके, और निष्पादन से पहले डाउनस्ट्रीम AUR कैश प्रोफाइल की गहराई से जांच करता है।
शेल कॉन्फ़िगरेशन एकीकरण
Oversight को स्थायी रूप से अपने प्राथमिक टेक्स्ट और अपग्रेड पेजर के रूप में तैनात करने के लिए, अपनी शेल प्रोफ़ाइल फ़ाइल (जैसे, ~/.zshrc, ~/.bashrc, या ~/.config/fish/config.fish) में निम्नलिखित कॉन्फ़िगरेशन नियमों में से कोई एक जोड़ें:
विकल्प A: समर्पित AUR हेल्पर एकीकरण (लक्षित)
आपके हेल्पर को अन्य सिस्टम कमांड को प्रभावित किए बिना विशेष रूप से पैकेज अपग्रेड के लिए Oversight का उपयोग करने के लिए बाध्य करता है:
yay के लिए (~/.zshrc या ~/.bashrc):
alias yay="yay --diffpager oversight"
paru के लिए (~/.config/paru/paru.conf): अपनी ~/.config/paru/paru.conf में ये पंक्तियाँ जोड़ें। आपको CombinedUpgrade विकल्प शामिल करना होगा, अन्यथा paru टेक्स्ट को Oversight को पास करने से पहले ANSI रंग कोड को हटा देगा, जिससे आपको काले और सफेद टेक्स्ट मिलेगा:
[options]
Pager = oversight
CombinedUpgrade
Shelly जैसे अन्य हेल्पर के लिए यदि आप एक अलग हेल्पर का उपयोग कर रहे हैं, तो आपको AUDIT_HELPER वेरिएबल का उपयोग करके Oversight को बताना होगा कि कैश फ़ाइलें कहाँ मिलेंगी। उदाहरण के लिए, आप इसे इस तरह चला सकते हैं:
AUDIT_HELPER=shelly shelly -Sua | oversight
वैकल्पिक रूप से, आप हेल्पर वेरिएबल को अपनी शेल प्रोफ़ाइल में वैश्विक रूप से निर्यात कर सकते हैं ताकि Oversight को हमेशा पता रहे कि कौन सा कैश पथ जांचना है:
export AUDIT_HELPER="shelly"
विकल्प B: वैश्विक सिस्टम पेजर पर्यावरण (सार्वभौमिक)
यह सेटअप Oversight को आपके डिफ़ॉल्ट सिस्टम टेक्स्ट पेजर के रूप में पंजीकृत करता है। इसका मतलब है कि पैकेज, मैन पेज और गिट स्ट्रीम स्वचालित रूप से इंटरफ़ेस के अंदर खुलेंगे।