پرش به محتوای اصلی
پرش به محتوای مقاله

خطای Copilot Autofix دسترسی به جیرا و داده‌های داخلی Snowflake را باز کرد

·۲۶ مرداد ۱۴۰۵۵ دقیقه مطالعه۱ بازدید
عامل قرمز Wiz با رفع خودکار هوش مصنوعی GitHub Copilot به Jira داخلی Snowflake نفوذ کرد
عامل قرمز Wiz با رفع خودکار هوش مصنوعی GitHub Copilot به Jira داخلی Snowflake نفوذ کرد
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

نخستین مورد مستند از نفوذ به یک سازمان بزرگ که مستقیماً نتیجه‌ی «اصلاح کد» توسط یک دستیار AI بوده است، نه خطای برنامه‌نویس انسانی.

یک عامل هوش مصنوعی مستقل ثابت کرد که اصلاحات کد تولیدشده توسط AI می‌توانند به اندازهٔ همان باگ‌هایی که قصد رفعشان را دارند، خطرناک باشند. Wiz Research فاش کرد که عامل Red Agent متعلق به این شرکت، پس از آنکه قابلیت Autofix در GitHub Copilot یک آسیب‌پذیری امنیتی بحرانی ایجاد کرد، توانست به پورتال داخلی جیرا (Jira) در شرکت Snowflake نفوذ کند.

این حادثه در حالی رخ می‌دهد که سازمان‌ها برای تسریع چرخه‌های توسعه، به‌شدت در حال ادغام دستیارهای کدنویسی AI هستند. در حالی که این ابزارها وعده بهره‌وری می‌دهند، اما اغلب بر اساس الگوهای احتمالی عمل می‌کنند، نه درک عمیق از بسترهای امنیتی. در این مورد خاص، هوش مصنوعی نه‌تنها نتوانست باگ را پیدا کند، بلکه فعالانه یک حفاظ امنیتی را حذف کرد.

زمینه و جزئیات آسیب‌پذیری

این نقص امنیتی در جریان پژوهش‌های امنیتی مستمر که از طریق برنامه افشای آسیب‌پذیری HackerOne در شرکت Snowflake انجام می‌شد، شناسایی شد. هدف این حمله، مخزن snowflakedb/snowflake-connector-net بود.

به نقل از گزارش Wiz، این آسیب‌پذیری در ۱۸ ژوئن ۲۰۲۶ ظاهر شد. نقص مذکور از طریق PR #1218 (کامیت 4a1b8ce) وارد شد که توسط Copilot Autofix نوشته شده بود. این دستیار AI یک الگوی ورودی امن را که از متغیرهای env: و تجزیه (parsing) با jq استفاده می‌کرد، حذف کرد و آن را با گسترش مستقیم رشته‌ها (string expansion) در یک اسکریپت شل جایگزین نمود.

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

این تغییر باعث ایجاد یک بردار تزریق اسکریپت در گردش‌کار jira_issue.yml شد. از آنجا که این گردش‌کار با هر بار باز شدن یک Issue در گیت‌هاب فعال می‌شد، هر کاربر غیرمجازی می‌توانست با طراحی یک عنوان خاص برای Issue، دستورات دلخواه خود را اجرا کند.

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

شکست در دروازه امنیتی

این گردش‌کار حاوی یک شرط if: بود که به نظر می‌رسید به عنوان یک دروازه حفاظی عمل می‌کند. با این حال، Wiz متوجه یک نقص منطقی شد: در رویدادهای issues (ایشوها)، شیء github.event.pull_request همیشه مقدار null دارد.

در نتیجه، شرط به (null != 'whitesource-for-github-com[bot]') تبدیل می‌شد. از آنجا که این عبارت همیشه درست (True) است، هر کاربر گیت‌هاب از این دروازه عبور می‌کرد و Runner در معرض حملات هر کاربری که یک Issue باز می‌کرد، قرار می‌گرفت.

فرآیند نفوذ و استخراج داده

