کلید لو رفته چقدر وقت داره؟
خلاصهٔ کاملتر
تیم Tachyon تو یه آزمایش عمدی، فایلهای .env حاوی کلیدهای تلهای رو تو ریپوهای عمومی گیتهاب پوش کرد تا ببینه یه کلید لو رفته دقیقاً چقدر وقت داره. به گفتهٔ نویسندهها آزمایش دو بار با کلیدهای تازه تکرار شد: یه حساب AWS با دسترسی به Secrets Manager، یه دیتابیس Postgres پر از رکورد قلابی، یه سرور بیلد و یه حساب Anthropic. همهٔ فراخوانیهای AWS، کوئریهای Postgres و نشستهای SSH هم لاگ میشد.
گیتهاب ظرف چند ثانیه کلیدها رو شناسایی کرد ولی هیچ ایمیلی نفرستاد. پونزده ثانیه بعد از پوش، AWS سیاست AWSCompromisedKeyQuarantineV3 رو به کاربر IAM لو رفته چسبوند و کمتر از دو دقیقه بعد ایمیل داد. نکتهای که تو مقاله برجسته شده اینه که کلید همچنان کار میکرد: این سیاست فقط بعضی اقدامهای پرهزینه رو میبنده، نه کلید رو باطل میکنه و نه جلوی گرفتن فهرست و مقدار رازها رو میگیره.
هر کلید عمومی ظرف حدود پنج دقیقه امتحان شد. هفت دقیقه بعد از پوش، همون منبعی که اول با TruffleHog کلید AWS رو تست کرده بود با Boto3 برگشت، فهرست رازها رو گرفت و هر دو مقدار رو بیرون کشید. تو مورد Postgres هم بعد از یه ریاستارت که آدرس تازه ساخت، شش دقیقه بعد یه کلاینت ناشناس وارد شد و هر دو جدول قلابی رو کوئری گرفت.
نویسندهها میتونستن شبکهها و نرمافزار کلاینتها رو تشخیص بدن ولی نه آدمهای پشتشون رو؛ ترافیک از OVH، GorillaServers، یه خروجی شناختهشدهٔ Tor و Gigahost میاومد و بخشیش شاید اسکن دفاعی بوده. به گفتهٔ اونها چیزی که غافلگیرکننده بود سرعت شروع نبود، بلکه جایی بود که ماجرا وایساد: یکی تا Secrets Manager رفت، دو اعتبارنامهٔ دیگه برداشت و بعدش دیگه کاری ازش دیده نشد.
جمعبندی مقاله دو تا دفاعه. دفاع بدیهی اینه که قبل از هر پوش اسکن کنی، مثلاً TruffleHog بهعنوان pre-commit hook و یه بار دیگه تو CI. دفاع کمتر بدیهی اینه که اعتبارنامههایی بکاری که هیچوقت نباید استفاده بشن؛ اونوقت هر درخواستی روشون یه هشدار پراطمینانه که یکی به رازهات رسیده. نویسنده معتقده عدد ثابتی برای «چقدر وقت داری» وجود نداره؛ چیزی که دست خودته اینه که چقدر زود بفهمی.
نکات کلیدی:
- گیتهاب کلیدها رو تو چند ثانیه شناسایی کرد ولی اعلان مستقیمی نفرستاد
- سیاست قرنطینهٔ AWS کلید رو باطل نمیکنه و خوندن Secrets Manager رو نمیبنده
- اولین استفاده از هر کلید حدود پنج دقیقه بعد از پوش اتفاق افتاد
- یه مهاجم با کلید AWS دو راز دیگه رو از Secrets Manager بیرون کشید
- اسکن pre-commit و CI بهعلاوهٔ کلیدهای تلهای، ترکیب پیشنهادی مقالهست




