# Least Privilege और Sandboxing — AI Agents और Tool Use

Source: https://www.geekswithgeeks.com/hi/ai-agents-mcp/safety-least-privilege

> Tools को सिर्फ़ उतना access दें जितना चाहिए और जोखिम भरे निष्पादन को अलग रखें।

## सिर्फ़ prompt नहीं, credentials का दायरा सीमित करें

Model से "कुछ मत हटाओ" कहना अनुरोध है। Tool को **ऐसा database user देना जो हटा न सके** गारंटी है। Read tools के लिए read-only credentials, file tools को workspace folder तक सीमित, network गंतव्यों की allow-list, और secrets को model के context से बाहर रखें। हर tool के पास सिर्फ़ वही हो जो उसे चाहिए।

## File tool के लिए path सीमा

`resolve()` `..` खोल देता है, इसलिए `../../etc/passwd` जैसा path बाहर नहीं निकल सकता। यह खाका यहाँ चलाया नहीं गया; symlinks समेत अपने सीमा-मामले ख़ुद परखें।

```python
from pathlib import Path
WORKSPACE = Path("/srv/agent-workspace").resolve()

def safe_path(user_path: str) -> Path:
    p = (WORKSPACE / user_path).resolve()
    if WORKSPACE not in p.parents and p != WORKSPACE:
        raise PermissionError("path is outside the workspace")
    return p
```

**Quiz:** हटाने के विरुद्ध असली गारंटी कौन-सी है?

- [ ] Prompt में "कभी न हटाओ" वाली पंक्ति
- [ ] Model से विनम्रता से कहना
- [x] Delete permission के बिना database user
- [ ] अच्छे की उम्मीद

*Answer:* Delete permission के बिना database user. Permissions system लागू करता है, model भटके तब भी।
