اسکیل بررسی امنیت کد کلاد؛ security-review و gha-security-review

اسکیل بررسی امنیت کد کلاد از دو ابزار رسمی تشکیل شده؛ security-review آسیب‌پذیری کد را پیدا می‌کند و gha-security-review مخصوص امنیت گیت‌هاب اکشن است، هر دو از یک منبع.

✍️ عرفان فرنود۵ دقیقه مطالعه
اسکیل بررسی امنیت کد کلاد با security-review

اسکیل بررسی امنیت کد کلاد از دو ابزار تخصصی تشکیل شده که هرکدام یک لایه از امنیت پروژه را می‌بینند: security-review کد را از نظر آسیب‌پذیری بررسی می‌کند و gha-security-review مخصوص امنیت workflowهای گیت‌هاب اکشن است. هر دو از یک منبع رسمی و کاملاً شناخته‌شده نصب می‌شوند. اگر هنوز نمی‌دانید اسکیل چیست، اول اسکیل کلاد چیست را بخوانید.

چرا امنیت کد را باید به یک اسکیل بسپاریم

بررسی امنیتی کد کار تکراری و حوصله‌سربری است که به همین دلیل معمولاً یا اصلاً انجام نمی‌شود، یا فقط قبل از یک انتشار بزرگ به‌شکل عجولانه انجام می‌شود. مشکل امنیتی هم دقیقاً همان‌جایی پیدا می‌شود که کسی وقت نگذاشته نگاهش کند.

اسکیل بررسی امنیت این را عوض می‌کند: چون هزینه‌ی اجرا کم است، می‌توان آن را در هر تغییر کد اجرا کرد، نه فقط قبل از انتشار نهایی. همین تکرار مرتب است که تفاوت واقعی در کاهش ریسک ایجاد می‌کند، نه یک بررسی یک‌باره و بزرگ که در آخرین لحظه و با عجله انجام می‌شود.

اسکیل security-review چه کاری می‌کند

این اسکیل کد پروژه را می‌خواند و دنبال الگوهای ناامن می‌گردد: ورودی کاربر که بدون بررسی مستقیم استفاده شده، کلید یا رمزی که در کد نوشته شده، یا منطقی که دسترسی را درست کنترل نمی‌کند. برای هر مورد، محل دقیق در کد و توضیح خطر مشخص می‌شود.

تفاوت این اسکیل با ابزارهای امنیتی سنتی این است که فقط دنبال الگوی ثابت نمی‌گردد؛ منطق کد را می‌فهمد. یعنی می‌تواند بگوید «این ورودی از فرم تماس می‌آید و مستقیم در پرس‌وجو استفاده شده»، نه فقط یک هشدار کلی درباره‌ی نوع تابع.

اسکیل gha-security-review چه کاری می‌کند

این اسکیل روی چیز دیگری تمرکز دارد: فایل‌های workflow گیت‌هاب اکشن. این فایل‌ها معمولاً کمتر از کد اصلی بررسی می‌شوند، در حالی که می‌توانند دسترسی به رمزهای پروژه یا اجازه‌ی اجرای کد خارجی را باز بگذارند.

خطرهایی مثل استفاده از یک اکشن شخص ثالث نامعتبر، دادن دسترسی بیشتر از نیاز به یک workflow، یا نوشتن رمز مستقیم در فایل تنظیمات، دقیقاً همان چیزهایی است که این اسکیل بررسی می‌کند. برای تیم‌هایی که پایپ‌لاین انتشار خودکار دارند، این بررسی به همان اندازه‌ی بررسی کد اصلی اهمیت دارد.

چرا این دو اسکیل جدا از هم تعریف شده‌اند

کد برنامه و فایل‌های workflow دو سطح کاملاً متفاوت از پروژه هستند و خطرهای هرکدام هم فرق دارد. کد برنامه معمولاً در معرض ورودی کاربر است؛ فایل‌های workflow معمولاً در معرض دسترسی به رمزها و منابع پروژه هستند.

تفکیک این دو اسکیل باعث می‌شود هرکدام تمرکز دقیق‌تری روی خطرهای مخصوص به خودش داشته باشد، به‌جای اینکه یک اسکیل عمومی سعی کند همه‌چیز را با هم پوشش دهد و در هر دو سطحی کم‌عمق بماند و مورد مهمی را از قلم بیندازد.

