فاز 17 · درس 25

امنیت در هوش مصنوعی: مدیریت کلیدها، چرخش رمزها، لاگ بازرسی و گاردریل

نوع
مفهومی
زمان
حدود 60 دقیقه
زبان‌ها
Python (stdlib, toy PII-scrubber + audit-log writer)
پیش‌نیاز
فاز 17 · 19 (گیت‌وی‌های هوش مصنوعی)، فاز 17 · 13 (مشاهده‌پذیری)
گاوصندوق دیجیتال و درهای امنیتی فلزی متصل به کابل‌های شبکه با دیواره‌های فیلترکننده داده
فهرست مطالب
  1. اهداف یادگیری
  2. صورت مسئله
  3. مفاهیم پایه
  4. والت متمرکز + دریافت کلید با نقش IAM
  5. دوره‌ی بازنشانی کمتر یا مساوی 90 روز
  6. اسکن اطلاعات محرمانه
  7. موضع امنیت زیرو-تراست
  8. پاک‌سازی داده‌های PII / PHI
  9. گاردریل‌های ورودی و خروجی
  10. لیست سفید خروج داده از شبکه
  11. لاگ بازرسی
  12. حادثه‌ی Vercel در سال 2026
  13. اعدادی که باید به خاطر بسپارید
  14. استفاده از ابزارهای واقعی
  15. خروجی این درس
  16. تمرین‌ها
  17. اصطلاحات کلیدی
  18. برای مطالعه‌ی بیشتر

توسعه‌ی سامانه‌های مبتنی بر مدل‌های زبانی فراتر از اتصال چند پرامپت ساده به API است. با قرار گرفتن این مدل‌ها در مسیر جریان داده‌های سازمانی، بردارهای نفوذ جدیدی متولد می‌شوند؛ از نشت ناخواسته‌ی کلیدهای دسترسی در ریپازیتوری‌های گیت گرفته تا انتقال ناآگاهانه‌ی داده‌های حساس و اطلاعات هویتی کاربران (PII) به سرورهای خارجی. اگر سازوکار درستی برای محافظت از کلیدها و داده‌ها نداشته باشید، هر کامیت اشتباه یا فراخوانی نسنجیده‌ی API می‌تواند به یک بحران امنیتی بدل شود.

در معماری‌های ابری نوین، گیت‌وی هوش مصنوعی (AI Gateway) به عنوان نقطه‌ی امن تماس عمل می‌کند. این گیت‌وی کلیدها را در زمان اجرا مستقیماً از والت‌های متمرکز دریافت کرده و با بازنشانی دوره‌ای (کمتر از 90 روز)، نیاز به دیپلوی مجدد سرویس‌ها را از بین می‌برد. همچنین با پیاده‌سازی گاردریل‌های ورودی و خروجی، ماسک کردن اطلاعات محرمانه با تکنیک‌های توکن‌سازی پایدار، و مسدودسازی ترافیک خروجی سرورها جز به دامنه‌های سفید، امنیت لایه‌به‌لایه به همراه لاگ‌های بازرسی تغییرناپذیر برقرار می‌شود.

در صورتی که به دلیل محدودیت‌های دسترسی یا عدم امکان پرداخت مستقیم ارزی از ارائه‌دهنده‌های واسط یا گیت‌وی‌های داخلی سازگار با API استفاده می‌کنید، تفکیک اطلاعات احراز هویت و پایش لاگ‌ها اهمیتی دوچندان می‌یابد. این درس دقیقاً مهارت‌های لازم برای ایمن‌سازی این زنجیره، جلوگیری از ضدالگوهای نگهداری رمز و پیاده‌سازی اصول امنیت زیرو-تراست را آموزش می‌دهد.

