---
read_when:
    - می‌خواهید یک ممیزی امنیتی سریع روی پیکربندی/وضعیت اجرا کنید
    - می‌خواهید پیشنهادهای امن «اصلاح» را اعمال کنید (مجوزها، سخت‌گیرانه‌تر کردن پیش‌فرض‌ها)
summary: مرجع CLI برای `openclaw security` (ممیزی و رفع خطاهای رایج و پرخطر امنیتی)
title: امنیت
x-i18n:
    generated_at: "2026-07-16T15:49:04Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 613d1afa63e46a7dc3474d0b175cf2389703a86b00f861b4140d64e11c28ece5
    source_path: cli/security.md
    workflow: 16
---

# `openclaw security`

ابزارهای امنیتی: ممیزی به‌همراه اصلاحات ایمن اختیاری. مرتبط: [امنیت](/fa/gateway/security).

```bash
openclaw security audit
openclaw security audit --deep
openclaw security audit --deep --password <password>
openclaw security audit --deep --token <token>
openclaw security audit --auth password --password <password>
openclaw security audit --fix
openclaw security audit --json
```

## حالت‌های ممیزی

حالت عادی `security audit` در مسیر سردِ پیکربندی/سیستم فایل/فقط‌خواندنی باقی می‌ماند: گردآورنده‌های امنیتی زمان‌اجرای Plugin را شناسایی نمی‌کند، بنابراین ممیزی‌های معمول زمان‌اجرای همهٔ Pluginهای نصب‌شده را بارگذاری نمی‌کنند. `--deep` کاوش‌های زندهٔ best-effort در Gateway و گردآورنده‌های ممیزی امنیتی متعلق به Plugin را اضافه می‌کند (فراخوان‌های داخلی صریح نیز، اگر از قبل دامنهٔ زمان‌اجرای مناسبی داشته باشند، می‌توانند استفاده از آن گردآورنده‌ها را انتخاب کنند).

اگر احراز هویت گذرواژه‌ای Gateway فقط هنگام راه‌اندازی ارائه شده است، همان مقدار را با `--auth password --password <password>` وارد کنید تا ممیزی بتواند آن را در برابر `hooks.token` بررسی کند.

## مواردی که بررسی می‌شوند

**مدل اعتماد/پیام مستقیم**

- هنگامی هشدار می‌دهد که چند فرستندهٔ پیام مستقیم نشست اصلی را به‌اشتراک می‌گذارند و حالت امن پیام مستقیم را برای صندوق‌های ورودی مشترک توصیه می‌کند: `session.dmScope="per-channel-peer"` (یا `per-account-channel-peer` برای کانال‌های چندحسابی). این مقاوم‌سازی برای همکاری/صندوق ورودی مشترک است، نه جداسازی اپراتورهایی که متقابلاً به یکدیگر اعتماد ندارند؛ برای این منظور، مرزهای اعتماد را با Gatewayهای جداگانه (یا کاربران/میزبان‌های جداگانهٔ سیستم‌عامل) تفکیک کنید.
- هنگامی `security.trust_model.multi_user_heuristic` را صادر می‌کند که پیکربندی نشان‌دهندهٔ ورودی احتمالی کاربران مشترک باشد (برای مثال، سیاست باز پیام مستقیم/گروه، مقصدهای گروه پیکربندی‌شده، یا قواعد فرستنده با نویسهٔ عام) — مدل اعتماد پیش‌فرض OpenClaw دستیار شخصی (یک اپراتور) است، نه جداسازی خصمانهٔ چندمستأجری. برای راه‌اندازی‌های عمدی با کاربران مشترک: همهٔ نشست‌ها را در sandbox اجرا کنید، دسترسی سیستم فایل را به فضای کاری محدود نگه دارید و هویت‌ها یا اعتبارنامه‌های شخصی/خصوصی را از آن زمان‌اجرا دور نگه دارید.
- هنگامی هشدار می‌دهد که مدل‌های کوچک (با `<=300B` پارامتر) بدون sandbox و با فعال‌بودن ابزارهای وب/مرورگر استفاده شوند.

