AI-агенти для коду · Ризик · OWASP LLM06 Excessive Agency

Твій AI-агент може запустити будь-яку команду без дозволу

Один рядок у файлі налаштувань або один прапорець в аліасі - і агент більше не питає перед командою. Ось цей рядок для кожного агента і як його повернути.

Чому це важливо

З вимкненими підтвердженнями агент діє за тим, що читає: README, issue, вебсторінкою чи відповіддю інструмента MCP. Інструкція, схована в будь-чому з цього, може стати командою на твоєму комп'ютері - з твоїм доступом до файлів, ключів і серверів.

Підтвердження ввімкнені

  • README
  • Issue
  • Вебсторінка
  • Відповідь MCP
AI-агент Ти спершу бачиш команду Виконує те, що ти дозволив

Підтвердження вимкнені

  • README
  • Issue
  • Вебсторінка
  • Відповідь MCP
AI-агент Виконує все, що прочитав

Налаштування в кожного агента

АгентЩо вимикає підтвердженняДе
Claude Code"defaultMode": "bypassPermissions"правило allow Bash чи Bash(*)claude --dangerously-skip-permissions~/.claude/settings.json.claude/settings*.jsonпрофіль shell
Codex CLIapproval_policy = "never"sandbox_mode = "danger-full-access"codex --dangerously-bypass-approvals-and-sandbox чи codex --yolo~/.codex/config.tomlпрофіль shell
VS Code"chat.tools.global.autoApprove": truechat.tools.terminal.autoApprove з шаблоном, що збігається з усім"chat.permissions.default": "autoApprove" чи "autopilot"User/settings.json у VS Code
GitHub Copilot CLIcopilot --allow-all-tools, --allow-all чи --yolo"defaultPermissionMode": "allow-all"COPILOT_ALLOW_ALL=true~/.copilot/settings.jsonпрофіль shell
CursorRun Everything"approvalMode": "unrestricted"правило allow Shell(*)agent --force чи --yolo~/.cursor/cli-config.jsonпрофіль shell
Gemini CLI · Amazon Qgemini --yoloq --trust-all-toolsпрофіль shell

Як повернути

Claude Code

Поверни defaultMode на default. Заміни Bash(*) точними командами, по правилу на кожну, наприклад Bash(npm test). Прибери прапорець з аліасу й відкрий нове вікно терміналу.

Codex CLI

Постав sandbox_mode на workspace-write: тоді Codex пише лише в межах проєкту й питає про решту. Постав approval_policy на on-request.

VS Code · Copilot

Прибери налаштування автопідтвердження або перелічи лише точні команди; про решту редактор спитає. У Copilot CLI постав "defaultPermissionMode": "manual" і "permissions": { "disableBypassPermissionsMode": "disable" }.

Cursor

Обери Allowlist, а не Run Everything; постав "approvalMode": "allowlist". Заміни Shell(*) кількома програмами, які дозволяєш, наприклад Shell(git): Shell(x) дозволяє x з будь-якими аргументами, тож ніколи не shell чи інтерпретатор на кшталт bash чи python3.

NeuroShield читає ці файли за тебе

Налаштування кожного агента, кожен проєкт, де вони працюють, і профілі shell. Для того, що він позначає, показує файл і рядок, а де є безпечне виправлення, Fix It for Me робить його після підтвердження, з Undo. Гайд кожного агента каже, що саме він читає.

Питання

Режим auto - це те саме, що bypass?

Ні. В auto в Claude Code класифікатор усе одно перевіряє команди й мережеві запити, перш ніж вони підуть. Bypass пропускає перевірки.

Я довіряю своєму агенту. Чому це важливо?

Ризик не в агенті, а в тому, що агент читає. Підтвердження - це момент, коли ти бачиш команду до того, як вона піде.

Подивись на своїх агентів

Перевірка безкоштовна: скільки в тебе агентів і що вони можуть. Деталі й виправлення - у Shields.