grokpatrol: رد پای کدهایی که Grok CLI بیرون فرستاد
خلاصهٔ کاملتر
تو صفحهٔ این پروژه اومده که Grok Build CLI بیسروصدا کل ریپازیتوریهای گیت رو روی Google Cloud Storage آپلود میکرده. کاری که این آپلود رو انجام میداده یه جمعکنندهٔ پسزمینه بوده که بیرون از سیستم اجازههای tool-call اجرا میشده — یعنی حتی تو سشنهایی که مدل اجازهٔ دسترسی به فایل نداشته هم کارش رو کرده. نسخهٔ 0.2.93 تأییدشدهست و طبق گزارشها این جمعکننده دستکم تا 0.2.99 هم سر جاش بوده.
چیزی که رفته بیرون فقط فایلهای فعلی نبوده: هر فایل ردیابیشده در HEAD، هر آبجکت گیت قابلدسترس از HEAD، و مهمتر از همه فایلهایی که از چکاوت حذف شدن ولی هنوز تو تاریخچهٔ گیت زندهان — یعنی دقیقاً همونجایی که .env پاکشده و .pem بازنشسته قایم میشن. نویسنده میگه اولویت عوضکردن کلیدها هم با همیناست، چون تو درخت کاری خودت پیداشون نمیکنی.
بیشتر نشانههایی که تا حالا منتشر شده شبکهمحور بودن و باید همون لحظه ترافیک رو میدیدی. به گفتهٔ نویسنده grokpatrol جواب سؤالیه که بعداً هم میشه پرسید: چه شواهدی روی این دیسک مونده. ابزار لاگهای خود Grok (حتی چرخشخورده و gzipشده)، پوشهٔ upload_queue، مانیفستهای آرشیو و نسخهٔ نصبشده رو میخونه، و برای پیدا کردن فایلهای حساس، مجموعهٔ آبجکتهای گیت قابلدسترس از HEAD رو منهای درخت کاری فعلی حساب میکنه.
ادعاهای امنیتی خودِ ابزار هم مکانیکی تضمین شدن: هیچ شبکهای نداره و این با لینکر اثبات میشه (پکیجهای net، net/http و crypto/tls اصلاً لینک نمیشن)، هیچ وابستگیای نداره، همهٔ فایلها فقط با O_RDONLY باز میشن، و باینری grok هیچوقت اجرا نمیشه چون همین اجرا میتونه یه سشن جدید راه بندازه. مقدار سکرتها هم هرگز چاپ نمیشه — فقط مسیر و شناسهٔ آبجکت گیتشون.
برای جلوگیری از آپلود باید هر دو تنظیم harness.disable_codebase_upload = true و telemetry.trace_upload = false تو ~/.grok/config.toml ست بشن؛ فقط یکیشون کافی نیست و ابزار چنین هاستی رو همچنان EXPOSED گزارش میکنه. نکتهٔ آخر هم اینه که صف خالی یعنی آرشیوها رفتن بیرون، نه اینکه هیچوقت نبودن؛ برای همین یه اسکن ناقص هیچوقت CLEAN گزارش نمیشه و بخش نقاط کور تو هر گزارشی چاپ میشه.
نکات کلیدی:
- جمعکنندهٔ پسزمینهٔ Grok Build CLI بیرون از سیستم اجازهها اجرا میشده و کل ریپو رو میفرستاده
- فایلهای حذفشده ولی زنده در تاریخچهٔ گیت هم رفتن؛ اول کلیدهای اونا رو عوض کن
- grokpatrol آفلاین، بدون وابستگی و فقطخواندنیه و باینری grok رو اجرا نمیکنه
- برای مسدود کردن آپلود، هر دو تنظیم harness.disable_codebase_upload و telemetry.trace_upload لازمه
- صف خالی یا لاگ چرخشخورده دلیل امن بودن نیست؛ اسکن ناقص هیچوقت CLEAN گزارش نمیشه




