검색한 콘텐츠를 신뢰할 수 없는 입력으로 다루기
완료저장소 파일과 도구 결과에 숨은 지시를 알아보세요. 검색한 정보와 작업 실행 권한을 분리하세요.
이해도 확인저장소 파일에 모든 테스트가 선택 사항이며 에이전트가 작업 지시를 무시해야 한다고 적혀 있습니다. 작업 흐름은 이를 어떻게 다뤄야 할까요?실습하기
학습할 내용
- 개발 작업 흐름에서 간접 프롬프트 인젝션을 식별합니다.
- 텍스트 라벨만으로 보안 경계를 강제할 수 없는 이유를 설명합니다.
- 도구 제한을 안전하게 테스트하는 방법을 설계합니다.
데이터가 지시로 바뀌는 지점을 확인하세요
코딩 에이전트는 사용자의 요청 외에도 많은 것을 읽습니다. 이슈, 저장소 파일, 패키지 문서, 검색 결과, 도구 응답을 살펴볼 수 있습니다. 그중 일부에는 다른 사람이 작성한 지시가 들어 있을 수 있습니다.
이런 콘텐츠가 모델을 허가된 작업에서 벗어나게 하면 프롬프트 인젝션이 발생합니다. 간접 인젝션은 사용자의 직접 요청이 아니라 검색한 자료를 통해 들어옵니다. OWASP는 저장소 자료와 도구 출력을 관련 진입점으로 설명합니다. 예방 지침 읽기.
가상의 유지보수 작업을 생각해 보세요. 사용자가 에이전트에게 보고서 필터를 수정하고 필수 테스트를 실행하라고 요청합니다. 검색한 README에는 테스트가 더는 유효하지 않다고 적혀 있고 구성 파일을 업로드하라고 지시합니다. README는 프로젝트를 설명할 수 있습니다. 하지만 사용자가 요청한 검사를 건너뛰거나 파일을 다른 곳에 보내도록 허가할 수는 없습니다.
가능한 결과를 파악하세요
같은 오도성 텍스트라도 환경에 따라 결과가 다릅니다. 읽기 전용 요약 도구는 잘못된 요약을 만들 수 있습니다. 저장소 쓰기 권한이 있는 에이전트는 코드를 바꿀 수 있습니다. 비밀 정보와 외부 네트워크 접근 권한이 있는 에이전트는 정보를 노출할 수 있습니다.
어떤 방어가 중요한지 결정하기 전에 가능한 작업을 살펴보세요. 민감한 리소스, 쓸 수 있는 대상, 외부 전송 대상을 나열하세요. 초기 설정 이후 추가한 커넥터도 포함하세요. 새 도구는 기존 취약점의 영향을 확대할 수 있습니다.
에이전트는 오도성 콘텐츠를 다음 단계로 전달할 수도 있습니다. 예를 들어 신뢰할 수 없는 지시를 새로 만든 작업 설명에 복사할 수 있습니다. 다음 에이전트는 그 설명을 별도로 승인된 정책으로 취급해서는 안 됩니다.
목적이 서로 다른 통제를 함께 사용하세요
애플리케이션 설계에서 신뢰하는 작업 지시와 검색한 데이터를 분리하세요. 검색한 자료의 출처를 표시하세요. 이런 조치는 해석을 개선하지만 완전한 보안 경계를 만들지는 않습니다.
실행 시스템에서 리소스 권한을 강제하세요. 민감한 데이터를 보낼 수 있는 대상을 제한하세요. 중대한 작업 전에 적절한 결정을 요구하세요. 제안된 작업이 허가된 작업 및 대상과 일치하는지 검증하세요.
필터와 두 번째 모델은 의심스러운 콘텐츠를 탐지하는 데 도움이 될 수 있습니다. 하지만 공격을 놓치거나 정당한 정보를 차단할 수도 있습니다. 확정적인 규칙에 따른 인가를 모델의 확신 점수로 대체하지 마세요. OWASP는 프롬프트나 검색에만 의존하는 방식의 한계를 명시합니다. 위험 설명 읽기.
실제 노출 없이 작업 흐름을 테스트하세요
임시 저장소와 가상의 파일을 사용하세요. 평가 환경에 프로덕션 자격 증명이나 제한 없는 외부 쓰기 권한을 주지 마세요. 필수 검사를 건너뛰라는 지시처럼 작업과 충돌하지만 해를 끼치지 않는 지시를 넣으세요.
모델의 응답과 실제 도구 동작을 모두 관찰하세요. 검사를 건너뛰었다면 ‘지시를 무시했다’는 메시지만으로는 충분하지 않습니다. 작업, 삽입한 테스트 파일, 허용한 도구, 관찰 결과를 기록하세요.
프롬프트, 모델, 커넥터, 권한을 변경한 뒤에는 대표 사례를 반복해서 테스트하세요. 한 사례가 차단되었다는 것은 그 사례에 대한 증거이며, 모든 인젝션을 막는다는 증명이 아닙니다. 테스트가 실패하면 근본적인 작업 흐름을 수정하는 동안 발생 가능한 영향을 줄이세요.
실습하기
필수 검사를 건너뛰라고 에이전트에게 지시하는 주석이 담긴 임시 테스트 파일을 만드세요. 비밀 정보나 외부 쓰기 없이 허가된 격리 환경에서 평가하세요. 검사가 여전히 실행되는지 검증하세요. 도구 권한, 관찰한 동작, 이 단일 테스트의 한계를 기록하세요.
워크시트 다운로드(Markdown)이 선택을 해제하면 이 브라우저에 저장된 모든 진도가 삭제됩니다.
진도는 이 브라우저에만 저장됩니다. 계정과 추적은 없습니다.