Akvan میتواند فایل بخواند، کد تغییر دهد و commandهای terminal اجرا کند؛ بنابراین باید آن را مانند یک developer با دسترسی به حساب کاربری خود در نظر بگیرید، نه یک chat bot جدا از سیستم.
Akvan sandbox نیست
Akvan sandbox واقعی یا boundary امنیتی سخت فراهم نمیکند. ابزار terminal commandها را با همان دسترسی OS user شما اجرا میکند. approvalها، denylistها و blocklistها برای کاهش ریسک و شفافکردن عملیات حساس هستند، اما جای isolation سیستمعامل، container یا VM را نمیگیرند.
مرزهای دسترسی
ابزار read_file میتواند pathهای داخل پروژه و pathهای absolute بیرون پروژه را بخواند، مگر اینکه path به credentialهای شناختهشده مثل .env، ~/.ssh/ یا فایلهای حساس ~/.akvan بخورد.
ابزار
terminalهمان محدودیت خواندنread_fileرا ندارد و میتواند با command مناسب به اطلاعات بیشتری دسترسی پیدا کند. درخواستهای approval را با دقت بخوانید و خروجی commandها را قبل از انتشار پاکسازی کنید.
تغییرات معمول داخل project_root معمولاً بدون نمایش approval prompt انجام میشوند. write بیرون پروژه، تغییر فایل حساس و command خطرناک به تصمیم شما نیاز دارد.
گزینههای approval
برای عملیات حساس میتوانید یکی از این گزینهها را انتخاب کنید:
- Allow once: فقط همین عملیات اجرا شود.
- Allow for session: همین عملیات یا key مشابه تا پایان session بدون approval دوباره اجرا شود.
- Always allow: این اجازه برای دفعات بعد در
~/.akvan/approvals.jsonذخیره شود؛ فقط برای operationهایی که permanent approval مجاز دارند. - Deny: عملیات اجرا نشود و مدل مسیر دیگری انتخاب کند.
اگر در زمان تعیینشده پاسخی ندهید، درخواست بهطور خودکار رد میشود.
حالتهای approval
AKVAN_APPROVAL_MODE=ask حالت پیشنهادی است. deny عملیات نیازمند approval را رد میکند. off یا گزینهٔ --yolo approvalهای عادی را کنار میگذارد، اما commandهای بسیار مخرب که با hard patternها تشخیص داده میشوند همچنان مسدود میمانند.
AKVAN_APPROVAL_MODE=ask akvanهنگام کار با پروژه یا skill ناشناس و همچنین gateway راه دور، از حالت yolo استفاده نکنید.
دادههای محلی
sessions، memory، skills، تنظیمات و logs زیر ~/.akvan قرار دارند. از محتوای این دایرکتوری مانند اطلاعات خصوصی خود محافظت کنید و پیش از اشتراک log یا گزارش خطا، secret و محتوای گفتگو را پاک کنید.
کلید حساب Akvan
اگر از provider akvan استفاده میکنید، مقدار AKVAN_API_KEY در ~/.akvan/.env به اندازهٔ سایر API keyها محرمانه است. OTP فقط هنگام تنظیم اولیه یا ورود مجدد (akvan model) لازم است؛ در استفادهٔ روزمره فقط همین key ارسال میشود.
ابزار
terminalممکن است بتواند~/.akvan/.envرا بخواند. هنگام اجرای commandهای حساس، محتوای این فایل را در نظر بگیرید.
memory و skills بهعنوان دستورالعمل قابل اعتماد
Memory و skills که در sessions بعدی بارگذاری میشوند، بخشی از prompt و دستورالعملهای قابل اعتماد Akvan محسوب میشوند. محتوای skill ناشناس یا memory مشکوک میتواند رفتار آیندهٔ agent را تغییر دهد. اگر نمیخواهید مرور پسزمینه memory یا skill بسازد، مقدارهای زیر را در config مربوط به پروژه یا ~/.akvan/config.yaml صفر کنید:
memory:
nudge_interval: 0
skills:
creation_nudge_interval: 0گزارش آسیبپذیری
جزئیات آسیبپذیری را در issue عمومی منتشر نکنید. از مسیر امنیتی repository akvan-agent در GitHub برای تماس خصوصی با نگهدارندگان استفاده کنید.