اگر امروز از یک عامل کدنویسی بخواهید یک مخزن کد را برای یافتن حفرههای امنیتی اسکن کند و فردا همان درخواست را تکرار کنید، احتمالاً با دو گزارش متفاوت روبرو میشوید. این عدم ثبات، بزرگترین نقطه ضعف بررسیهای امنیتی مبتنی بر هوش مصنوعی است که اعتماد تیمهای عملیاتی را سلب میکند.
برای حل این مشکل، ابزار secfoo در ۲۳ سپتامبر ۲۰۲۶ تحت مجوز MIT منتشر شد. این ابزار بهجای تکیه بر پرامپتهای کلی، از مفهومی به نام «مهارتها» (Skills) استفاده میکند؛ مهارتها در واقع دستورالعملهای ساختاریافتهای هستند که متد دقیق بررسی و شکل گزارش نهایی را تعیین میکنند تا نتیجه در هر بار اجرا یکسان باشد.
بسیاری از اسکنرهای امنیتی سنتی بر موتورهای قانونمحور صلب تکیه میکنند که جزئیات و ظرافتهای کد را نادیده میگیرند. همانطور که در تحلیل قبلی ما دربارهی شکست ارزیابیهای عاملهای هوش مصنوعی به دلیل هزینههای پنهان زیرساختی اشاره کردیم، secfoo تمرکز را به سمت مهارتهای عاملمحور (Agentic) میبرد. این ابزار مانند یک پوسته (Wrapper) برای رابطهای خط فرمان (CLI) عمل میکند و از عامل (Agent) — شبیه به کارآموزی که دستورالعملهای دقیق یک استاد را اجرا میکند — میخواهد کد را مانند یک بازبین انسانی بخواند، اما خروجی را به یک قرارداد سختگیرانه محدود میکند. این رویکرد ساختاریافته برای جلوگیری از بروز مشکلاتی است که در بررسی بدهیهای فنی نامرئی در کدهای تولید شده توسط هوش مصنوعی به آنها اشاره کردیم و میتوانند در بلندمدت پایداری سیستم را به خطر اندازند.
طبق گزارش وبسایت dev.to، کاربران میتوانند secfoo را از طریق پرچم --agent با چندین عامل محبوب ادغام کنند، از جمله:
- Claude Code، Cursor و Gemini CLI
- Antigravity، Codex CLI و یک عامل API داخلی که توسط LangGraph و LiteLLM پشتیبانی میشود.
این ابزار مجموعهای از مهارتهای تخصصی مانند security-architecture-review (بررسی معماری امنیتی)، threat-modeling (مدلسازی تهدید با استفاده از STRIDE و LINDDUN)، sast و prompt-review را ارائه میدهد. برای کسانی که دسترسی به CLI محلی ندارند، عامل API امکان ادغام در خط لوله CI را با استفاده از کلیدهای محیطی Anthropic، OpenAI یا Gemini فراهم میکند.
بر اساس مستندات این پروژه، secfoo سه تصمیم طراحی کلیدی برای تضمین قابلیت اطمینان اتخاذ کرده است. نخست، برای هر سیستم تنها یک پرونده مورد (Case file) ایجاد میکند؛ به این معنا که یافتهها در بازاسکنها بین وضعیتهای «باز» و «بسته» جابهجا میشوند و گزارشهای جدید روی هم انباشته نمیشوند. دوم، رویکرد «اول-محلی» (Local-first) را پیش گرفته است تا تمام گزارشها و داشبورد روی دستگاه کاربر باقی بماند. در نهایت، داشبورد ابزار از حدس زدن پرهیز میکند و اگر گزارشی نتواند عدد خاصی را پشتیبانی کند، بهجای تخمین، مقدار صفر یا خطچین نمایش میدهد.
این رویکرد، رویه بررسیهای امنیتی را از «چتهای یکباره» به یک ردپای حسابرسی منظم تغییر میدهد. با تبدیل هوش مصنوعی از یک «جعبه جادویی» به یک پیمانکار متخصص با دستورالعملهای دقیق، توسعهدهندگان اکنون میتوانند به بازرسان امنیتی ثابت کنند که معنای واقعی یک اسکن «پاسشده» چیست.
گام بعدی شما
- نصب ابزار از طریق pip یا npm و اجرای اولین اسکن با دستور
secfoo run --skill sast --target [repo-url] - بررسی مخزن گیتهاب پروژه برای مشارکت در تعریف فرمتهای جدید مهارتها
- جایگزینی پرامپتهای دستی بررسی کد با مهارتهای استاندارد secfoo برای ایجاد تاریخچه تغییرات امنیتی
اما برای درک بهتر اینکه چگونه مدلهای استدلالی میتوانند دقت این اسکنها را بالا ببرند، به تحلیل ما دربارهی مدلهای Reasoning مراجعه کنید.




گفتگو