**Webhook/قلاب‌ها**

هنگام راه‌اندازی، یک هشدار امنیتی غیرکشنده ثبت می‌شود و ممیزی استفادهٔ مجدد `hooks.token` از مقادیر فعال احراز هویت با راز مشترک Gateway (`gateway.auth.token` / `OPENCLAW_GATEWAY_TOKEN`، `gateway.auth.password` / `OPENCLAW_GATEWAY_PASSWORD`) را علامت‌گذاری می‌کند. همچنین در موارد زیر هشدار می‌دهد:

- `hooks.token` کوتاه است
- `hooks.path="/"`
- `hooks.defaultSessionKey` تنظیم نشده است
- `hooks.allowedAgentIds` بدون محدودیت است
- نادیده‌گیری‌های `sessionKey` درخواست فعال هستند
- نادیده‌گیری‌ها بدون `hooks.allowedSessionKeyPrefixes` فعال هستند

برای چرخاندن `hooks.token` پایدار و مجدداً استفاده‌شده، `openclaw doctor --fix` را اجرا کنید و سپس فرستنده‌های قلاب خارجی را برای استفاده از توکن جدید به‌روزرسانی کنید.

**Sandbox/ابزارها**

- هنگامی هشدار می‌دهد که تنظیمات Docker مربوط به sandbox پیکربندی شده‌اند، اما حالت sandbox خاموش است.
- هنگامی هشدار می‌دهد که `gateway.nodes.denyCommands` از ورودی‌های ناشناخته یا الگوگونهٔ بی‌اثر استفاده کند (تطبیق فقط با نام دقیق فرمان Node انجام می‌شود، نه با فیلترکردن متن پوسته).
- هنگامی هشدار می‌دهد که `gateway.nodes.allowCommands` فرمان‌های خطرناک Node را صراحتاً فعال کند.
- هنگامی هشدار می‌دهد که `tools.profile="minimal"` سراسری توسط نمایه‌های ابزار عامل نادیده گرفته شود.
- هنگامی هشدار می‌دهد که ابزارهای نوشتن/ویرایش غیرفعال باشند، اما `exec` همچنان بدون مرز محدودکنندهٔ سیستم فایل sandbox در دسترس باشد.
- هنگامی هشدار می‌دهد که پیام‌های مستقیم یا گروه‌های باز، ابزارهای زمان‌اجرا/سیستم فایل را بدون محافظ‌های sandbox/فضای کاری در معرض دسترسی قرار دهند.
- هنگامی هشدار می‌دهد که ابزارهای Pluginهای نصب‌شده ممکن است تحت سیاست ابزار سهل‌گیرانه قابل‌دسترسی باشند.

**مرورگر sandbox**

- هنگامی هشدار می‌دهد که مرورگر sandbox از شبکهٔ Docker با `bridge` بدون `sandbox.browser.cdpSourceRange` استفاده کند.
- حالت‌های خطرناک شبکهٔ Docker در sandbox، از جمله پیوستن به فضای نام `host` و `container:*` را علامت‌گذاری می‌کند.
- هنگامی هشدار می‌دهد که کانتینرهای Docker موجود برای مرورگر sandbox برچسب‌های هش ازدست‌رفته/قدیمی داشته باشند (برای مثال، کانتینرهای پیش از مهاجرت که `openclaw.browserConfigEpoch` را ندارند) و `openclaw sandbox recreate --browser --all` را توصیه می‌کند.

**شبکه/کشف**

