
Neto | ब्राउज़र एक्सटेंशन का विश्लेषण करने के लिए एक उपकरण
Project Neto एक Python 3 पैकेज है जिसे Firefox और Chrome जैसे प्रसिद्ध ब्राउज़रों के लिए ब्राउज़र प्लगइन्स और एक्सटेंशन की छिपी हुई विशेषताओं का विश्लेषण और उन्हें उजागर करने के लिए डिज़ाइन किया गया है। यह पैकेज की गई फ़ाइलों को अनज़िप करने की प्रक्रिया को स्वचालित करता है ताकि manifest.json, स्थानीयकरण फ़ोल्डरों या Javascript और HTML स्रोत फ़ाइलों जैसे प्रासंगिक संसाधनों से इन विशेषताओं को निकाला जा सके।
पैकेज को स्थापित करने के लिए, उपयोगकर्ता pip3 का चयन कर सकता है।
pip3 install -e . --user
वैकल्पिक रूप से, इसे sudo का उपयोग करके व्यवस्थापक विशेषाधिकारों के साथ भी स्थापित किया जा सकता है:
sudo pip3 install -e .
सफल स्थापना की जाँच इस प्रकार की जा सकती है:
python3 -c "import neto; print(neto.__version__)"
एक एक्सटेंशन का विश्लेषण करने के लिए, विश्लेषक निम्नलिखित टाइप कर सकता है:
neto analysis -u https://yoururl.com/extension-name.xpi
एक्सटेंशन स्वचालित रूप से डाउनलोड हो जाएगा और डिफ़ॉल्ट रूप से सिस्टम के अस्थायी फ़ोल्डर में अनज़िप हो जाएगा।
हालांकि, विश्लेषक स्थानीय रूप से संग्रहीत एक्सटेंशन की ओर भी विश्लेषण शुरू कर सकता है:
neto analysis -e ./my-extension-name.xpi
स्थैतिक विश्लेषण करने के बाद, यह एक Json फ़ाइल उत्पन्न करेगा जो डिफ़ॉल्ट रूप से output नामक नवनिर्मित फ़ोल्डर में संग्रहीत होती है।
यदि आप Python का उपयोग करते हैं, तो आप अपने Python मॉड्यूल में इस पैकेज को एक लाइब्रेरी के रूप में भी आयात कर सकते हैं:
>>> from neto.lib.extensions import Extension
>>> my_extension = Extension ("./sample.xpi")
>>> my_extension.filename
'adblock_for_firefox-3.8.0-an+fx.xpi'
>>> my_extension.digest
'849ec142a8203da194a73e773bda287fe0e830e4ea59b501002ee05121b85a2b'
गुणों का उपयोग करके एक्सटेंशन में पाए गए तत्वों तक पहुँचने के अलावा, विश्लेषक हमेशा इसे एक शब्दकोश के रूप में भी एक्सेस कर सकता है:
>>> my_extension.__dict__
{'_analyser_version': '0.0.1', '_digest': '849ec142a8203da194a73e773bda287fe0e830e4ea59b501002ee05121b85a2b'…
यदि आप Python का उपयोग नहीं कर रहे हैं, तो आप JSON RPC डेमॉन का उपयोग कर सकते हैं:
$ neto daemon
____ _ _ _ _ _
| _ \ _ __ ___ (_) ___ ___| |_ | \ | | ___| |_ ___
| |_) | '__/ _ \| |/ _ \/ __| __| | \| |/ _ \ __/ _ \
| __/| | | (_) | | __/ (__| |_ | |\ | __/ || (_) |
|_| |_| \___// |\___|\___|\__| |_| \_|\___|\__\___/
|__/
Developed by @ElevenPaths
Version: 0.5.0b
* Running on http://localhost:14041/ (Press CTRL+C to quit)
फिर आप अपनी पसंदीदा JSON RPC लाइब्रेरी का उपयोग करके कमांड चला सकते हैं ताकि एक क्लाइंट लिख सकें (हमने bin फ़ोल्डर में एक छोटा डेमो लिखा है) या यहाँ तक कि curl का उपयोग कर सकते हैं:
curl --data-binary '{"id":0, "method":"remote", "params":["https://example.com/myextension.xpi"], "jsonrpc": "2.0"}' -H 'content-type:text/json;' http://localhost:14041
इस पैकेज में शामिल विशेषताओं की निम्नलिखित एक गैर-विस्तृत सूची है:
eval() जैसा संदिग्ध Javascript कोड का पता लगाना।