عامل Red Agent شرکت Wiz پس از شناسایی نقص، برای استخراج اعتبارنامه‌ها (credentials) اقدام کرد. این فرآیند توانایی استدلال مستقل این عامل را به رخ کشید:

  • شکست اولیه: عامل ابتدا سعی کرد از کاراکتر کامنت (#) برای پوشاندن بقیه خط استفاده کند. این کار باعث خطای سینتکس Bash شد چون کاراکتر کامنت، پرانتز بسته در TITLE=$(...) را مصرف کرد و باعث ناقص شدن دستور شد.
  • تعدیل خودکار: عامل به‌جای توقف، خطای اجرای سینتکس را تحلیل کرد و Payload را به ; echo ' تغییر داد تا بلوک شل را به‌درستی ببندد و دستور خود را اجرا کند.
  • نفوذ موفق: در عرض چند ثانیه، عامل یک بازگشت (callback) از Runner گیت‌هاب (IP Azure 20.106.182.197) دریافت کرد که حاوی اعتبارنامه‌های کدگذاری‌شده با base64 بود.

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

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

توکن استخراج‌شده متعلق به [email protected] بود. این توکن به عامل اجازه داد تا به snowflakecomputing.atlassian.net دسترسی پیدا کند و دسترسی خواندن (read access) به پروژه‌های مهندسی، انطباق امنیتی و ردیابی باگ‌های Snowflake را به دست آورد.

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

عامل قرمز Wiz با رفع خودکار هوش مصنوعی GitHub Copilot به Jira داخلی Snowflake نفوذ کرد.

بازسازی و خط زمانی

طبق گزارش HackerOne (گزارش #3819931)، شرکت Snowflake پس از اطلاع در ۲۳ ژوئن ۲۰۲۶ به‌سرعت واکنش نشان داد. شرکت در همان روز گردش‌کار را اصلاح کرد (کامیت 1dc7766، PR #1402) و الگوی امن متغیرهای env: و jq --arg را بازگرداند.

  • ۱۸ ژوئن ۲۰۲۶: ایجاد الگوی آسیب‌پذیر توسط Copilot Autofix.
  • ۲۳ ژوئن ۲۰۲۶: شناسایی و گزارش نقص توسط Wiz و اصلاح آن توسط Snowflake.
  • ۲۴ ژوئن ۲۰۲۶: تغییر (Rotate) توکن لو رفته در جیرا.
  • ۲۵ ژوئیه ۲۰۲۶: ضرب‌الاجل افشای عمومی طبق سیاست Snowflake.

تحلیل لاگ‌های فارنزیک تأیید کرد که Wiz تنها بازیگری بود که از این پنجره ۵ روزه استفاده کرد. تمام پرس‌وجوهای غیرعادی با IPهای تست Wiz مطابقت داشت و Wiz تأیید کرد تمام داده‌های دسترسی‌یافته را به‌صورت امن حذف کرده است.

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

این رخنه، مفروضات بنیادی مدل امنیتی CI/CD را تغییر می‌دهد. این اتفاق نشان می‌دهد که «پنجره کشف» — فاصله بین ایجاد یک آسیب‌پذیری و بهره‌برداری از آن — در حال بسته شدن است. وقتی عامل‌های خودکاری مثل Red Agent مخازن عمومی را اسکن می‌کنند، یک نقص می‌تواند در عرض چند ساعت، و نه چند هفته، به سلاح تبدیل شود. این توانایی عامل‌های هوشمند در عبور از لایه‌های حفاظتی، یادآور ریسک‌های جدیدی است که در ارزیابی‌های امنیتی اخیر برای عامل‌های پیشرفته شناسایی شده و نشان‌دهنده عصر جدیدی از تهدیدات خودکار است.

علاوه بر این، یک شکاف بحرانی در نظارت بر AI آشکار شد: فقدان زمینه تاریخی. دستیار AI الگویی را جایگزین کرد که صراحتاً برای جلوگیری از تزریق شل پیاده شده بود، چون احتمالاً درونیابی رشته‌ها (string interpolation) را الگویی «تمیزتر» یا رایج‌تر می‌دید.

برای تیم‌های امنیتی، این بدان معناست که PRهای تولیدشده توسط AI را نمی‌توان صرفاً بر اساس برچسب «autofix» پذیرفت. این کدها به همان اندازه، یا حتی بیشتر از کدهای دستی، به تحلیل استاتیک و نظارت انسانی نیاز دارند. باید حفاظ‌هایی (guardrails) پیاده شود تا عامل‌های AI نتوانند تجزیه‌کننده‌های داده‌های ساختاریافته را با درونیابی مستقیم رشته‌ها جایگزین کنند.

منتظر ظهور ابزارهای تحلیل استاتیک «آگاه به AI» (AI-aware) باشید که بتوانند به‌طور خاص مواردی را علامت‌گذاری کنند که در آن یک دستیار AI، یک الگوی امنیتی شناخته‌شده را به نفع یک الگوی احتمالی حذف کرده است.

گام بعدی شما

  • تمام PRهای تولیدشده توسط AI را که شامل تغییر در اسکریپت‌های شل یا دستورات سیستمی هستند، به‌صورت دستی بازبینی کنید.
  • ابزارهای تحلیل استاتیک کد (SAST) خود را به‌روز کنید تا الگوهای جایگزینی متغیرهای امن با رشته‌های مستقیم را شناسایی کنند.
  • دسترسی‌های توکن‌های CI/CD را به حداقل سطح مورد نیاز (Least Privilege) محدود کنید تا در صورت نفوذ، دسترسی به کل سازمان فراهم نشود.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این حادثه با تکیه بر تجربه عملی Wiz ثابت کرد که سرعت نفوذ عامل‌های AI از سرعت اصلاح دستی کدها پیشی گرفته است. اعتبار این ادعا در واقعیتِ نفوذ به یکی از بزرگ‌ترین شرکت‌های داده‌ای جهان (Snowflake) نهفته است.

تأثیر برای ایران

برای توسعه‌دهندگان ایرانی که از Copilot در پروژه‌های تجاری استفاده می‌کنند، این هشدار است که هرگز PRهای خودکار را بدون بازبینی امنیتی در محیط Production ادغام نکنند.

·نگاه ما
تحریریه دات‌هوش

جایگزینی الگوهای امن با الگوهای «تمیزتر» توسط AI نشان می‌دهد که مدل‌های زبانی در اولویت‌بندی زیبایی‌شناسی کد بر امنیت، دچار سوگیری هستند. این اتفاق یعنی اعتماد به برچسب‌های خودکار در CI/CD یک ریسک سیستمی است و ما باید به سمت مدل‌های نظارتی (Reviewer AI) حرکت کنیم که تخصصشان یافتن حذفِ حفاظ‌های امنیتی است، نه صرفاً یافتن باگ‌های سینتکسی.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.