نصب و منبع رسمی

هر دو اسکیل از یک منبع یعنی ریپوی getsentry/skills نصب می‌شوند. نصب با دستور استاندارد نصب اسکیل و آدرس همین ریپو انجام می‌شود و بعد از آن هر دو در دسترس‌اند.

نیازی نیست بدانید کدام اسکیل برای کدام کار است؛ اگر بگویید «این پروژه را از نظر امنیتی بررسی کن»، کلاد بسته به اینکه فایل کد است یا workflow، اسکیل مناسب را انتخاب می‌کند و نتیجه را یک‌جا و مرتب گزارش می‌دهد.

یک نمونه‌ی واقعی از بررسی

فرض کنید یک فرم تماس دارید که ورودی کاربر مستقیم در یک پرس‌وجوی دیتابیس استفاده می‌شود. security-review این را به‌عنوان خطر جدی گزارش می‌کند و توضیح می‌دهد چرا: کاربر می‌تواند به‌جای یک متن ساده، دستوری بفرستد که رفتار پرس‌وجو را عوض کند.

در همان پروژه، اگر فایل workflow انتشار خودکار شما به یک اکشن شخص ثالث ناشناخته دسترسی کامل به رمزهای مخزن داده باشد، gha-security-review این را جداگانه گزارش می‌کند. این دو مثال نشان می‌دهد چرا داشتن هر دو اسکیل با هم، پوششی می‌دهد که هیچ‌کدام به‌تنهایی نمی‌دهند و یکی جای خالی دیگری را پر می‌کند.

مرزهایی که این اسکیل امنیتی ندارد

این دو اسکیل لایه‌ی اول را پوشش می‌دهند: خطاهای رایج و قابل‌شناسایی در کد و workflow. برای پروژه‌هایی که داده‌ی حساس مالی یا هویتی نگه می‌دارند، این کافی نیست و باید تست نفوذ حرفه‌ای هم انجام شود.

همچنین، این بررسی جایگزین به‌روزرسانی منظم کتابخانه‌ها و وابستگی‌ها نیست. بخش زیادی از حملات واقعی از راه یک وابستگی قدیمی می‌آید که هیچ اسکیلی به‌تنهایی آن را جایگزین نمی‌کند و باید جداگانه پیگیری شود.

سوالات متداول

باید هر دو اسکیل را نصب کنم؟

بله، چون هر کدام یک بخش متفاوت از پروژه را پوشش می‌دهند و از یک منبع نصب می‌شوند، نصب هر دو با هم منطقی است.

این بررسی جای تست نفوذ حرفه‌ای را می‌گیرد؟

نه. برای پروژه‌های با داده‌ی حساس، این بررسی فقط لایه‌ی اول است و بازبینی انسانی متخصص هم لازم است.

چقدر طول می‌کشد یک پروژه بررسی شود؟

بسته به حجم کد از چند دقیقه تا چند ده دقیقه متغیر است، ولی به‌مراتب سریع‌تر از بازبینی کامل دستی است.

اسکیل بررسی امنیت کد کلاد رایگان است؟

بله، نصب و استفاده از هر دو اسکیل امنیتی رایگان است و نیازی به پلن پولی کلاد ندارد.

قدم بعدی

اگر پروژه‌ای دارید که مدتی است بررسی امنیتی نشده، همین امروز security-review را نصب کنید و روی کد فعلی اجرا کنید؛ نتیجه معمولاً چند مورد فوری و قابل اصلاح سریع نشان می‌دهد. اسکیل بررسی امنیت کد کلاد را بعد از هر تغییر مهم دوباره اجرا کنید تا بررسی امنیتی به یک عادت ثابت تبدیل شود.

اگر می‌خواهید این بررسی به‌صورت مستمر و حرفه‌ای برای پروژه‌تان انجام شود، صفحه‌ی خدمات هوشمندسازی نقطه‌ی شروع است. فصل ششم دوره‌ی سفر هوش مصنوعی هم کار روی امنیت کد با کلاد را قدم‌به‌قدم و با نمونه‌ی واقعی و کاربردی پوشش می‌دهد.

می‌خواهی این‌ها را عملی یاد بگیری؟

دوره‌ی سفر هوش مصنوعی: ۷ فصل پروژه‌محور از صفر تا درآمد.

نظرها

  • اولین نفری باش که نظر می‌دهد.

مقالات مرتبط