کتابخانه آشکارسازهااجرای پیکربندی مخزن

اجرای پیکربندی مخزن

بررسی نام یک برنامه را مشخص می‌کند.

پیکربندی اجراپذیری بیابید که فراخوانی معمولی ابزار می‌تواند پنهان کند.

مشکل را ببینید. یافته را درک کنید.

روایت انگلیسی با زیرنویس.

چگونه نادیده گرفته می‌شود

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

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

آنچه ClawMetry شناسایی می‌کند

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

تفاوتی که یافته را تغییر می‌دهد

مثال محرک

hooksPath = .githooks

یافته بحرانی

مقایسه بدون هشدار

مسیر پیش‌فرض .git/hooks

هیچ یافته‌ای برای این آشکارساز وجود ندارد.

مثال بررسی‌شده هوک‌های Git را به دایرکتوری منتشرشده در درخت کاری اشاره می‌دهد و یک یافته بحرانی تولید می‌کند. مسیر هوکی که به دایرکتوری هوک پیش‌فرض Git اشاره می‌کند بی‌صدا می‌ماند. این یافته پیکربندی‌ای که نام کد را مشخص می‌کند شناسایی می‌کند، نه اجرای ثبت‌شده آن کد.

نتیجه آشکارساز را بررسی کنید
{
  "kind": "repo_config_exec",
  "severity": "critical",
  "evidence": {
    "keys": [
      "core.hookspath"
    ],
    "hits": [
      {
        "key": "core.hookspath",
        "command": ".githooks",
        "line": 2,
        "manager": null
      }
    ],
    "config": ".git/config",
    "observed": "repository_config"
  }
}
ورودی‌ها و نتایج کامل را دانلود کنید (JSON)
چگونه مثال بررسی شد

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

نتیجه رفتار را برای این ورودی‌ها تعیین می‌کند. این نتیجه جذب زمان اجرا، پیشگیری یا یک نقض واقعی را ثابت نمی‌کند. قرارداد منبع ثابت‌شده را بررسی کنید.

آنچه بعداً باید بررسی کنید

تنظیم، فایل‌های ارجاع‌شده و منشأ بررسی را بررسی کنید. قبل از اجازه به عملیات توسعه معمولی تصمیم بگیرید که آیا آن برنامه‌ها مورد انتظار هستند. اگر ابزاری قبلاً اجرا شده، تأثیرات آن را جداگانه با استفاده از شواهد موجود بررسی کنید.

  1. کلید پیکربندی را بررسی کنید
  2. کد ارجاع‌شده را بررسی کنید
  3. منشأ مخزن را بررسی کنید

آنچه این سیگنال ثابت می‌کند

اسکنر پیکربندی را گزارش می‌دهد، نه اجرا. اثبات نمی‌کند که برنامه پیکربندی‌شده اجرا شده یا نویسنده قصد آسیب داشته است.

لحظه‌های مهم را مرئی نگه دارید.

فعالیت عامل را دنبال کنید، یافته‌ها را بررسی کنید و تصمیم بگیرید چه چیزی نیاز به توجه دارد.