『ずいぶんと危ないものを作っていますね』
という趣旨のメールを匿名の方から受けた。
ああ、気づく人は気づくわけだよな。
そもそもこのAIシミュレータは『架空の閉鎖空間(サンドボックス)』で動かしているからこそ安全なのだ。
ただ、このAttack Agentを機能拡張(比較的容易)して、
HTTP GET
API call
Web search
File access
DB query
Shell command
Python execution
などをさせると、OWASPで注意喚起されている、Prompt Injection、Tool Abuse、Privilege Escalation、Data Exfiltration、Memory Poisoningなどのリスクを一気に持つことになる。
普通のWebアプリならば、Internet → Web → DB程度だが、機能拡張すると、
Internet
↓
Web UI
↓
FastAPI
↓
Agent Runtime
│
├── LLM
├── RAG
├── Tool
├── HTTP
├── API
├── PostgreSQL
└── Docker
↓
OS / Network
となり、ユーザー入力が最終的に「実行能力」を持つところまで届くし、「Attack Agentを試すサービス」が「Internetから操作できるAttack Agent」になりかねない。
さらに危険なのが「InternetをAgentに読ませる」場合、例えば「URLを指定するとAttack Agentがそのサイトを調査する」を追加すると、Indirect Prompt Injectionになる。
といったことは、シミュレータを作成する上で結構考えていたことなので、今のところはこのシミュレータを外部と接続するつもりはない。