پراکندگی اطلاعات محرمانه (Secret sprawl) را با والت‌های متمرکز (HashiCorp Vault، AWS Secrets Manager، Azure Key Vault) از بین ببرید. هرگز اطلاعات احراز هویت را در فایل‌های کانفیگ، فایل‌های env داخل VCS یا فایل‌های اکسل ذخیره نکنید. به‌جای کلیدهای ایستا از نقش‌های IAM و برای CI/CD از OIDC استفاده کنید. الگوی گیت‌وی هوش مصنوعی (AI gateway) راهکار استاندارد سال 2026 است: برنامه‌ها ← گیت‌وی ← ارائه‌دهنده‌ی مدل؛ به‌طوری‌که گیت‌وی اطلاعات محرمانه را در زمان اجرا (Runtime) از والت می‌خواند. کلید را در والت بازنشانی (Rotate) کنید تا همه‌ی برنامه‌ها ظرف چند دقیقه آن را تحویل بگیرند؛ بدون نیاز به دیپلوی مجدد و بدون پیام‌های «کی کلید جدید رو داره؟» در اسلک. دوره‌ی بازنشانی باید کمتر یا مساوی 90 روز باشد؛ در هر commit با TruffleHog، GitGuardian یا Gitleaks اسکن کنید. امنیت زیرو-تراست (Zero-trust): الزام MFA، SSO، کنترل دسترسی RBAC/ABAC، توکن‌های کوتاه‌عمر و ارزیابی وضعیت امنیتی دستگاه (Device posture). پاک‌سازی داده‌های هویتی حساس (PII scrubbing) با بازشناسی موجودیت‌های نام‌دار (NER) اطلاعات PHI/PII را پیش از ارسال ماسک می‌کند؛ توکن‌سازی پایدار (روش Mesh) مقادیر حساس را به متغیرهای جایگزین ثابت نگاشت می‌کند تا مدل زبانی پیوندهای معنایی و ساختار کد را حفظ کند. خروج ترافیک شبکه (Network egress): استقرار سرویس‌های LLM در ساب‌نت اختصاصی VPC/VNet و تعریف لیست سفید (Whitelist) فقط برای دامنه‌هایی مثل api.openai.com و api.anthropic.com و مسدود کردن هرگونه ترافیک خروجی دیگر. حادثه‌ی امنیتی سال 2026: حمله‌ی زنجیره‌ی تامین به Vercel از طریق لو رفتن مدارک احراز هویت CI/CD که متغیرهای محیطی هزاران استقرار مشتریان را فاش کرد.

اهداف یادگیری

  • نام بردن چهار ضدالگوی مدیریت اطلاعات محرمانه (فایل‌های کانفیگ در VCS، متغیرهای محیطی هاردکدشده، فایل‌های اکسل و کلیدهای ایستا) و جایگزین‌های آن‌ها.
  • توضیح الگوی «دریافت کلید از والت توسط گیت‌وی هوش مصنوعی» به‌عنوان استاندارد محیط عملیاتی (پروداکشن) در سال 2026.
  • پیاده‌سازی پاک‌ساز PII با توکن‌سازی پایدار (مقدار یکسان ← جایگزین یکسان) برای حفظ ساختار معنایی.
  • مرور حادثه‌ی زنجیره‌ی تامین Vercel در سال 2026 و درس‌های آن درباره‌ی بهداشت امنیتی اطلاعات محرمانه در CI/CD.

صورت مسئله

یک کارآموز فایلی حاوی کلیدهای API را در قالب .env کامیت (commit) می‌کند. سریع آن را پاک می‌کند، اما کلیدها وارد تاریخچه‌ی git شده‌اند؛ اسکنر GitGuardian مچش را می‌گیرد و فرایند بازنشانی شما به این خلاصه می‌شود: «پیام به تیم در اسلک، به‌روزرسانی 40 فایل کانفیگ و دیپلوی دوباره‌ی تمام سرویس‌ها.» 8 ساعت بعد، نیمی از سرویس‌ها بالا آمده‌اند و نیم دیگر هنوز منتظر پنجره‌ی مجاز دیپلوی هستند.

از طرفی، پرامپت‌های کاربران شامل مواردی مثل «کد ملی من 123-45-6789 است» می‌شود. پرامپت مستقیم به OpenAI می‌رود. شما توافق‌نامه‌ی BAA دارید، اما سیاست داخلی‌تان می‌گوید اطلاعات هویتی حساس (PII) باید پیش از ارسال ماسک شوند؛ کاری که نکرده‌اید.

در سناریویی دیگر، پاد LLM روی کلاستر EKS به کل اینترنت دسترسی دارد. نفوذگری داده‌ها را از طریق یک DNS lookup به دامنه‌ی تحت کنترل خودش خارج می‌کند و هیچ مانعی سر راهش نیست.

امنیت سرویس‌های مبتنی بر مدل‌های زبانی باید به هر سه بردار حمله پاسخ دهد و بتواند درستی‌اش را اثبات کند: کلیدهای متکی به والت، پاک‌سازی PII، فیلتر ترافیک خروجی شبکه و لاگ‌های بازرسی (Audit logs) به‌عنوان ردپای شواهد.

مفاهیم پایه

والت متمرکز + دریافت کلید با نقش IAM

والت: HashiCorp Vault، AWS Secrets Manager، Azure Key Vault یا GCP Secret Manager. تنها یک منبع حقیقت (Source of Truth).

نقش IAM: برنامه یا گیت‌وی با هویت IAM خود احراز هویت می‌کند، نه با یک کلید ایستا. والت کلید محرمانه را صرفاً به‌اندازه‌ی طول عمر توکن برمی‌گرداند.

الگوی گیت‌وی هوش مصنوعی: گیت‌وی در زمان پردازش درخواست، OPENAI_API_KEY را از والت بیرون می‌کشد. با بازنشانی کلید در والت، درخواست بعدی کلید جدید را می‌گیرد؛ بدون نیاز به هیچ دیپلوی مجددی.

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

برای تمام کلیدهای API، توکن‌های ریشه‌ی والت و مدارک CI/CD. هر جا ممکن است بازنشانی را خودکار کنید؛ بازنشانی‌های دستی را هم دقیق لاگ بیندازید و پیگیری کنید.

اسکن اطلاعات محرمانه

  • TruffleHog — بررسی regex و آنتروپی روی commitها.
  • GitGuardian — ابزار تجاری با دقت بالا.
  • Gitleaks — ابزار متن‌باز با قابلیت اجرا در CI.

روی تک‌تک commitها اسکن کنید و اگر کلید جدیدی پیدا شد، جلوی ادغام PR را بگیرید.

موضع امنیت زیرو-تراست

  • الزام MFA برای همه‌ی حساب‌ها.
  • ورود یکپارچه (SSO) با SAML یا OIDC.
  • اعمال RBAC (نقش‌محور) یا ABAC (صفت‌محور) برای دسترسی‌های دقیق و دانه‌ریز.
  • توکن‌های کوتاه‌عمر (در حد چند ساعت، نه چند روز).
  • ارزیابی وضعیت امنیتی دستگاه — فقط دستگاه‌های سازمانی با دیسک رمزنگاری‌شده اجازه دارند متصل شوند.

پاک‌سازی داده‌های PII / PHI

پیش از آنکه پرامپت از زیرساخت شما خارج شود:

  1. بازشناسی موجودیت‌های نام‌دار (با NER در spaCy، Presidio مایکروسافت یا ابزارهای تجاری).
  2. ماسک کردن موجودیت‌های پیداشده: "My SSN is 123-45-6789" ← "My SSN is [SSN_TOKEN_A3F]".
  3. توکن‌سازی پایدار (روش Mesh): نگاشت هر مقدار یکسان به یک متغیر جایگزین یکسان تا مدل زبانی پیوندهای معنایی را حفظ کند.
  4. نگاشت معکوس اختیاری برای برگرداندن داده‌ها در پاسخ نهایی مدل.

فیلترهای ساده‌ی regex الگوهای متداول را پیدا می‌کنند و NER موارد پیچیده‌تر را پوشش می‌دهد. از ترکیب هر دو استفاده کنید.

گاردریل‌های ورودی و خروجی

ورودی: مسدودسازی جیل‌بریک‌های (Jailbreak) شناخته‌شده و موضوعات ممنوعه؛ محدودسازی نرخ درخواست (Rate-limit) به ازای هر کاربر.

خروجی: پاک‌سازی خروجی با regex برای جلوگیری از نشت اطلاعات محرمانه (الگوهای کلید API، الگوهای ایمیل در متن‌های امتناع مدل یا Refusal) و استفاده از دسته‌بندها برای کشف نقض سیاست‌ها.

لیست سفید خروج داده از شبکه

استقرار سرویس‌های LLM در یک ساب‌نت اختصاصی:

  • لیست سفید: دامنه‌های api.openai.com، api.anthropic.com، اندپوینت‌های پایگاه داده‌ی برداری و اندپوینت‌های والت.
  • بقیه‌ی موارد: قطع کامل ترافیک (Drop).
  • هدایت ترافیک DNS صرفاً از طریق یک ریزالور با لیست مجاز (برای جلوگیری از نشت داده از طریق تونل‌زنی DNS).

لاگ بازرسی