- `gateway.allowRealIpFallback=true` را علامت‌گذاری می‌کند (اگر پراکسی‌ها نادرست پیکربندی شده باشند، خطر جعل سرآیند وجود دارد).
- `discovery.mdns.mode="full"` را علامت‌گذاری می‌کند (نشت فراداده از طریق رکوردهای TXT مربوط به mDNS).
- هنگامی هشدار می‌دهد که `gateway.auth.mode="none"`، APIهای HTTP مربوط به Gateway را بدون راز مشترک قابل‌دسترسی باقی بگذارد (`/tools/invoke` به‌همراه هر نقطهٔ پایانی فعال `/v1/*`).

**Pluginها/کانال‌ها**

- هنگامی هشدار می‌دهد که سوابق نصب Plugin/قلاب مبتنی بر npm به نسخهٔ ثابتی مقید نباشند، فرادادهٔ یکپارچگی نداشته باشند یا با نسخه‌های بستهٔ نصب‌شدهٔ فعلی مغایرت داشته باشند.
- هنگامی هشدار می‌دهد که فهرست‌های مجاز کانال به‌جای شناسه‌های پایدار، به نام‌ها/ایمیل‌ها/برچسب‌های تغییرپذیر متکی باشند (دامنه‌های Discord، Slack، Google Chat، Microsoft Teams، Mattermost و IRC، در موارد مقتضی).

تنظیماتی با پیشوند `dangerous`/`dangerously` نادیده‌گیری‌های صریح اضطراری اپراتور هستند؛ فعال‌کردن یکی از آن‌ها به‌خودی‌خود گزارش یک آسیب‌پذیری امنیتی نیست. برای فهرست کامل پارامترهای خطرناک، بخش «خلاصهٔ پرچم‌های ناامن یا خطرناک» را در [امنیت](/fa/gateway/security) ببینید.

## رفتار SecretRef

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

## سرکوب‌ها

یافته‌های دائمی و عمدی را با `security.audit.suppressions` بپذیرید. هر سرکوب با یک `checkId` دقیق مطابقت دارد و می‌توان آن را با زیررشته‌های `titleIncludes` و/یا `detailIncludes` که به بزرگی و کوچکی حروف حساس نیستند، محدودتر کرد:

```json
{
  "security": {
    "audit": {
      "suppressions": [
        {
          "checkId": "plugins.tools_reachable_permissive_policy",
          "detailIncludes": "Enabled extension plugins: gbrain",
          "reason": "trusted local operator plugin"
        }
      ]
    }
  }
}
```

یافته‌های سرکوب‌شده از فهرست فعال `summary` و `findings` حذف می‌شوند. خروجی JSON آن‌ها را برای قابلیت ممیزی زیر `suppressedFindings` نگه می‌دارد. هنگامی که سرکوب‌ها پیکربندی شده باشند، خروجی فعال همچنین یک یافتهٔ اطلاعاتی سرکوب‌ناپذیر `security.audit.suppressions.active` را نگه می‌دارد تا خوانندگان بتوانند تشخیص دهند ممیزی فیلتر شده است. پرچم‌های خطرناک پیکربندی، هر پرچم در یک یافته، صادر می‌شوند؛ بنابراین پذیرش یک پرچم خطرناک، سایر پرچم‌های فعال دارای همان checkId مربوط به `config.insecure_or_dangerous_flags` را پنهان نمی‌کند.

از آنجا که سرکوب‌ها می‌توانند خطر دائمی را پنهان کنند، افزودن یا حذف آن‌ها از طریق فرمان‌های پوستهٔ اجراشده توسط عامل نیازمند تأیید اجرا است، مگر اینکه اجرا از قبل با `security="full"` و `ask="off"` برای خودکارسازی محلی مورداعتماد در حال انجام باشد.

## خروجی JSON

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

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

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

## مواردی که `--fix` تغییر می‌دهد

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

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

`--fix` موارد زیر را **انجام نمی‌دهد**:

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

## مرتبط

- [مرجع CLI](/fa/cli)
- [ممیزی امنیتی](/fa/gateway/security)
