
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, और तकनीकी लेखों के विरुद्ध reinforcement learning का उपयोग करके rules को लगातार ताज़ा किया जाता है, जिसके परिणामस्वरूप प्रतिदिन ~1000 updated rules मिलते हैं।
यदि आप UNIX-शैली के 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 इंस्टॉल है और आप इसे source से बनाना चाहते हैं:
make install
यदि गहरे binary विश्लेषण की आवश्यकता है, तो आपको 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
Exit codes CI एकीकरण को सरल बनाते हैं:
0: सभी samples benign हैं1: hostile sample का पता चला2: suspicious sample का पता चला3: विश्लेषण त्रुटि4: rule set अधूरा था — स्कैन trait set द्वारा परिभाषित से कम rules के साथ चला, इसलिए hostile से कम कुछ भी कुछ सिद्ध नहीं करता। इसे फिर से चलाएँ।
atomscan कभी भी telemetry data नहीं भेजेगा। हालाँकि यह 2 कारणों से Internet तक पहुँचेगा:
--no-update या SCAN_NO_UPDATE_CHECK=1 का उपयोग करके अक्षम किया जा सकता है--follow=none सेट करें।अन्य malware scanners के विपरीत, Atomdrift आपको -l flag का उपयोग करके स्वीकार्य false-positive स्तर के संदर्भ में sensitivity समायोजित करने की अनुमति देता है:
-l0: tight, confidence cutoff को उस बिंदु पर सेट करता है जहाँ कोई false-positives नहीं देखे गए हैं।-l25: default shipping point: प्रति 100 million files पर 25 false-positives।-l1000: loose, लगभग प्रति 100,000 files पर 1 false positive।NOTE: उन फ़ाइल फ़ॉर्मेट के लिए जहाँ हमारे पास 100 million samples नहीं हैं, देखी गई false-positive दर अनुरोधित स्तर से 5-6X तक अधिक हो सकती है। YMMV.
Raw --threshold-hostile और --threshold-suspicious overrides उन उपयोगकर्ताओं के लिए उपलब्ध हैं जो सीधे probability thresholds को micromanage करना चाहते हैं, लेकिन ये संख्याएँ स्थिर होने की गारंटी नहीं हैं, और इन flags को -l के साथ संयोजित नहीं किया जा सकता।
अतिरिक्त व्याख्या के लिए, उपयोगकर्ता --llm flag के माध्यम से एक LLM तक पहुँच प्रदान कर सकते हैं। यह flag दो उद्देश्यों की पूर्ति करता है:
डिफ़ॉल्ट रूप से, atomscan व्याख्या किए गए साक्ष्य (मूल फ़ाइल नहीं) को http://localhost:8000/v1 पर भेजता है - जिसका उपयोग Ollama या vLLM जैसी local service के साथ किया जाता है; लेकिन इसे Claude, ChatGPT, या DeepSeek जैसी remote service का उपयोग करने के लिए भी सेटअप किया जा सकता है।
कोई model hardcoded नहीं है: जब तक आप --llm-model पास नहीं करते, atomscan endpoint से पूछता है कि यह कौन से models serve करता है और जो सबसे बड़ा सूचीबद्ध है उसका उपयोग करता है। हम Qwen/Qwen3.8-27B serve करने की सलाह देते हैं।
यदि 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 से बात करता है। Key --llm-key, SCAN_LLM_KEY, या ~/.tok/openrouter (पहली non-empty line) से आती है। --llm-model छोड़े जाने पर डिफ़ॉल्ट रूप से openrouter/auto (OpenRouter का अपना auto-router) होता है — शेष catalog स्वतः चयनित नहीं होता।
Linux make deploy समान नाम स्वीकार करता है: LLM=openrouter (या LLM_URL=openrouter), और LLM_MODEL=qwen/qwen3.8-27b केवल openrouter/auto के बजाय model pin करने के लिए। Unit operator home (ProtectHome=true) नहीं पढ़ सकता, इसलिए deploy script ~/.tok/openrouter को service state dir में कॉपी करता है।
स्कैनर 100 से अधिक फ़ाइल और container प्रकारों को पहचानता है। प्रतिनिधि कवरेज में शामिल हैं:
| Category | Formats |
|---|---|
| Binaries and bytecode | Mach-O, ELF, PE, WebAssembly, Android DEX, Java .class, Python .pyc, BEAM |
| Source | Python, JavaScript, TypeScript, Go, Rust, Java, C, C++, C#, Ruby, PHP, Perl, Lua, Swift, Objective-C, Kotlin, Scala, Groovy, Zig, Elixir, Clojure, Shell, PowerShell, Batch, VBScript, AppleScript, JCL |
| Build, manifest, and lock files | package.json, package-lock.json, Cargo.toml, Cargo.lock, pyproject.toml, requirements.txt, Poetry, Pipenv, Composer, Yarn, pnpm, Go modules, binding.gyp, GitHub Actions, systemd units, Makefile, Dockerfile |
| Archives and disk images | ZIP, TAR, gzip, bzip2, XZ, zstd, 7-Zip, RAR, CAB, ASAR, DMG, ISO |
| Packages and containers | deb, rpm, APK, npm, wheel, egg, sdist, gem, crate, conda, NuGet, IPA, CRX, XPI, VSIX, OCI/Docker images, FreeBSD, Arch, Void, and Gentoo packages |
| Documents and data | OLE2, OOXML, OpenDocument, PDF, RTF, Markdown, HTML, XML, SVG, plist, JPEG, PNG, LNK, CHM, Python pickle |
Rule set में Linux, macOS, Windows, Android, iOS, BSDs, AIX, Solaris, QNX, z/OS, ESXi, OpenWrt, VxWorks, RouterOS, FortiOS, PAN-OS, IOS-XE, Junos, NetScaler, और Ivanti appliances के लिए platform-specific behaviors शामिल हैं।
डिफ़ॉल्ट build matrix कई CPU architectures में Linux, macOS, FreeBSD, OpenBSD, NetBSD, illumos, Solaris, और Windows को कवर करता है। Test की गहराई target के अनुसार भिन्न होती है; वर्तमान matrix के लिए build workflow देखें।
Atomdrift Scan Apache License 2.0 के अंतर्गत उपलब्ध है।
सभी योगदान स्वागत योग्य हैं!