KeyHog: اسکنر سریع و دقیق اعتبارنامههای لو رفته
خلاصهٔ کاملتر
KeyHog یه ابزار اسکن امنیتی هست که دنبال اعتبارنامههای لو رفته (مثل API keyها، توکنها، کلیدهای SSH و رشتههای اتصال دیتابیس) میگرده. با Rust نوشته شده و ۸۹۱ دتکتور اختصاصی برای سرویسهای مختلف — از AWS و Stripe تا OpenAI و Slack — توی خودش داره.
یکی از نقاط قوتش اینه که قبل از اسکن، دادههای رمزگذاریشده (مثل base64 یا JWT) رو خودش دیکد میکنه و بعد روی متن خام اسکن میزنه. همچنین رشتههای چندخطی مثل continuation در جاوااسکریپت یا YAML multi-line رو هم سر هم میکنه تا چیزی از دستش در نره. هر یافته یه امتیاز اطمینان (confidence score) بین ۰ تا ۱ داره که از آنتروپی شانون، context اطراف، و یه مدل ML کوچک محاسبه میشه.
در مقایسه با ابزارهای رقیب روی یه کورپوس آزمایشی واقعگرایانه، KeyHog با recall 69% و precision 90% بهترین تعادل رو بین پیدا کردن موارد واقعی و نداشتن false positive نشون داد. Gitleaks به عنوان نزدیکترین رقیب recall 41% داشت. سرعت اسکن یه مونوریپو ۴.۲ گیگابایتی هم فقط 2.5 ثانیه بود، در حالی که TruffleHog همون کار رو در ۲۵۲ ثانیه انجام داد.
برای استفاده در CI/CD، ادغام با GitHub Actions خیلی سادهست:
- uses: santhsecurity/keyhog/.github/actions/keyhog@v0.5.17
with:
path: .
severity: high
format: sarif
baseline: .keyhog-baseline.jsonاین کانفیگ فقط یافتههای جدید نسبت به یه snapshot قبلی رو بلاک میکنه و خروجی SARIF رو مستقیم به GitHub Code Scanning آپلود میکنه.
یه ویژگی جالب daemon mode هست. هر بار اجرای KeyHog حدود ۳ ثانیه طول میکشه تا ۸۹۱ دتکتور رو کامپایل کنه. اگه به صورت daemon اجراش کنی، این هزینه فقط یه بار پرداخت میشه و هر اسکن بعدی به جای ۷۴۰ میلیثانیه فقط ۷ میلیثانیه طول میکشه — مناسب pre-commit hookها و save handler ادیتور.
همچنین یه library API برای Rust داره که میشه مستقیم توی پروژههای دیگه embed کرد. دتکتورها هم به صورت فایلهای TOML تعریف میشن و اضافه کردن یه دتکتور جدید فقط ۵ تا ۱۰ خط کد میخواد.
نکات کلیدی:
- ۸۹۱ دتکتور برای سرویسهایی مثل AWS، Stripe، OpenAI، GitHub، Slack و دیتابیسها
- اسکن سورسکد، تاریخچه گیت، ایمیجهای داکر، S3 و کل سیستم
- decode-through scanning: قبل از اسکن، base64/JWT رو خودش باز میکنه
- امتیاز اطمینان ML-based برای کاهش false positiveها
- daemon mode با ۱۰۵ برابر سرعت بیشتر برای اسکنهای مکرر
- قابل استفاده در GitHub Actions با خروجی SARIF
- مجوز MIT، قابل استفاده تجاری




