Pi Agent: Security & Project Trust
آخر تحديث: 2026-08-31
--- title: "الأمان وثقة المشروع" description: "افهم نموذج أمان Pi Agent، بما في ذلك التحكم في الصلاحيات وثقة المشروع وبيئة الأدوات المعزولة وأفضل ممارسات الأمان." order: 13 lang: ar
الوكيل يمكنه تنفيذ أوامر نيابة عنك — أو يسبب أضراراً. آليات الأمان هي "المكابح".
1. نظرة عامة على نموذج الأمان
أمان Pi Agent مبني على نموذج ثلاثي الطبقات:
TEXT
📖 للعرض فقط
نموذج الأمان ثلاثي الطبقات
├── الطبقة 1: ثقة المشروع — هل يمكن للوكيل الوصول إلى المشروع
├── الطبقة 2: صلاحيات الأدوات — أي أدوات مسموحة
└── الطبقة 3: بيئة العزل — حدود أمان تنفيذ الأدوات
2. ثقة المشروع
(1) مستويات الثقة
| المستوى | الوصف | العمليات المسموحة |
|---|---|---|
| untrusted | لا ثقة | محادثة فقط، لا وصول للملفات/الأوامر |
| readonly | قراءة فقط | قراءة ملفات المشروع، لا تعديلات |
| trusted | ثقة كاملة | قراءة/كتابة الملفات، تنفيذ الأوامر |
| restricted | مقيد | عمليات القائمة البيضاء المخصصة |
(2) تعيين مستوى الثقة
BASH
pi-agent trust set ./my-project --level trusted
pi-agent trust list
(3) موجه التفاعل الأول
عند استخدام Pi Agent في دليل مشروع جديد:
TEXT
📖 للعرض فقط
New project detected: /home/alice/my-project
Trust this project? [y/N]
trusted - Full access (read/write files, execute commands)
readonly - Read-only access
untrusted - No access
Select trust level:
(4) واجهة Python البرمجية
PYTHON
from pi_agent import Agent, TrustLevel
agent = Agent(
name="safe_agent",
project_path="./my-project",
trust_level=TrustLevel.READONLY
)
3. صلاحيات الأدوات
(1) مستويات الخطورة
| المستوى | أمثلة الأدوات | الحالة الافتراضية |
|---|---|---|
| آمن | calculator, search | تفعيل تلقائي |
| متوسط | file_reader | يتطلب تأكيداً |
| خطير | file_write, shell | يتطلب تفويضاً صريحاً |
(2) تكوين الصلاحيات
YAML
permissions:
tools:
safe: auto
medium: confirm
dangerous: deny
allow:
- calculator
- search
- file_reader
deny:
- shell
- file_write
confirm_dangerous: true
confirm_file_write: true
confirm_shell: true
(3) التأكيد في وقت التشغيل
TEXT
📖 للعرض فقط
you> Delete all temporary files
Agent wants to execute: rm -rf /tmp/project_*
Allow? [y/N/a(always)]
4. بيئة العزل
PYTHON
from pi_agent import Agent
agent = Agent(
name="sandboxed",
sandbox=True,
sandbox_dir="/tmp/pi_sandbox",
allowed_commands=["python", "pytest"],
max_execution_time=30
)
عزل نظام الملفات:
PYTHON
agent = Agent(
sandbox=True,
sandbox_dir="./workspace/sandbox",
allowed_paths=["./data/", "./output/"]
)
قيود الشبكة:
PYTHON
agent = Agent(
sandbox=True,
network_access=False,
allowed_domains=["api.github.com"]
)
5. أفضل ممارسات الأمان
- مفاتيح API في متغيرات البيئة، لا في ملفات التكوين
- أضف
.pi-agent.local.yamlإلى.gitignore - مبدأ الامتياز الأقل: امنح فقط الصلاحيات الضرورية
- فعّل سجل المراجعة
PYTHON
agent = Agent(
audit_log=True,
audit_file="./audit.log"
)
❓ أسئلة شائعة
س هل يمكن إلغاء الثقة؟
ج نعم.
pi-agent trust set ./project --level untrusted أو احذف الملف في ~/.pi-agent/trust/.س هل يمكن تعطيل أداة shell بالكامل؟
ج نعم. أضف
deny: [shell] في التكوين أو لا تضمّنها في قائمة الأدوات. هذا موصى به.س هل يؤثر العزل على الأداء؟
ج عزل نظام الملفات له تأثير ضئيل. قيود الشبكة قد تؤثر على الأدوات التي تحتاج اتصالاً بالإنترنت.
📖 ملخص
- أمان ثلاثي الطبقات: ثقة المشروع → صلاحيات الأدوات → بيئة العزل
- أربعة مستويات ثقة: untrusted، readonly، trusted، restricted
- الأدوات مصنفة حسب الخطورة: آمن (تلقائي)، متوسط (تأكيد)، خطير (رفض)
- بيئة العزل تعزل نظام الملفات وتقيّد الشبكة وتتحكم في وقت التنفيذ
- مفاتيح API عبر متغيرات البيئة، مبدأ الامتياز الأقل، فعّل سجلات المراجعة
📝 تمارين
- أساسي (الصعوبة: ⭐): عيّن ثقة readonly لمشروعك، لاحظ سلوك الوكيل في الوضع المقيد.
- متوسط (الصعوبة: ⭐⭐): أعد وكيلاً معزولاً يقرأ أدلة محددة فقط وينفذ أوامر Python فقط.
- متقدم (الصعوبة: ⭐⭐⭐): اكتب ملف سياسة أمان بمصفوفة صلاحيات كاملة، تحقق عبر سجلات المراجعة.