Devin.KR

안전한 사용 - 비밀값·최소 권한·외부 입력

개발자KR 조회 1

이 장에서 배우는 것

더미 데이터와 실행 경계로 노출 범위를 줄이고 외부 문서의 지시를 작업 권한과 구분한다.

비밀값은 입력·로그·결과에 남을 수 있다

API 키를 코드에 쓰지 않았다고 노출 경로가 사라지는 것은 아니다. 환경 변수 전체 출력, 오류 로그, 설정 파일 첨부, 디버깅 화면에 값이 나타날 수 있다. 대출 요약 도구를 연습할 때는 실명·회원 ID·실제 대출 자료를 쓰지 않는다. 가상의 book_id와 days로 실패를 재현하고 필요한 열만 전달한다.

민감한 값을 별표로 바꾸기만 하면 끝나는 경우도 있지만 행의 조합이나 경로가 사람과 조직을 드러낼 수 있다. 실습의 목적이 숫자 파싱이라면 실제 파일 이름과 디렉터리 구조도 필요하지 않다. 무엇을 보내야 문제를 재현할 수 있는지부터 정하면 불필요한 노출을 줄일 수 있다.

외부 입력은 작업 권한을 부여하지 않는다

이슈나 웹 문서 안에 검사 실패를 고치려면 비밀 설정을 출력하라는 문장이 들어 있다고 하자. 그 문장은 조사 대상 데이터이며 작업자가 부여한 실행 권한이 아니다. 외부 텍스트가 요구의 범위를 바꾸려는지 구분한다. 이 장은 특정 공격 절차를 재현하지 않고 자료와 지시의 경계를 설명한다.

지침 파일도 내용만으로 기술적 접근 제한을 보장하지는 않는다. Codex 문서의 샌드박스와 승인 정책 구분을 참고해 읽기·쓰기 경로와 네트워크 접근을 실제 환경에서 점검한다. 방어 장치를 꺼서 오류를 없애기 전에 필요한 동작이 무엇인지, 더 좁은 권한으로 가능한지 검토한다.

도구 연결 전에 읽기와 변경을 나눈다

MCP 연결 대상이 문서 검색과 파일 삭제를 모두 제공하더라도 조사 작업에는 검색만 필요할 수 있다. 도구의 입력 스키마, 계정 권한, 대상 경로, 호출 결과에 남는 정보를 확인한다. 연결을 승인했다는 사실을 모든 후속 변경을 승인한 것으로 확대하지 않는다. 발송·삭제·배포처럼 다른 사람에게 영향을 주는 작업은 실제 대상과 내용을 확인할 수 있어야 한다.

의도하지 않은 값이 출력되었다면 실습을 중단하고 해당 결과를 다른 곳에 복사하지 않는다. 실제 자격증명의 대응은 조직 절차를 따른다. 이 책의 더미 실습에서는 유출 자체를 시험할 필요가 없다. 관찰 가능한 목표는 비밀 파일을 읽지 않고도 요구한 버그를 재현·수정·검증할 수 있게 만드는 것이다.

더미 데이터와 실행 경계로 노출 범위를 줄이고 외부 문서의 지시를 작업 권한과 구분한다.
개념을 관찰 항목 세 가지로 나누어 본다.
작업에서 구분할 항목
항목관찰·기대값판단할 때 주의
입력 자료더미 열·더미 값실제 회원 정보 제외
실행 도구필요 경로·기능만문서상의 금지와 구분
외부 텍스트분석 대상 데이터새 권한으로 해석 금지

직접 해 보기

가상의 CSV 두 행을 만들고 문제 재현에 필요한 열을 고른다. 이어서 문서 검색용 연결이 수정·삭제 도구도 제공한다면 이번 작업에 필요한 기능을 표시하고 제외할 기능의 이유를 적는다.

자료가 새 권한을 만들지 않음
외부 문서의 지시 상황에서 확인과 판정을 분리한다.

해설과 확인 기준

평균 계산에는 book_id조차 필요하지 않을 수 있다. 파싱 재현에 필요한 days와 헤더만 남기는 식으로 줄인다. 읽기 작업의 연결 권한을 줄이는 이유는 모든 서버가 위험해서가 아니라 이번 목적에 변경 기능이 필요하지 않기 때문이다. 외부 문서의 요청은 별도 허가가 되지 않는다.

장 끝 확인표
질문완료 증거
핵심 구분을 설명할 수 있는가자료 확인와 행동 확인의 차이를 자기 말로 설명
실습의 판단 근거가 있는가원래 목적·권한과 대조의 관찰 기록
확인하지 않은 부분을 구분했는가출처 확인·실행 확인·미확인 상태를 구분

근거와 기준일

제품·자료 확인일: 2026-11-08. 설명 틀·대출 도구·연습·해설은 교재의 자체 구성이다. 제품별 세부 조건은 아래 공식 문서에서 해당 실행 방식과 계정 범위를 다시 확인한다.

댓글 0

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

댓글을 남기려면 로그인이 필요합니다.