
0-day मैलवेयर डिटेक्शन बाइनरीज़, सोर्स और स्क्रिप्ट्स के लिए (जो बेकार नहीं है)
Atomdrift Scan एक आधुनिक ML-आधारित मैलवेयर स्कैनर है जिसे सॉफ़्टवेयर सप्लाई-चेन के विरुद्ध 0-day हमलों का पता लगाने के लिए डिज़ाइन किया गया है।
यह deterministic, तेज़ और लचीला होने के लिए डिज़ाइन किया गया है, और आपके द्वारा सोचे गए किसी भी workflow या security tool में embed किया जा सकता है, और यह फ़ाइलों, archives, URLs, PURLs, या processes के विरुद्ध काम कर सकता है।
सितंबर 2026 तक, Atomdrift Scan की 98% 0-day detection rate है, जो किसी भी अन्य स्कैनर—commercial या open—से +34% आगे है।
Atomdrift को इतने शानदार परिणाम कैसे मिलते हैं? सबसे पहले, यह किसी भी अन्य स्कैनर से अधिक क्षेत्र को कवर करता है:
सबसे महत्वपूर्ण बात, नए samples, blogs, और technical articles के विरुद्ध reinforcement learning का उपयोग करके rules लगातार ताज़ा किए जाते हैं, जिसके परिणामस्वरूप प्रतिदिन ~1000 updated rules मिलते हैं।
यदि आप एक UNIX-flavored host (macOS, Linux, BSD, Solaris, illumos, Android) पर हैं:
curl -fsSL https://install.atomdrift.org/scan.sh | sh
यदि आप Windows पर हैं:
irm https://install.atomdrift.org/scan.ps1 | iex
या, यदि आपके पास Rust इंस्टॉल है और आप इसे स्रोत से बनाना चाहते हैं:
make install
यदि गहन बाइनरी विश्लेषण की आवश्यकता हो, तो आपको 7-Zip, rizin, upx, और innoextract भी इंस्टॉल करना चाहिए।
Windows पर, winget का उपयोग करते हुए:
winget install --exact --id 7zip.7zip
winget install --exact --id Rizin.Rizin
winget install --exact --id UPX.UPX
winget install --exact --id dscharrer.innoextract
Unix-जैसे सिस्टम पर, p7zip के बजाय upstream 7-Zip (brew install sevenzip, apt install 7zip) इंस्टॉल करें — इसका 7z APFS को पढ़ नहीं सकता, इसलिए .dmg की सामग्री स्कैन नहीं हो पाती।
# Scan a file, directory, or archive recusively:
atomscan ./project
atomscan release.tgz
# Fetch a package from its registry and scan it.
atomscan purl npm/[email protected]
# Fetch and scan a URL.
atomscan url https://example.com/download
# EXPERIMENTAL: Scan running process executables, or triage the wider host
atomscan ps
atomscan sys
# JSON output for programmatic access
atomscan -f json ./project
CI एकीकरण को सरल बनाने वाले exit codes:
0: सभी नमूने benign हैं1: hostile नमूना पाया गया2: suspicious नमूना पाया गया3: विश्लेषण त्रुटि4: नियम सेट अधूरा था — स्कैन trait सेट द्वारा परिभाषित से कम नियमों के साथ चला, इसलिए hostile से कम कुछ भी कुछ सिद्ध नहीं करता। इसे दोबारा चलाएँ।
atomscan कभी भी telemetry डेटा नहीं भेजेगा। हालाँकि यह 2 कारणों से इंटरनेट से संपर्क करेगा:
--no-update या SCAN_NO_UPDATE_CHECK=1 का उपयोग करके अक्षम किया जा सकता है--follow=none सेट करें।अन्य malware स्कैनरों के विपरीत, Atomdrift आपको -l फ़्लैग का उपयोग करके स्वीकार्य false-positive स्तर के संदर्भ में संवेदनशीलता समायोजित करने की अनुमति देता है:
-l0: tight, confidence cutoff को उस बिंदु पर सेट करता है जहाँ कोई false-positive नहीं देखा गया है।-l25: डिफ़ॉल्ट shipping point: प्रति 100 मिलियन फ़ाइलों में 25 false-positives।-l1000: loose, लगभग प्रति 100,000 फ़ाइलों में 1 false positive।NOTE: उन फ़ाइल स्वरूपों के लिए जहाँ हमारे पास 100 मिलियन नमूने नहीं हैं, देखी गई false-positive दर अनुरोधित स्तर से 5-6 गुना तक हो सकती है। YMMV।
कच्चे --threshold-hostile और --threshold-suspicious overrides उन उपयोगकर्ताओं के लिए उपलब्ध हैं जो सीधे probability thresholds को micromanage करना चाहते हैं, लेकिन इन संख्याओं के स्थिर होने की गारंटी नहीं है, और इन फ़्लैगों को -l के साथ संयोजित नहीं किया जा सकता।
अतिरिक्त व्याख्या के लिए, उपयोगकर्ता --llm फ़्लैग के माध्यम से LLM तक पहुँच प्रदान कर सकते हैं। यह फ़्लैग दो उद्देश्यों की पूर्ति करता है:
डिफ़ॉल्ट रूप से, atomscan व्याख्या किए गए साक्ष्य (मूल फ़ाइल नहीं) को http://localhost:8000/v1 पर भेजता है - जिसका उपयोग Ollama या vLLM जैसी स्थानीय सेवा के साथ किया जाता है; लेकिन इसे Claude, ChatGPT, या DeepSeek जैसी दूरस्थ सेवा का उपयोग करने के लिए भी सेटअप किया जा सकता है।
कोई मॉडल hardcoded नहीं है: जब तक आप --llm-model पास नहीं करते, atomscan endpoint से पूछता है कि यह कौन से मॉडल प्रदान करता है और जो सबसे बड़ा सूचीबद्ध होता है उसका उपयोग करता है। हम Qwen/Qwen3.8-27B प्रदान करने की सलाह देते हैं।
यदि endpoint को bearer token की आवश्यकता है, तो इसे ~/.tok/llm (mode 0600) में रखें और atomscan इसे स्वचालित रूप से भेजता है; --llm-key और SCAN_LLM_KEY उस फ़ाइल को override करते हैं।
--llm एक comma-separated failover chain भी लेता है, जिसे क्रम में आज़माया जाता है — --llm 'https://llm.isotope13.ai/v1,openrouter' आपके अपने endpoint पर grade करता है और billed वाले तक केवल तब पहुँचता है जब यह उत्तर नहीं दे सकता।
atomscan --llm ./project
atomscan --llm http://model-host:8000/v1 --llm-model my-model ./project
atomscan --llm openrouter --llm-model qwen/qwen3.8-27b ./project
--llm openrouter https://openrouter.ai/api/v1 से बात करता है। कुंजी --llm-key, SCAN_LLM_KEY, या ~/.tok/openrouter (पहली गैर-रिक्त पंक्ति) से आती है। --llm-model छोड़े जाने पर डिफ़ॉल्ट रूप से openrouter/auto (OpenRouter का स्वयं का ऑटो-राउटर) होता है — शेष कैटलॉग स्वतः चयनित नहीं होता।
स्कैनर 100 से अधिक फ़ाइल और कंटेनर प्रकारों को पहचानता है। प्रतिनिधि कवरेज में शामिल हैं: