Varlock: فایلهای .env امن برای ایجنتها
خلاصهٔ کاملتر
ورلاک (Varlock) ابزاری از تیم DMNO ـه که سراغ یه دردسر قدیمی رفته: فایل .env.example که قراره بگه پروژه چه متغیرهایی لازم داره، ولی عملاً همیشه از فایل واقعی عقب میمونه. جایگزینش .env.schema ـه؛ یه فایل که همزمان منبع واحد حقیقت و مستنداته و به گفتهٔ سازندهها هیچوقت ناهماهنگ نمیشه. نکتهٔ اصلیاش هم همینه که ایجنتهای کدنویسی میتونن اسکیما رو بخونن و کانتکست کامل بگیرن، بدون دیدن هیچ مقدار محرمانهای.
دور همین ایده چند لایهٔ محافظتی چیده شده. با دستور varlock scan میشه کل کدبیس رو برای سکرتهای لو رفته اسکن کرد و با گیتهوک جلوی کامیت شدنشون رو گرفت. موقع اجرا هم مقادیر حساس از لاگ و خروجی کنسول حذف میشن و نشتی تو کد باندلشدهٔ سمت کلاینت یا پاسخهای سرور تشخیص داده میشه. اعتبارسنجی و تولید خودکار تایپها هم مستقیم از همون اسکیما میاد، پس خطای پیکربندی خیلی زودتر تو چرخهٔ توسعه خودش رو نشون میده.
جالبترین بخش، بروکر اعتبارنامه برای ایجنتهاست. ایده اینه که ایجنت کدنویسی، سرور MCP یا هر ابزار غیرقابلاعتماد دیگهای فقط مقدار جایگزین (placeholder) ببینه؛ مقدار واقعی سر مرز شبکه و فقط به سمت مقصدی تزریق میشه که هویت TLS ـش تأیید شده، و بعد از پاسخها دوباره پاک میشه. چون خود بروکر روی همون میزبان ایجنت اجرا میشه، سکرت واقعی هیچوقت به شخص ثالث نمیره و یه ایجنت آلوده یا قربانی پرامپتاینجکشن عملاً چیزی برای لو دادن نداره.
از نظر یکپارچگی، ورلاک تو بیشتر پروژهها جایگزین مستقیم dotenv ـه — فقط ایمپورت رو عوض میکنی و بقیهٔ کد دستنخورده میمونه. با varlock run هم میشه متغیرهای حلشده و اعتبارسنجیشده رو به هر پروسهای تزریق کرد، پس زبانهایی مثل پایتون، گو، جاوا، PHP، راست و سیشارپ هم پوشش داده میشن. برای بارگذاری سکرتها هم پلاگینهایی برای 1Password، Infisical، AWS Secrets Manager، Azure Key Vault، Google Secret Manager و Bitwarden داره.
نکات کلیدی:
- .env.schema جای .env.example رو میگیره: یه منبع واحد که ایجنت میخونه ولی سکرت توش نیست
- varlock scan بهعلاوهٔ گیتهوک، نشت سکرت رو قبل از کامیت میگیره
- مقادیر حساس موقع اجرا از لاگ، باندل کلاینت و پاسخ سرور حذف یا شناسایی میشن
- بروکر اعتبارنامه به ایجنت فقط placeholder میده و مقدار واقعی رو سر مرز شبکه تزریق میکنه
- جایگزین مستقیم dotenv با varlock run برای اجرای هر زبان و شش پلاگین سکرتمنیجر




