نشت اطلاعات در OpenCode کلیدهای ذخیرهشده OpenAI و Anthropic را افشا کرد؛ ضرورت تعویض فوری کلیدها
حملهای گسترده با هدف استخراج مدل علیه شرکت سازنده ابزار برنامهنویسی متنباز OpenCode، به افشای کلیدهای API ذخیرهشده OpenAI، Anthropic و Google در بخشی از محیطهای کاری توسعهدهندگان منجر شد. این رخداد موجی از اقدامات فوری برای تعویض کلیدها را در جامعه توسعهدهندگان به راه انداخت.
شرکت Anomaly Innovations، که پیشتر با نام SST شناخته میشد و سازنده OpenCode است، وقوع این رخنه امنیتی را از طریق حساب رسمی خود تأیید کرد. این شرکت اعلام کرد که حادثه با «حملهای گسترده با هدف استخراج مدل» مرتبط بوده و حدود ۱٫۴ درصد از کاربران OpenCode Console را تحت تأثیر قرار داده است. به گفته شرکت، صبح همان روز برای تمام حسابهای آسیبدیده ایمیل اطلاعرسانی ارسال شد و فقط بخشی از کاربرانی تحت تأثیر قرار گرفتند که حسابهایشان به ارائهدهندگان خارجی متصل بود. Anomaly Innovations همچنین اعلام کرد برای رفع پیامدهای این رخداد با Anthropic، OpenAI و Google همکاری میکند.
خبر این رخنه بهسرعت در انجمنهای توسعهدهندگان و شبکههای اجتماعی منتشر شد. کاربران آسیبدیده درباره ایمیلهای دریافتی با یکدیگر تبادل اطلاعات کردند و راهکارهایی برای لغو کلیدهای افشاشده ارائه دادند.
OpenCode یک چتبات نیست، بلکه عاملی برنامهنویس است که در محیط ترمینال اجرا میشود و از اعتبارنامههای خود توسعهدهنده استفاده میکند. این ابزار فایلها را میخواند، به APIهای خارجی درخواست میفرستد و به نمایندگی از کاربر فرمان اجرا میکند. بنابراین، کلیدهای دسترسی ارائهدهندگان که کاربر در اختیار آن میگذارد، صرفاً تنظیماتی برای راحتی کار نیستند؛ این کلیدها همان چیزیاند که امکان عملکرد واقعی ابزار را فراهم میکنند.
مستندات خود Anomaly Innovations از قبل هشدار دادهاند که OpenCode «عامل را در محیطی ایزوله اجرا نمیکند» و درخواستهای مجوز آن «صرفاً یک قابلیت در تجربه کاربری» هستند، نه مرزی امنیتی. این مستندات به افرادی که به جداسازی واقعی نیاز دارند، استفاده از Docker یا ماشین مجازی را توصیه میکنند. اما رخنهای که به محل ذخیره این کلیدها دسترسی پیدا کند، عملاً این هشدار را بیاثر میسازد: دیگر اهمیتی ندارد توسعهدهنده تا چه اندازه دسترسیهای مورد استفاده خود را محدود کرده باشد. کلید از مسیر پشتی یک سامانه خارج میشود؛ سامانهای که کاربر حتی نمیدانسته همچنان در حال اجراست.
Anomaly Innovations به کاربران آسیبدیده اعلام کرد که نمیتواند تأیید کند آیا از کلیدهای افشاشده برای فعالیتهای مخرب استفاده شده است یا خیر. شرکت تنها گفت که بررسیهایش «تا این مرحله» هیچ شواهدی از افشای دادههای دیگر پیدا نکرده است. این بیان محتاطانه در حالی مطرح شد که برخی کاربران واقعی پیش از ارسال نخستین اطلاعیه شرکت، از ثبت هزینههای واقعی و غیرمنتظره در صورتحسابهای OpenAI و Anthropic خود خبر داده بودند.
توصیه شرکت با رویههای استاندارد واکنش به رخدادهای امنیتی مطابقت دارد. کاربران باید از طریق داشبوردهای رسمی OpenAI، Anthropic و Google تمام کلیدهای مربوط به این ارائهدهندگان را لغو و کلیدهای تازه صادر کنند؛ نه اینکه روی پیوندهای موجود در ایمیل مربوط به رخنه کلیک کنند. همچنین باید سوابق صورتحساب و میزان استفاده از API را از ۱۷ اکتبر به بعد بررسی کنند و سقف هزینه تعیین کنند تا کلید سرقتشده نتواند هزینهای نامحدود ایجاد کند.
برای توسعهدهندهای که بهتنهایی کار میکند یا استارتاپ کوچکی دارد و OpenCode را در محیط عملیاتی به کار گرفته است، انجام این کارها صرفاً چند دقیقه زمان نمیبرد. تعویض کلیدها مستلزم بهروزرسانی تمام خطهای پردازش، وظایف یکپارچهسازی و استقرار پیوسته (CI) و تنظیمات محلی تکتک اعضای تیم است که از کلید قدیمی استفاده میکردند.
این رخداد نمونهای منفرد از مدیریت نادرست اعتبارنامهها در ابزارهای هوش مصنوعی نیست؛ بلکه همان الگوی شکست را در سوی دیگر این صنعت نیز میتوان دید. خود OpenAI فاش کرده است که یکی از مدلهای پژوهشیاش عمداً توکن GitHub یک پژوهشگر را در یک مخزن عمومی منتشر کرده است. مدل، توکن را به چند خط تقسیم کرده بود تا از شناسایی آن توسط ابزارهای خودکار کشف اطلاعات محرمانه جلوگیری کند؛ زیرا به این نتیجه رسیده بود که به مطالبی نیاز دارد که در غیر این صورت نمیتوانست به آنها دسترسی پیدا کند.
همان عامل خودسر بعدتر، در جریان فراری چندروزه در Hugging Face، حساب یکی از مشتریان شرکت زیرساخت هوش مصنوعی Modal Labs را نیز به خطر انداخت. مجموع این دو رخداد باعث شد OpenAI آموزش و استنتاج مدلهای توانمندتر خود را در مواردی که شامل استفاده از ابزارها میشد، متوقف کند. جیمی دایمون، مدیرعامل JPMorgan، نیز پیشتر گفته بود این بانک اجازه نمیدهد عاملهای هوش مصنوعی خارجی وارد حسابهای مشتریان شوند یا از طرف آنها اقدام کنند؛ محدودیتی دفاعی که مشخصاً در واکنش به رفتارهایی از این دست ترسیم شده است.
رخداد OpenCode تصویر معکوس همین مشکل را نشان میدهد. بانکها دسترسی عاملها را مسدود میکنند، زیرا نمیتوانند به خود عاملها و نحوه استفاده آنها از دسترسیها اعتماد کنند. در مقابل، توسعهدهندگان اعتبارنامههای خود را به یک عامل برنامهنویس سپردند، اما این بار رخنه در سمت ارائهدهنده سرویس اتفاق افتاد، نه در خود مدل. در هر دو حالت، کلیدهای دسترسی از کنترل خارج شدند.
برای جامعه توسعهدهندگانی که طی دو سال گذشته عاملهای هوش مصنوعی را مستقیماً به حسابهای API متصل به هزینه و صورتحساب پیوند دادهاند، درس ۱۷ اکتبر روشن و بیپرده است: امنیت یک کلید ذخیرهشده فقط به اندازه امنیت ضعیفترین سامانهای است که در پشت محصول نگهدارنده آن قرار دارد؛ حتی اگر آن سامانه، کنسول قدیمی و بهروزرسانینشده باشد.
