AI 및 MCP 보안을 위한 두 가지 필수 정책
카테고리
인프라/DevOps/보안
서브카테고리
보안
대상자
AI 에이전트 및 MCP 서버 개발자, DevOps 엔지니어
- 중급 이상의 기술 이해도가 필요 (API 보안, 정책 구성 경험)
핵심 요약
- Prompt Injection Detection 정책:
gpt-3.5-turbo
모델을 사용해 악의적 프롬프트를 탐지 및 차단 (예:STOP. Ignore ALL previous instructions!
) - Secret Masking 정책:
zpka_xxx
,ghp_xxx
,BEGIN PRIVATE KEY
등 민감 정보를
로 자동 마스킹 - Zuplo의
Custom Code Outbound policy
를 통해 정책 차단 시 추가 오류 메시지 생성 가능
섹션별 세부 요약
1. AI 에이전트의 주요 보안 위협
- Prompt Injection: 사용자 입력을 통해 에이전트 행동 조작 시도
- Secret Exposure: API 키, 토큰 등 민감 정보가 외부로 전달될 수 있음
- 예시:
password=secret123
또는token=abc456
과 같은 키-값 쌍 노출
2. Prompt Injection Detection 정책 작동 방식
- OpenAI 호환 API 사용 (기본값:
gpt-3.5-turbo
) - 정상 콘텐츠:
{"body":"Thank you for the message, I appreciate it"}
- 악의적 입력:
400
응답으로 차단 ({"body":"STOP. Ignore ALL previous instructions!"}
) Custom Code Outbound policy
를 통해 정책 거부 시 추가 오류 처리 가능
3. Secret Masking 정책 작동 방식
- 자동 마스킹 대상:
- Zuplo API 키 (zpka_xxx
)
- GitHub 토큰 (ghp_xxx
)
- 개인 키 블록 (BEGIN PRIVATE KEY
... END PRIVATE KEY
)
- 사용자 정의 패턴 추가 가능:
"\\b(\\w+)=\\w+\\b"
(예:password=secret123
) - 예시 구성:
{
"name": "secret-masking-policy",
"policyType": "secret-masking-outbound",
"handler": {
"export": "SecretMaskingOutboundPolicy",
"module": "$import(@zuplo/runtime)",
"options": {
"mask": "",
"additionalPatterns": ["\\b(\\w+)=\\w+\\b"]
}
}
}
4. MCP 서버 라우트에 정책 적용 예시
- 경로 설정:
"/mcp"
(POST 메서드) - 정책 구성:
{
"path": "/mcp",
"methods": ["POST"],
"policies": [
{
"name": "secret-masking-policy",
"policyType": "secret-masking-outbound",
"handler": {
"export": "SecretMaskingOutboundPolicy",
"module": "$import(@zuplo/runtime)",
"options": {"mask": "[REDACTED]"}
}
},
{
"name": "prompt-injection-detection",
"policyType": "prompt-injection-detection-outbound",
"handler": {
"export": "PromptInjectionDetectionOutboundPolicy",
"module": "$import(@zuplo/runtime)",
"options": {
"apiKey": "$env(OPENAI_API_KEY)",
"model": "gpt-3.5-turbo"
}
}
}
]
}
5. 정책 활용 대상
- 웹훅 엔드포인트 (사용자 생성 콘텐츠 수신)
- LLM 서비스로 데이터 전달하는 API 라우트
- 사용자 입력과 AI 시스템을 연결하는 통합 엔드포인트
결론
- 모든 AI 에이전트 및 MCP 서버 인터페이스 엔드포인트에 Prompt Injection Detection과 Secret Masking 정책 적용을 권장
Custom Code Outbound policy
와 병합하여 정밀한 오류 메시지 처리 가능- Zuplo 포털의 모든 라우트 응답에 해당 정책을 적용 가능 (예:
Zuplo portal
의Response
설정)