OWASP چیست؟
OWASP مخفف Open Worldwide Application Security Project است: یک بنیاد غیرانتفاعی جهانی که دانش، استاندارد و ابزار آزاد و متنباز امنیت نرمافزار تولید میکند. مدل کارش اجتماعمحور است — پروژهها را داوطلبان و متخصصان صنعت میسازند و خروجیها با مجوزهای آزاد منتشر میشوند.
دو ویژگی جایگاه OWASP را تعیین میکند: محتوایش فروشندهمحور نیست — OWASP محصولی برای فروش ندارد، پس مرجعی است که هم آزمونگر و هم مشتری به آن ارجاع میدهند؛ و خروجیهایش به زبان مشترک صنعت تبدیل شدهاند.
پروژههای اصلی OWASP
| پروژه | چه چیزی است | کاربرد عملی |
|---|---|---|
| Top 10 | ده دستهی ریسک بحرانی برنامههای وب؛ نسخهی جاری Top 10:2025 (هشتمین نسخه) | تاکسونومی ریسک و آگاهیبخشی مدیریتی |
| WSTG (Web Security Testing Guide) | راهنمای آزمون امنیت وب؛ نسخهی پایدار 4.2 (۳ دسامبر ۲۰۲۰)، نسخهی ۵٫۰ در حال توسعه | چکلیست پوشش آزمون؛ حدود ۹۷ آزمون شناسهدار در ۱۲ دسته |
| ASVS | استاندارد وارسی امنیت برنامه: فهرست نیازمندیهای امنیتی قابل راستیآزمایی | تعریف «امن» در قرارداد توسعه و سنجش انطباق فنی |
| Cheat Sheet Series | راهنماهای کوتاه و عملی برای رفع هر دسته آسیبپذیری | متن راهکار رفع در گزارش و مرجع تیم توسعه |
| API Security Top 10 | ده ریسک اصلی API (نسخهی ۲۰۲۳) | مرجع درست آزمون API، چون WSTG در این حوزه پوشش کاملی ندارد |
| SAMM | مدل بلوغ تضمین امنیت نرمافزار | سنجش و برنامهریزی بلوغ فرایند امنیت در سازمان |
| Dependency-Check | ابزار تحلیل ترکیب نرمافزار برای یافتن اجزای دارای CVE | پوشش A03:2025 زنجیرهی تأمین نرمافزار |
| Amass | ابزار کشف و نگاشت دارایی | مرحلهی شناسایی عمیق |
Top 10 و WSTG دو کار متفاوت میکنند: Top 10 برای اولویتبندی ریسک است و WSTG برای اثبات پوشش آزمون. یک گزارش حرفهای هر دو را دارد، بههمراه CWE و CVSS — ساختاری که در گزارش تست نفوذ شرح داده شده است.
«گواهی OWASP» و «انطباق با OWASP» وجود ندارند
«ما OWASP Certified هستیم» یا «سامانهی ما با OWASP انطباق دارد». هیچکدام از این عبارتها معنا ندارند. OWASP یک بنیاد غیرانتفاعی است و نهاد صدور گواهی نیست: هیچ آزمون گواهینامهای برای افراد صادر نمیکند، هیچ برنامهی ممیزی برای سازمانها ندارد، و هیچ مرجعی «انطباق با OWASP» را تأیید نمیکند. Top 10 هم سند آگاهیبخشی و ردهبندی ریسک است، نه چارچوب انطباق؛ خود OWASP تصریح میکند که پوشش کامل نمیدهد.
پس عبارت درست چیست؟ ادعای قابل دفاع در یک پیشنهاد فنی یا گزارش چنین است:
پوشش فنی آزمون بر پایهی OWASP WSTG v4.2، ردهبندی ریسک بر پایهی OWASP Top 10:2025 و CWE، و امتیازدهی شدت با CVSS v4.0 انجام شده است.
این جمله دقیق و قابل بررسی است. در مقابل، «تست نفوذ مطابق استاندارد OWASP با ارائهی گواهی» برای هر خوانندهی فنی بیاعتباری نویسنده را نشان میدهد — جزئیاتی که باید در قرارداد تست نفوذ روشن باشد.
ZAP دیگر «OWASP ZAP» نیست
یکی از پرتکرارترین خطاهای محتوای فنی فارسی، نوشتن نام «OWASP ZAP» است. جدول زمانی واقعی، مستند در صفحهی رسمی مالکیت خود پروژه، چنین است:
- اوت ۲۰۲۳ — پروژه به Software Security Project منتقل شد.
- سپتامبر ۲۰۲۳ — تیم ZAP OWASP را ترک کرد، با استناد به نیاز به تأمین مالی پایدار.
- سپتامبر ۲۰۲۴ — ZAP اعلام کرد با Checkmarx همکاری میکند.
- امروز — ZAP یک پروژهی متنباز مستقل زیر کنترل تیم هستهی خودش است که Checkmarx از آن پشتیبانی میکند و سه عضو تیم هسته را تماموقت استخدام کرده. برندسازی رسمی «ZAP by Checkmarx» است.
خود پروژه صفحهای منتشر کرده که صریحاً از مردم میخواهد نام «OWASP ZAP» را به کار نبرند. نسخهی جاری 2.17.0 است (۱۵ دسامبر ۲۰۲۵). ZAP همچنان ابزار خوبی است — رایگان، با مجوز Apache-2.0 و کاملاً خودکارپذیر، که آن را به گزینهی رایج DAST در CI/CD تبدیل کرده. تنها نامش تغییر کرده، نه ارزشش.
Top 10:2025 در یک نگاه
نسخهی جاری فهرست، OWASP Top 10:2025 است. ده دسته با نام رسمی:
- A01 — Broken Access Control (کنترل دسترسی شکسته)
- A02 — Security Misconfiguration (پیکربندی نادرست امنیتی)
- A03 — Software Supply Chain Failures (نقصهای زنجیرهی تأمین نرمافزار)
- A04 — Cryptographic Failures (خطاهای رمزنگاری)
- A05 — Injection (تزریق، شامل SQLi و XSS)
- A06 — Insecure Design (طراحی ناامن)
- A07 — Authentication Failures (خطاهای احراز هویت)
- A08 — Software or Data Integrity Failures
- A09 — Security Logging and Alerting Failures
- A10 — Mishandling of Exceptional Conditions
سه تغییر ساختاری نسبت به ۲۰۲۱: SSRF دیگر دستهی مستقل نیست و در A01 ادغام شده؛ A03 کل زنجیرهی تأمین را پوشش میدهد، نه فقط «اجزای آسیبپذیر»؛ و A10 کاملاً جدید است. مقیاس داده: حدود ۱۷۵٬۰۰۰ رکورد CVE نگاشتشده به CWE و دادهی سازمانهایی که بیش از ۲٫۸ میلیون برنامه را آزمودهاند. مرور کامل ده دسته در راهنمای OWASP Top 10 آمده است.
تاکسونومی Top 10 و شناسههای WSTG کاملاً همراستا نیستند. مثال روشن: SSRF در Top 10:2025 زیر A01 قرار دارد، اما در WSTG همچنان یکی از آزمونهای اعتبارسنجی ورودی (WSTG-INPV) است. این دو را نباید یکسان ارائه کرد.
چطور از OWASP در یک engagement استفاده میشود
تقسیم کار عملی بین پروژههای OWASP در یک آزمون واقعی:
- پیش از آزمون: ASVS برای تعریف سطح نیازمندی امنیتی و SAMM برای سنجش بلوغ فرایند.
- در طراحی: مدلسازی تهدید برای دستهی A06، چون طراحی ناامن با هیچ ابزاری کشف نمیشود.
- در اجرای آزمون: WSTG بهعنوان چکلیست پوشش؛ هر آزمون انجامشده با شناسه در گزارش ثبت میشود.
- در گزارش: هر یافته با دستهی Top 10:2025، شناسهی CWE، امتیاز CVSS و یک PoC کمینه.
- در رفع: Cheat Sheet Series بهعنوان مرجع فنی راهکار، و Dependency-Check برای پایش پیوستهی اجزا.
این ساختار همان چیزی است که یک تست نفوذ وب حرفهای را قابل ممیزی و قابل مقایسه میکند. بردن همین مراجع به داخل فرایند توسعه — از طریق آموزش سازمانی توسعهی امن — مؤثرتر از دریافت گزارشهای تکراری است.
پرسشهای متداول
آیا گواهی OWASP وجود دارد؟
نه. OWASP یک بنیاد غیرانتفاعی است و نهاد صدور گواهی نیست: نه گواهینامهی فردی صادر میکند، نه برنامهی ممیزی سازمانی دارد، و نه «انطباق با OWASP» را تأیید میکند. هر شرکتی که «گواهی OWASP» ارائه میدهد، عبارتی میفروشد که وجود ندارد.
آخرین نسخهی OWASP Top 10 کدام است؟
نسخهی ۲۰۲۵، هشتمین نسخهی این فهرست. نسخهی ۲۰۲۱ بایگانی شده است. سه تغییر ساختاری مهم: ادغام SSRF در A01، دستهی جدید A03 برای زنجیرهی تأمین نرمافزار، و دستهی جدید A10 برای مدیریت نادرست شرایط استثنایی.
چرا نباید بنویسیم «OWASP ZAP»؟
چون این نام از سپتامبر ۲۰۲۳ نادرست است. تیم ZAP در آن تاریخ OWASP را ترک کرد، در اوت ۲۰۲۳ به Software Security Project منتقل شد و از سپتامبر ۲۰۲۴ با Checkmarx همکاری میکند. برندسازی جاری «ZAP by Checkmarx» است و خود پروژه صفحهای دارد که از مردم میخواهد نام قدیمی را به کار نبرند.
تفاوت Top 10 با WSTG و ASVS چیست؟
Top 10 تاکسونومی ریسک است. WSTG متدولوژی آزمون است و میگوید چه چیزی را چگونه تست کنید. ASVS فهرست نیازمندیهای قابل راستیآزمایی است و تعریف میکند برنامه چه چیزی را باید رعایت کند. در یک پروژهی کامل هر سه نقش خود را دارند.