docs/docs/fa/cli/security.md
2026-04-29 23:52:03 +00:00

9.6 KiB
Raw Blame History

read_when summary title x-i18n
می‌خواهید یک ممیزی امنیتی سریع روی پیکربندی/وضعیت اجرا کنید
می‌خواهید پیشنهادهای امن «اصلاح» را اعمال کنید (مجوزها، سخت‌گیرانه‌تر کردن پیش‌فرض‌ها)
مرجع CLI برای `openclaw security` (ممیزی و رفع خطاهای رایج امنیتی) امنیت
generated_at model provider source_hash source_path workflow
2026-04-29T22:38:50Z gpt-5.5 openai b4c15f2111cac2492aa331e5217dd18de169c8b6440f103e3009e059a06d81f6 cli/security.md 16

openclaw security

ابزارهای امنیتی (ممیزی + اصلاحات اختیاری).

مرتبط:

ممیزی

openclaw security audit
openclaw security audit --deep
openclaw security audit --deep --password <password>
openclaw security audit --deep --token <token>
openclaw security audit --fix
openclaw security audit --json

ممیزی زمانی هشدار می‌دهد که چند فرستنده پیام مستقیم نشست اصلی را به‌اشتراک بگذارند و حالت امن پیام مستقیم را توصیه می‌کند: session.dmScope="per-channel-peer" (یا per-account-channel-peer برای کانال‌های چندحسابی) برای صندوق‌های ورودی مشترک. این برای سخت‌سازی صندوق ورودی مشترک/همکارانه است. یک Gateway واحد که توسط عملگرهای متقابلاً نامطمئن/خصمانه به‌اشتراک گذاشته شود، پیکربندی توصیه‌شده‌ای نیست؛ مرزهای اعتماد را با Gatewayهای جداگانه (یا کاربران/میزبان‌های جداگانه سیستم‌عامل) تفکیک کنید. همچنین وقتی پیکربندی نشان‌دهنده احتمال ورود کاربران مشترک باشد (برای مثال سیاست باز پیام مستقیم/گروه، هدف‌های گروهی پیکربندی‌شده، یا قواعد فرستنده با نویسه عام)، security.trust_model.multi_user_heuristic را صادر می‌کند و یادآوری می‌کند که OpenClaw به‌طور پیش‌فرض مدل اعتماد دستیار شخصی دارد. برای پیکربندی‌های آگاهانه با کاربران مشترک، راهنمایی ممیزی این است که همه نشست‌ها را سندباکس کنید، دسترسی فایل‌سیستم را به فضای کاری محدود نگه دارید، و هویت‌ها یا اعتبارنامه‌های شخصی/خصوصی را از آن زمان‌اجرا دور نگه دارید. همچنین وقتی مدل‌های کوچک (<=300B) بدون سندباکس و با ابزارهای وب/مرورگر فعال استفاده شوند هشدار می‌دهد. برای ورود Webhook، وقتی hooks.token از توکن Gateway دوباره استفاده کند، وقتی hooks.token کوتاه باشد، وقتی hooks.path="/" باشد، وقتی hooks.defaultSessionKey تنظیم نشده باشد، وقتی hooks.allowedAgentIds نامحدود باشد، وقتی بازنویسی‌های sessionKey درخواست فعال باشند، و وقتی بازنویسی‌ها بدون hooks.allowedSessionKeyPrefixes فعال باشند هشدار می‌دهد. همچنین وقتی تنظیمات Docker سندباکس در حالی پیکربندی شده‌اند که حالت سندباکس خاموش است، وقتی gateway.nodes.denyCommands از ورودی‌های شبیه الگو/ناشناخته و بی‌اثر استفاده می‌کند (فقط تطبیق دقیق نام دستور Node، نه فیلتر کردن متن شل)، وقتی gateway.nodes.allowCommands دستورهای خطرناک Node را صریحاً فعال می‌کند، وقتی tools.profile="minimal" سراسری توسط پروفایل‌های ابزار عامل بازنویسی می‌شود، وقتی گروه‌های باز ابزارهای زمان‌اجرا/فایل‌سیستم را بدون محافظ‌های سندباکس/فضای کاری افشا می‌کنند، و وقتی ابزارهای Plugin نصب‌شده ممکن است تحت سیاست ابزار آسان‌گیرانه قابل دسترسی باشند هشدار می‌دهد. همچنین gateway.allowRealIpFallback=true (خطر جعل هدر در صورت پیکربندی نادرست پراکسی‌ها) و discovery.mdns.mode="full" (نشت فراداده از طریق رکوردهای mDNS TXT) را علامت‌گذاری می‌کند. همچنین وقتی مرورگر سندباکس از شبکه Docker bridge بدون sandbox.browser.cdpSourceRange استفاده کند هشدار می‌دهد. همچنین حالت‌های شبکه خطرناک Docker سندباکس (از جمله پیوستن به فضای نام host و container:*) را علامت‌گذاری می‌کند. همچنین وقتی کانتینرهای Docker مرورگر سندباکس موجود برچسب‌های هش گمشده/کهنه داشته باشند (برای مثال کانتینرهای پیش از مهاجرت که openclaw.browserConfigEpoch را ندارند) هشدار می‌دهد و openclaw sandbox recreate --browser --all را توصیه می‌کند. همچنین وقتی رکوردهای نصب Plugin/hook مبتنی بر npm پین نشده باشند، فراداده یکپارچگی نداشته باشند، یا با نسخه‌های بسته نصب‌شده فعلی ناهمخوان باشند هشدار می‌دهد. وقتی فهرست‌های مجاز کانال به‌جای شناسه‌های پایدار به نام‌ها/ایمیل‌ها/برچسب‌های تغییرپذیر تکیه کنند هشدار می‌دهد (Discord، Slack، Google Chat، Microsoft Teams، دامنه‌های Mattermost و IRC در صورت کاربرد). وقتی gateway.auth.mode="none" APIهای HTTP مربوط به Gateway را بدون راز مشترک در دسترس می‌گذارد (/tools/invoke به‌علاوه هر نقطه پایانی فعال /v1/*) هشدار می‌دهد. تنظیماتی که با dangerous/dangerously شروع می‌شوند، بازنویسی‌های صریح عملگر برای شرایط اضطراری هستند؛ فعال کردن یکی از آن‌ها، به‌تنهایی، گزارش آسیب‌پذیری امنیتی نیست. برای فهرست کامل پارامترهای خطرناک، بخش «خلاصه پرچم‌های ناامن یا خطرناک» را در امنیت ببینید.

رفتار SecretRef:

  • security audit مسیرهای SecretRef پشتیبانی‌شده را برای مسیرهای هدف خود در حالت فقط‌خواندنی resolve می‌کند.
  • اگر یک SecretRef در مسیر دستور فعلی در دسترس نباشد، ممیزی ادامه می‌یابد و secretDiagnostics را گزارش می‌کند (به‌جای اینکه دچار خرابی شود).
  • --token و --password فقط احراز هویت وارسی عمیق را برای همان فراخوانی دستور بازنویسی می‌کنند؛ آن‌ها پیکربندی یا نگاشت‌های SecretRef را بازنویسی نمی‌کنند.

خروجی JSON

برای بررسی‌های CI/سیاست از --json استفاده کنید:

openclaw security audit --json | jq '.summary'
openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'

اگر --fix و --json ترکیب شوند، خروجی هم اقدام‌های اصلاح و هم گزارش نهایی را شامل می‌شود:

openclaw security audit --fix --json | jq '{fix: .fix.ok, summary: .report.summary}'

آنچه --fix تغییر می‌دهد

--fix اصلاحات امن و قطعی را اعمال می‌کند:

  • groupPolicy="open" رایج را به groupPolicy="allowlist" برمی‌گرداند (از جمله گونه‌های حساب در کانال‌های پشتیبانی‌شده)
  • وقتی سیاست گروه WhatsApp به allowlist برگردد، groupAllowFrom را از فایل ذخیره‌شده allowFrom مقداردهی اولیه می‌کند، اگر آن فهرست وجود داشته باشد و پیکربندی از قبل allowFrom را تعریف نکرده باشد
  • logging.redactSensitive را از "off" به "tools" تنظیم می‌کند
  • مجوزهای فایل‌های وضعیت/پیکربندی و فایل‌های حساس رایج را سخت‌گیرانه‌تر می‌کند (credentials/*.json، auth-profiles.json، sessions.json، نشست *.jsonl)
  • همچنین فایل‌های include پیکربندی ارجاع‌شده از openclaw.json را سخت‌گیرانه‌تر می‌کند
  • روی میزبان‌های POSIX از chmod و روی Windows از بازنشانی‌های icacls استفاده می‌کند

--fix این کارها را انجام نمی‌دهد:

  • چرخش توکن‌ها/گذرواژه‌ها/کلیدهای API
  • غیرفعال کردن ابزارها (gateway، cron، exec و غیره)
  • تغییر انتخاب‌های اتصال/احراز هویت/قرارگیری در معرض شبکه Gateway
  • حذف یا بازنویسی plugins/skills

مرتبط