{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/start-an-agent-read-only-when-writing-is-not-required",
  "id": "MHC-D-RESEARCH-0309",
  "version": "0.1.0",
  "title": "Start an agent read-only when writing is not required",
  "summary": "Reading first gives you evidence. Writing first gives you evidence plus cleanup.",
  "kind": "principle",
  "body": "Grant the minimum downstream permissions needed for the current phase. If the job is discovery, keep it read-only. Add write, delete, publish or administrative rights only when a concrete step requires them, and scope those rights to the smallest relevant resource.",
  "limits": [
    "Read access can still expose sensitive information; scope what can be read as carefully as what can be changed."
  ],
  "topics": [
    "union-ai-agent-control"
  ],
  "intents": [],
  "source_ids": [
    "RS-EEEBBCF69A614717"
  ],
  "evidence": [
    {
      "claim": "OWASP recommends granting LLM extensions only the downstream permissions necessary for the intended task.",
      "source_id": "RS-EEEBBCF69A614717",
      "role": "supports",
      "note": "Read access can still expose sensitive data; least privilege includes data scope as well as write capability.",
      "locator": "Minimize extension permissions"
    }
  ],
  "use_when": [
    "An AI task begins with inspection, analysis or recommendation and may or may not need to change data later."
  ],
  "avoid_when": [
    "Read access can still expose sensitive information; scope what can be read as carefully as what can be changed."
  ],
  "example": "Let an agent inspect a GitHub repository and draft a change before giving it permission to update the branch.",
  "check": "No granted write permission exists without a named operation that needs it.",
  "sources": [
    {
      "id": "RS-EEEBBCF69A614717",
      "title": "LLM06:2025 Excessive Agency",
      "url": "https://genai.owasp.org/llmrisk/llm062025-excessive-agency/"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0309",
      "to": "MHC-D-RESEARCH-0310",
      "type": "useful_with",
      "url": "/knowledge/prefer-a-task-shaped-tool-to-an-open-ended-one"
    }
  ],
  "collections": [
    {
      "id": "RC-EEF5F4530C11FD17",
      "title": "Let AI do useful work without giving it accidental authority",
      "url": "/collections/let-ai-do-useful-work-without-giving-it-accidental-authority"
    }
  ]
}