لاگی تغییرناپذیر از هر فراخوانی مدل زبانی شامل:

  • برچسب زمانی (Timestamp).
  • کاربر / مستاجر (Tenant).
  • هش پرامپت (نه خود متن خام، برای حفظ حریم خصوصی).
  • مدل و نسخه‌ی آن.
  • تعداد توکن‌ها.
  • هزینه.
  • هش پاسخ.
  • هرگونه فعال‌شدن گاردریل‌ها (سازوکارهای ایمنی).

مدت‌زمان نگهداری لاگ‌ها باید مطابق الزامات قانونی باشد (برای SOC 2 برابر 1 سال، برای HIPAA برابر 6 سال).

حادثه‌ی Vercel در سال 2026

یک حمله‌ی زنجیره‌ی تامین: مدارک احراز هویت افشاشده در CI/CD به سرقت متغیرهای محیطی در هزاران استقرار مشتریان انجامید. درس اصلی: مدارک CI/CD هم‌سطح محیط عملیاتی هستند. آن‌ها را در والت ذخیره کنید، دامنه‌ی دسترسی‌شان (Scope) را محدود نگه دارید و پیوسته بازنشانی‌شان کنید.

اعدادی که باید به خاطر بسپارید

  • دوره‌ی بازنشانی: کمتر یا مساوی 90 روز.
  • اسکن در تک‌تک commitها: TruffleHog / GitGuardian / Gitleaks.
  • حادثه‌ی Vercel 2026: لو رفتن دسترسی‌های CI/CD ← سرقت متغیرهای محیطی هزاران مشتری.
  • مدت نگهداری لاگ بازرسی: در الزامات SOC 2 برابر 1 سال، در الزامات HIPAA برابر 6 سال.
چرخش کلید متکی به Vaultکلید در یک جا تغییر می‌کند و درگاه آن را بلادرنگ دریافت می‌کند
VAULT-BACKED ROTATIONCredentials live in the vault and nowhere else. Apps call the AI gateway, which pulls the current key at runtime, so no service ever holds a static secret. When key v1 rotates to v2, the swap happens in one place and every caller is current within minutes: no redeploys, no 40 config files, no message asking who has the new key. The 90-day rotation policy stops being a migration and becomes a non-event.vaultکلید v1کلید v2rotated, <=90 daysدرگاه AIدریافت در زمان اجرابرنامه Aبرنامه Bبرنامه Cبدون کلید در env یا VCSیک‌بار چرخش در vault؛ همه برنامه‌ها ظرف چند دقیقه بدون دیپلوی مجدد به‌روز می‌شوند
اطلاعات احراز هویت فقط در vault نگهداری می‌شوند و نه هیچ جای دیگر. برنامه‌ها با درگاه هوش مصنوعی تماس می‌گیرند که کلید فعلی را در زمان اجرا فراخوانی می‌کند، بنابراین هیچ سرویسی هرگز یک سکرت ثابت را نگه نمی‌دارد. وقتی کلید v1 به v2 تغییر می‌یابد، جابه‌جایی در یک نقطه انجام می‌شود و همه فراخوان‌ها ظرف چند دقیقه به‌روز می‌شوند: بدون استقرار مجدد، بدون نیاز به 40 فایل کانفیگ و بدون پیامی برای پرسش درباره اینکه چه کسی کلید جدید را دارد. بدین ترتیب سیاست چرخش 90 روزه از یک پروژه مهاجرت بزرگ به رویدادی بی‌دغدغه تبدیل می‌شود.

استفاده از ابزارهای واقعی

فایل code/main.py یک پاک‌ساز ساده‌ی PII را همراه با توکن‌سازی پایدار و لاگ بازرسیِ فقط‌افزودنی (Append-only) پیاده‌سازی می‌کند.

خروجی این درس

این درس سند outputs/skill-llm-security-plan.md را تولید می‌کند؛ سندی که با توجه به دامنه‌ی رگولاتوری و وضعیت فعلی سیستم، برنامه‌ی مهاجرت به والت، پاک‌ساز، خروجی شبکه و لاگ بازرسی را تدوین می‌کند.

تمرین‌ها

  1. اسکریپت code/main.py را اجرا کنید. دو پرامپت حاوی یک شماره ملی یکسان بفرستید. بررسی کنید که هر دو متن، جایگزین یکسانی گرفته باشند.
  2. سیاست خروج داده از شبکه (Egress policy) را برای استقرار vLLM روی EKS که قرار است OpenAI و Anthropic و Weaviate را صدا بزند، طراحی کنید.
  3. کلیدی را در تاریخچه‌ی دو سال پیش git پیدا می‌کنید. اقدام درست چیست: بازنشانی کلید، پاک کردن تاریخچه، یا هر دو؟ دلیل خود را توضیح دهید.
  4. لاگ بازرسی شما روزانه 10 گیگابایت رشد می‌کند. لایه‌های نگهداری آن را طراحی کنید (داغ 30 روز، نیمه‌داغ 12 ماه، سرد 6 سال).
  5. استدلال کنید که آیا پیچیدگی «توکن‌سازی معکوس» (جایگزین کردن دوباره‌ی مقادیر واقعی در پاسخ مدل) ارزشش را دارد، یا بهتر است همان متغیرهای جایگزین در دید بمانند؟

اصطلاحات کلیدی

اصطلاح در گفت‌وگوهای عامیانه معنای دقیق فنی
والت (Vault) «انبار کلیدها» سرویس متمرکز مدیریت اطلاعات احراز هویت
نقش IAM (IAM role) «احراز هویت مبتنی بر هویت» نقشی که برنامه می‌گیرد و در ازایش اعتبارات کوتاه‌عمر تحویل می‌گیرد
OIDC برای CI/CD «توکن‌های ابری» حذف کلیدهای ایستا از CI و تشخیص هویت از طریق OIDC
TruffleHog / GitGuardian / Gitleaks «اسکنرهای اطلاعات محرمانه» ابزارهای تشخیص نشت کلید در زمان commit
RBAC / ABAC «کنترل دسترسی» نقش‌محور در برابر صفت‌محور
پاک‌سازی PII (PII scrubbing) «ماسک کردن داده‌ها» حذف یا توکن‌سازی موجودیت‌های حساس
توکن‌سازی پایدار (Consistent tokenization) «جایگزین‌های ثابت» نگاشت مقدار یکسان به توکنی یکسان در هر بار
روش Mesh (Mesh approach) «توکن‌سازی مش» الگوی توکن‌سازی با هدف حفظ پیوندهای معنایی
لیست سفید خروج داده (Egress whitelist) «فهرست دسترسی‌های خروجی» دسترسی‌پذیری انحصاری دامنه‌های مجاز
لاگ بازرسی (Audit log) «تاریخچه‌ی تغییرناپذیر» ثبت سوابق به‌صورت فقط‌افزودنی جهت رعایت انطباق قانونی

برای مطالعه‌ی بیشتر

خودآزمایی

به سؤال‌ها جواب بدهید تا ببینید چقدر از درس در ذهنتان مانده است.

  1. پیش از درسالگوی استاندارد سال 2026 برای اطلاعات احراز هویت سرویس‌های LLM چیست؟
  2. حین درسدرس چه دوره‌ای را برای چرخش کلیدهای API، توکن‌های ریشه vault و مدارک CI/CD توصیه می‌کند؟
  3. حین درسچرا از توکن‌سازی سازگار (رویکرد Mesh) برای پاک‌سازی PII استفاده می‌شود؟
  4. حین درسدرس چه رویکرد خروجی (egress posture) را برای زیرشبکه‌های سرویس LLM توصیه می‌کند؟
  5. پس از درسحادثه زنجیره تأمین ورسل در سال 2026 چه درسی درباره اطلاعات احراز هویت CI/CD داد؟
  6. پس از درسدرس ثبت چه فیلدهایی را در لاگ بازرسی برای هر فراخوانی LLM پیشنهاد می‌کند؟

سؤالات متداول

چرا کلیدهای API نباید در فایل‌های env یا کانفیگ ریپازیتوری ذخیره شوند؟

حتی در صورت حذف سریع فایل، کلیدها در تاریخچه‌ی Git باقی می‌مانند و به راحتی با ابزارهای اسکن نشت می‌کنند؛ راهکار استاندارد استفاده از والت متمرکز و نقش‌های IAM است.

توکن‌سازی پایدار (Consistent Tokenization) در ماسک کردن PII چه مزیتی دارد؟

با نگاشت هر داده‌ی حساس به یک مقدار جایگزین ثابت و یکتا، مدل زبانی روابط منطقی و پیوندهای معنایی موجود در پرامپت را در طول پردازش به درستی حفظ می‌کند.

بهترین دوره‌ی بازنشانی (Rotation) برای کلیدهای API چقدر است؟

سیاست استاندارد برای تمام کلیدهای API، توکن‌های والت و مدارک CI/CD حداکثر 90 روز است که در حالت ایده‌آل باید به‌شکل خودکار انجام شود.

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.