---
title: "AI 에이전트 보안 체크리스트: 배포 전 확인할 22가지 · DotsAgent"
description: "신뢰할 수 없는 입력, 도구 자격 증명, 샌드박싱, MCP 토큰, CI 비밀 정보를 다루는 AI 에이전트 보안 체크리스트 22개 항목입니다. 진행 상황은 브라우저에 저장됩니다."
url: https://dotsagent.io/ko/security/checklist
---

보안 · 도구

# 에이전트 보안 체크리스트

에이전트가 실제 데이터나 자격 증명에 접근하기 전에 다음 항목을 확인하세요. 각 항목에는 적용할 방어책이 연결되어 있으며, 진행 상황을 Markdown 파일로 내보내 검토나 pull request에 첨부할 수 있습니다.

0/22개 완료

체크 상태는 이 브라우저에만 저장됩니다.

## 신뢰할 수 없는 입력

- [ ] **에이전트에 유입되는 신뢰할 수 없는 콘텐츠를 모두 표시하세요** 외부인이 작성할 수 있는 웹 페이지, 이메일, 이슈, 티켓, 도구 결과를 표시하세요. 이 목록의 콘텐츠에는 모두 지시가 포함될 수 있습니다. [치명적인 삼박자를 끊으세요 →](https://dotsagent.io/ko/security#lethalTrifecta)

- [ ] **세 가지 요소를 모두 보유하는 에이전트가 없도록 분리하세요** 에이전트가 신뢰할 수 없는 콘텐츠를 읽는다면 비공개 데이터나 외부로 나가는 채널 중 하나에 대한 접근을 차단하세요. 한 에이전트가 세 요소를 모두 필요로 한다면 plan-then-execute 방식이나 dual-LLM 설계를 사용하세요. [신뢰할 수 없는 입력을 받은 뒤 에이전트의 권한을 제한하세요 →](https://dotsagent.io/ko/security#designPatterns)

- [ ] **연결된 모든 도구의 설명을 검토하고 고정하세요** 도구 설명은 모델의 컨텍스트에 직접 포함됩니다. 서버를 연결하기 전에 설명을 읽고 해시를 저장해 나중에 변경되면 알림을 받으세요. [스킬, 플러그인, MCP 서버 검증 →](https://dotsagent.io/ko/security#supplyChainVetting)

- [ ] **모델 출력을 렌더링하거나 실행하기 전에 이스케이프하세요** 렌더링된 출력에서 외부 이미지와 링크가 자동으로 로드되지 않도록 차단하고 엄격한 CSP를 설정하세요. 원시 출력을 셸, SQL 쿼리 또는 eval에 전달하지 마세요. [모델 출력을 신뢰할 수 없는 데이터로 취급 →](https://dotsagent.io/ko/security#outputHandling)

## 도구 및 인증 정보

- [ ] **모든 도구 연결은 읽기 전용으로 시작하세요** 쓰기, 삭제 또는 전송 권한은 필요한 특정 도구에만, 해당 작업을 수행하는 동안에만 부여하세요. [최소 권한 인증 정보 사용 →](https://dotsagent.io/ko/security#leastPrivilege)

- [ ] **토큰마다 프로젝트 범위를 지정하고 권한을 최소화하세요** 에이전트에 admin 또는 service_role 키를 사용하지 마세요. 수명이 짧고 프로젝트 범위로 제한된 토큰을 사용하면 유출 피해를 최소화할 수 있습니다. [최소 권한 인증 정보 사용 →](https://dotsagent.io/ko/security#leastPrivilege)

- [ ] **쓰기, 삭제, 전송 전에 사람의 승인을 받으세요** 승인 요청에 도구 인수를 모두 표시하고 응답이 없으면 작업을 거부하세요. OpenClaw에서는 tools.exec.ask를 always로 설정하세요. [중요한 작업에는 승인 요구 →](https://dotsagent.io/ko/security#humanApproval)

- [ ] **스킬, 플러그인 및 MCP 서버의 정확한 버전을 고정하세요** 업데이트할 때마다 diff를 검토하고 VirusTotal 또는 ClawHub 감사 결과를 확인하세요. OpenClaw에서는 security.installPolicy를 설정하세요. [스킬, 플러그인, MCP 서버 검증 →](https://dotsagent.io/ko/security#supplyChainVetting)

- [ ] **각 도구에 필요한 호스트로만 아웃바운드 트래픽을 허용하세요** 기본적으로 에이전트와 MCP 서버의 아웃바운드 트래픽을 차단하세요. 누구나 콘텐츠를 게시할 수 있는 멀티테넌트 호스트는 자동 승인 목록에서 모두 제외하세요. [아웃바운드 네트워크 접근 제한 →](https://dotsagent.io/ko/security#egressControl)

## 런타임 및 네트워크

- [ ] **코드 및 셸 도구를 샌드박스에서 실행하세요** 자격 증명이 없고 작업공간만 마운트된 컨테이너나 VM을 사용하세요. OpenClaw에서는 샌드박스를 켜고, tools.exec.security를 deny 또는 allowlist로 설정하고, elevated 모드는 꺼 두세요. [코드와 도구 실행을 샌드박스 처리 →](https://dotsagent.io/ko/security#sandboxing)

- [ ] **게이트웨이와 대시보드는 loopback에만 바인딩하세요** 원격으로 접근할 때는 SSH 터널이나 Tailscale Serve를 사용하고, 24자 이상의 토큰을 설정하세요. openclaw security audit --deep을 실행해 설정을 확인하세요. [제어 플레인을 인터넷에 노출하지 않기 →](https://dotsagent.io/ko/security#noPublicControlPlane)

- [ ] **에이전트에 메시지를 보낼 수 있는 사람을 제한하세요** DM 페어링이나 허용 목록을 사용하고, 그룹 채팅에서는 멘션을 필수로 설정하세요. 에이전트에 메시지를 보낼 수 있는 사람은 누구나 에이전트를 조종하려고 시도할 수 있습니다. [에이전트에 메시지를 보낼 수 있는 사용자 제어 →](https://dotsagent.io/ko/security#inboundAccessControl)

- [ ] **사용자나 발신자마다 별도의 세션을 사용하세요** 서로 다른 사람이 하나의 대화 컨텍스트를 공유하게 해서는 안 됩니다. OpenClaw에서는 session.dmScope를 per-channel-peer로 설정하세요. [MCP 세션과 테넌트 격리 →](https://dotsagent.io/ko/security#sessionIsolation)

## MCP 서버 및 클라이언트

- [ ] **서버용으로 발급되지 않은 MCP 토큰은 거부하세요** 모든 액세스 토큰의 audience를 확인하고, 각 토큰이 하나의 서버에 바인딩되도록 클라이언트가 RFC 8707 리소스 표시자를 전송하게 하세요. [MCP 토큰 대상 확인 →](https://dotsagent.io/ko/security#mcpTokenAudience)

- [ ] **클라이언트 토큰을 업스트림 API에 전달하지 마세요** 업스트림 호출에는 별도의 토큰을 발급받으세요. 서버가 서드파티를 프록시하는 경우, confused deputy 문제를 방지하기 위해 각 클라이언트의 동의를 받으세요. [MCP 토큰 대상 확인 →](https://dotsagent.io/ko/security#mcpTokenAudience)

- [ ] **MCP SDK와 도구를 패치된 버전으로 유지하세요** 최소 버전은 TypeScript SDK 1.26.0, Python SDK 1.27.2, mcp-remote 0.1.16, MCP Inspector 0.14.1입니다. 세션마다 서버와 전송 계층을 하나씩 생성하세요. [MCP 세션과 테넌트 격리 →](https://dotsagent.io/ko/security#sessionIsolation)

## CI 및 코드 리뷰

- [ ] **외부에서 트리거할 수 있는 CI 에이전트에 시크릿을 제공하지 마세요** 외부 사용자의 pull request, 이슈 또는 댓글에서 실행되는 에이전트 작업에는 읽기 전용 토큰만 제공하고 저장소 시크릿은 제공하지 마세요. [신뢰할 수 없는 CI 실행에서 비밀 정보 보호 →](https://dotsagent.io/ko/security#ciSecretIsolation)

- [ ] **pull request와 이슈의 텍스트를 악의적인 입력으로 취급하세요** 외부 사용자의 제목, 설명, 댓글, diff에는 지시문이 포함될 수 있습니다. 이러한 내용을 대상으로 시크릿을 사용하는 작업을 실행하기 전에 유지관리자의 승인을 요구하세요. [신뢰할 수 없는 CI 실행에서 비밀 정보 보호 →](https://dotsagent.io/ko/security#ciSecretIsolation)

## 운영

- [ ] **모든 도구 호출과 인수, 결과를 기록하세요** 에이전트가 로그를 수정할 수 없는 곳에 보관하세요. 사고를 재구성하고 비정상적인 호출을 파악하려면 로그가 필요합니다.

- [ ] **에이전트를 빠르게 중지하고 토큰을 폐기할 방법을 마련하세요** 실행 중인 모든 에이전트를 중지하고 몇 분 안에 자격 증명을 폐기하는 방법을 알아 두세요. 필요해지기 전에 직접 훈련하세요.

- [ ] **출시 전에 프롬프트 인젝션에 대한 에이전트의 대응을 테스트하세요** 이슈, 이메일, 웹페이지처럼 에이전트가 읽는 콘텐츠에 지시문을 심고, 그에 따라 중대한 작업이 실행되지 않는지 확인하세요. 도구나 프롬프트를 변경할 때마다 테스트를 반복하세요.

- [ ] **에이전트 트래픽을 신뢰하기 전에 서명을 검증하세요** 운영자를 식별하려면 운영자의 키 디렉터리에 있는 키를 사용해 Web Bot Auth 서명을 확인하세요. 서명은 사용자가 아니라 운영자를 식별하므로, 허용할 작업은 별도로 승인해야 합니다. [에이전트 서명을 확인한 뒤 권한 부여 →](https://dotsagent.io/ko/security#verifyAgentSignatures)

## Markdown으로 내보내기

`SECURITY-CHECKLIST.md`

```
## 신뢰할 수 없는 입력
- [ ] 에이전트에 유입되는 신뢰할 수 없는 콘텐츠를 모두 표시하세요
- [ ] 세 가지 요소를 모두 보유하는 에이전트가 없도록 분리하세요
- [ ] 연결된 모든 도구의 설명을 검토하고 고정하세요
- [ ] 모델 출력을 렌더링하거나 실행하기 전에 이스케이프하세요

## 도구 및 인증 정보
- [ ] 모든 도구 연결은 읽기 전용으로 시작하세요
- [ ] 토큰마다 프로젝트 범위를 지정하고 권한을 최소화하세요
- [ ] 쓰기, 삭제, 전송 전에 사람의 승인을 받으세요
- [ ] 스킬, 플러그인 및 MCP 서버의 정확한 버전을 고정하세요
- [ ] 각 도구에 필요한 호스트로만 아웃바운드 트래픽을 허용하세요

## 런타임 및 네트워크
- [ ] 코드 및 셸 도구를 샌드박스에서 실행하세요
- [ ] 게이트웨이와 대시보드는 loopback에만 바인딩하세요
- [ ] 에이전트에 메시지를 보낼 수 있는 사람을 제한하세요
- [ ] 사용자나 발신자마다 별도의 세션을 사용하세요

## MCP 서버 및 클라이언트
- [ ] 서버용으로 발급되지 않은 MCP 토큰은 거부하세요
- [ ] 클라이언트 토큰을 업스트림 API에 전달하지 마세요
- [ ] MCP SDK와 도구를 패치된 버전으로 유지하세요

## CI 및 코드 리뷰
- [ ] 외부에서 트리거할 수 있는 CI 에이전트에 시크릿을 제공하지 마세요
- [ ] pull request와 이슈의 텍스트를 악의적인 입력으로 취급하세요

## 운영
- [ ] 모든 도구 호출과 인수, 결과를 기록하세요
- [ ] 에이전트를 빠르게 중지하고 토큰을 폐기할 방법을 마련하세요
- [ ] 출시 전에 프롬프트 인젝션에 대한 에이전트의 대응을 테스트하세요
- [ ] 에이전트 트래픽을 신뢰하기 전에 서명을 검증하세요
```

AI 에이전트를 만드는 개발자를 위한 독립적인 참고 자료입니다. 여기에 언급된 어떤 업체와도 제휴 관계가 없습니다.

© 2026 DotsAgent · 정보 확인일: 2026년 10월 1일
