Argus: اسکنر آسیبپذیری کاملاً آفلاین با هوش مصنوعی محلی
خلاصهٔ کاملتر
Argus یه ابزار اسکن آسیبپذیری مبتنی بر RAG (Retrieval-Augmented Generation) هست که برای پروژههای Go، Python و Rust ساخته شده. نقطه تمایز اصلیش اینه که کاملاً آفلاین و محلی کار میکنه — هیچ API Key لازم نداری، هیچ اطلاعاتی به ابر ارسال نمیشه و همه پردازشها روی ماشین خودت انجام میشه. برای این کار از مدلهای Ollama استفاده میکنه.
معماری Argus دو مرحله اصلی داره: Ingest و Scan. در مرحله Ingest (که فقط یه بار انجام میشه)، آسیبپذیریها از منابعی مثل OSV، GoVulnDB، RustSec و PyPA دریافت، تکهتکه (chunk) و با مدل nomic-embed-text امبد میشن، بعد داخل یه فایل DuckDB محلی ذخیره میشن. در مرحله Scan، وابستگیهای پروژه از فایلهایی مثل go.mod، requirements.txt یا Cargo.toml خونده میشن، یه جستجوی cosine similarity روی دیتابیس انجام میشه و نتایج با مدل LLM تحلیل میشن.
برای نصب، سادهترین روش اینه:
go install github.com/abhishekamralkar/argus/cmd/argus@latestبعد از نصب، باید مدلهای Ollama رو pull کنی و یه بار دیتابیس آسیبپذیریها رو ingest کنی:
ollama pull nomic-embed-text # مدل embedding
ollama pull gpt-oss:20b # مدل LLM برای تحلیل
argus ingest --ecosystems goArgus چند ویژگی مهم برای کنترل کیفیت اسکن داره. فیلتر نسخه: اگه آسیبپذیری در نسخه فعلی پروژهات اصلاح شده باشه، گزارش نمیشه. deduplication مبتنی بر alias: یه آسیبپذیری با شناسههای مختلف مثل GO-2024-x و CVE-2024-x دوبار گزارش نمیشه. همچنین میشه با --min-severity یافتههای کماهمیت رو فیلتر کرد و با فایل .argusignore موارد شناختهشده رو سرکوب کرد.
برای استفاده در CI/CD، آرگوس از فلگ --fail-on پشتیبانی میکنه که در صورت پیدا کردن آسیبپذیری با سطح مشخص، با exit code یک خارج میشه. خروجی SARIF هم برای آپلود در تب Security گیتهاب پشتیبانی میشه. همچنین میشه با Docker هم ازش استفاده کرد بدون اینکه نیاز به نصب مستقیم باشه.
نکات کلیدی:
- کاملاً آفلاین و محلی — بدون API Key و بدون ارسال کد به ابر
- پشتیبانی از Go، Python و Rust
- استفاده از مدلهای Ollama برای embedding و تحلیل LLM
- ذخیرهسازی دیتابیس آسیبپذیریها با DuckDB بهصورت محلی
- فیلتر نسخه و deduplication هوشمند برای کاهش false positive
- خروجی رنگبندیشده، JSON و SARIF برای CI/CD
- پشتیبانی از Docker برای اجرای سادهتر




