‹ بازگشت به کتابخانه‌ی مقالات OWASP Top 10:2025

A06:2025 — Insecure Design؛ وقتی باگ در «فکر کردن»، نه در کدنویسی است

چرا بعضی آسیب‌پذیری‌ها را هیچ بررسی کد یا اسکنر خودکاری پیدا نمی‌کند، چون ریشه در تصمیم طراحی دارد، نه در یک خط کد غلط.

Insecure Design به مسائلی اشاره دارد که حتی با پیاده‌سازی «بی‌نقص» هم وجود خواهند داشت، چون خودِ طراحی منطقی/معماری از ابتدا ناقص بوده — مثلاً یک فرآیند بازیابی رمز که بدون فکر به Rate Limiting طراحی شده، یا یک فرآیند پرداخت که اعتماد بیش از حد به داده‌ی سمت کلاینت دارد (دقیقاً همان چیزی که در دسته‌ی Business Logic PentesterHub دیده می‌شود).

تفاوت با Security Misconfiguration

Misconfiguration یعنی یک تنظیم درست، اشتباه پیکربندی شده؛ Insecure Design یعنی از ابتدا هیچ تنظیم «درستی» برای این مسئله وجود نداشته، چون کسی اصلاً به آن فکر نکرده.

چرا تست نفوذ خودکار این را پیدا نمی‌کند

اسکنرهای خودکار الگوهای شناخته‌شده را می‌گردند؛ یک مشکل منطقی منحصربه‌فرد در یک فرآیند کسب‌وکار خاص، نیاز به تفکر انسانی و threat modeling دارد، نه اسکن.