에이전트 도구 오용

Agent tool misuse

정상 도구라도 위험한 인자로 호출되면 실행 전에 정책으로 막습니다.

···
html
<div class="sd"><div class="sd-head"><strong>TOOL MISUSE</strong><span id="state">live check</span></div><div class="sd-stage"><div class="call mono" id="call">file.read one</div><div class="gate" id="gate">POLICY</div><div class="tile" id="effect">one file</div></div><div class="sd-foot"><span id="caption">checking boundary</span><span>tap to step</span></div></div>
css
.sd{box-sizing:border-box;width:min(94vw,700px);height:min(86vh,318px);padding:clamp(9px,2.3vmin,18px);border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--fg);display:flex;flex-direction:column;gap:clamp(6px,1.8vmin,12px);font:600 clamp(12px,2.6vmin,16px)/1.25 var(--font-sans, sans-serif)}.sd *{box-sizing:border-box}.sd-head,.sd-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:1.25em}.sd-head strong{color:var(--accent);letter-spacing:.06em}.sd-head span,.sd-foot{color:var(--muted)}.sd-foot{font-size:clamp(12px,2.4vmin,14px)}.sd-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:clamp(6px,2vmin,18px);overflow:hidden}.sd .mono{font-family:ui-monospace,monospace}.sd .tile{border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:clamp(5px,1.5vmin,10px);text-align:center}.sd .good{color:var(--accent);border-color:var(--accent)}.sd .bad{color:var(--accent-3);border-color:var(--accent-3)}.sd .arrow{color:var(--muted);font-size:clamp(15px,4vmin,28px)}.sd .active{background:color-mix(in srgb,var(--accent) 16%,var(--surface));border-color:var(--accent)}.sd .blocked{background:color-mix(in srgb,var(--accent-3) 13%,var(--surface));border-color:var(--accent-3)}.call{border:1px solid var(--line);border-radius:7px;padding:clamp(5px,1.5vmin,11px);max-width:39%;overflow-wrap:anywhere}.gate{border:2px solid var(--accent);border-radius:7px;padding:clamp(6px,2vmin,14px);color:var(--accent)}.gate.stop{border-color:var(--accent-3);color:var(--accent-3);background:color-mix(in srgb,var(--accent-3) 15%,var(--surface))}.sd-stage>.tile{max-width:26%}
js
let n=0;function advance(){n=1-n;document.getElementById('call').textContent=n?'file.delete all':'file.read one';document.getElementById('gate').classList.toggle('stop',!!n);document.getElementById('effect').textContent=n?'blocked':'one file';document.getElementById('effect').classList.toggle('blocked',!!n);document.getElementById('state').textContent=n?'argument denied':'argument allowed';document.getElementById('caption').textContent=n?'broad deletion stopped before execution':'read stays within scope'}advance();setInterval(advance,900);
document.querySelector('.sd').addEventListener('pointerdown',advance);

에이전트 도구 오용은 허용된 도구를 위험한 대상이나 인자로 호출하는 문제입니다. 도구 목록만 제한해도 삭제 대상, 전송 주소, 명령 인자를 놓치면 피해가 납니다.

데모는 같은 파일 도구에서 읽기 요청은 통과시키고 대량 삭제 인자는 게이트에서 멈춥니다. 도구 서버의 인가와 실행 전 정책 검사를 함께 두고, 민감 작업은 사람이 검토할 수 있게 해야 합니다.

언제 쓰나

에이전트가 파일, 네트워크, 배포, 메시지 전송 도구를 호출할 때 적용합니다.

페이지로 열기 ↗