Khi nói về rủi ro AI agent, nhiều người tập trung vào câu hỏi:

Model này có thông minh không?

Câu hỏi đó quan trọng, nhưng chưa đủ. Một agent trung bình với quyền quá rộng vẫn nguy hiểm hơn một agent giỏi nhưng bị giới hạn tốt.

Rủi ro nằm ở blast radius: nếu agent sai, nó phá được bao xa?

Coding agent có quyền giống một dev junior cộng terminal

Một coding agent hiện đại có thể:

  • Đọc repo.
  • Sửa file.
  • Chạy tests.
  • Cài package.
  • Truy cập network.
  • Dùng browser.
  • Gọi API.
  • Đọc environment.
  • Deploy preview.
  • Tạo PR.
  • Kết nối MCP tools.

Đây là quyền rất lớn. Nếu agent bị prompt injection, hiểu sai task, hoặc tự tin quá mức, hậu quả không chỉ là code xấu. Nó có thể là secret exposure, data leak, destructive command, hoặc deploy nhầm.

Đừng dùng cùng một môi trường cho mọi mức rủi ro

Prototype toy app không giống production app.

Workflow nên tách:

  • Local sandbox cho exploration.
  • Branch riêng cho code changes.
  • Preview environment cho deploy thử.
  • Read-only credentials cho audit.
  • No production database trong agent session mặc định.
  • Manual approval cho command có write/network/credential.

Nếu agent cần production access, đó phải là exception có lý do, không phải default.

Permission prompt phải cụ thể

Prompt yếu:

Be careful.

Prompt tốt:

Do not access production systems.
Do not read secrets unless the task explicitly requires it.
Do not run destructive commands.
Ask before installing packages, changing database schema, calling external APIs, or deploying.
If a step fails, stop and report instead of retrying broadly.

Policy tốt là policy agent có thể thi hành. “Be careful” không thi hành được.

Kiểm blast radius trước khi chạy agent

Trước một task lớn, hỏi:

If this agent makes a wrong change, what can it affect?

Checklist:

  • Nó có quyền ghi file ngoài repo không?
  • Nó có quyền network không?
  • Nó có token cloud không?
  • Nó có database URL thật không?
  • Nó có thể deploy không?
  • Nó có thể xóa file không?
  • Nó có thể gọi MCP tool side-effect không?
  • Nó có branch/rollback point không?

Nếu câu trả lời là “không biết”, chưa nên chạy tự động dài.

Shadow agents là vấn đề inventory

Một số bài viết security gần đây cảnh báo self-running agents tạo rủi ro vì security team không biết chúng tồn tại. Agent có thể có tool endpoint, server, token, workspace, hoặc automation riêng.

Điểm này áp dụng cả ở scale nhỏ.

Founder, PM, designer hoặc marketer có thể tự tạo một agent workflow để build internal tool. Nó chạy được, nên mọi người dùng. Nhưng không ai biết nó giữ token ở đâu, đọc data gì, deploy lên đâu, và ai chịu trách nhiệm khi hỏng.

Vibe coding có kiểm soát cần inventory:

  • App này do ai own?
  • Agent/tool nào có quyền vào repo?
  • Token nào được dùng?
  • Data nào được upload?
  • Link nào public?
  • Deploy target nào?
  • Rollback ở đâu?

Không có inventory thì không có security.

Chốt lại

Agent không cần ác để gây hại. Nó chỉ cần được cấp quá nhiều quyền trong một task mơ hồ.

Vibe coding nên bắt đầu bằng ranh giới: repo nào, branch nào, data nào, command nào, network nào, deploy nào. Sau đó mới nói prompt.

Model thông minh giúp giảm lỗi. Blast radius nhỏ giúp lỗi không thành incident.

Tham khảo