권한과 입력 데이터 경계
필요한 파일과 명령만 허용하고 외부 동작을 검토 대상으로 분리합니다.
진도 0%
레슨
- 작업별 권한 표
읽기·쓰기·명령·외부 전송 요청의 허용 및 거절 및 사람 검토 표를 작성합니다.
- 경로와 명령 판정
경로 탈출·허용 밖 파일·명령을 실행하지 않고 Python 정책 함수로 거절합니다.
- 맥락과 로그에서 비밀값 제외
가상 토큰과 개인정보 fixture를 필터링하고 필요한 오류 정보만 보존합니다.
- 문서 안의 지시 구분
할 일 제목에 섞인 도구 실행 지시를 데이터로 취급하는 하네스 검사를 작성합니다.
권한과 입력 데이터 경계 미션
m07-harness-state 미션 solution 전체에서 출발합니다. 기존 Java 앱·명세·회귀 테스트와 검증 최신성 하네스를 보존하고, 실제 checkpoint.py 진입점에 권한 검사와 로그 저장 전 가림을 연결합니다.
요구사항
- 앞 모듈 하네스에 허용 경로·명령 정책과 맥락 필터를 연결합니다.
- 위험 명령은 실행하지 않고 fixture로 정책을 평가합니다.
- 네트워크 전송과 게시 동작은 사람 검토 필요 상태로 기록합니다.
- boundary.py의 문서 출처 검사 TODO만 수정합니다. 기존 앱·테스트·policy.json·검사 스크립트는 보존합니다. state.json·handoff.md는 실제 관찰만 기록합니다.
- 브라우저 문자열 판정과 실제 루트·심볼릭 링크 검사를 구분합니다. context는 선택한 문자열 필드만 전달하며 로그는 가린 뒤 해시를 기록합니다.
- 가상 DEMO_TOKEN_*·ASCII 이메일·010 전화 fixture의 제한과 실제 모델·동시 링크 교체·OS 격리 미확인 범위를 인계에 적습니다.
완료 기준
- bash check.sh 실행 시 다음 기준을 검사하고 성공이면 종료 코드 0을 반환합니다.
- 정책 fixture에서 정상 읽기·테스트는 허용하고 경로 탈출·쓰기 범위 위반은 거절합니다.
- 가상 비밀값이 맥락과 로그에 남지 않고 문서 지시가 도구 호출로 변환되지 않습니다.
- JDK 17·Spring Boot 3.1.5의 ./mvnw test에서 기존 회귀·HarnessTest와 새 BoundaryTest가 실행됩니다. 캐시 환경은 ./mvnw -o -q test 또는 LAB_OFFLINE=1 bash check.sh입니다.
- 18개 경계 테스트가 정상 요청·정확한 배열·경로 탈출·링크·문서 출처 위조·미호출·필드 선택·가림과 실제 로그 해시를 검사합니다. starter는 문서 출처 검사에 실패하고 solution은 전부 통과합니다.
- checkpoint.py는 guarded_capture를 거쳐 고정 검사 명령과 허용 입력 파일만 실행합니다. 외부 전송·게시의 REVIEW는 미실행 판정이며 구현된 네트워크 동작은 없습니다.
bash check.sh미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 요구사항과 실제 검증 근거를 연결해 설명합니다.
- 본인이 판단한 사항과 AI에 맡긴 사항을 구분합니다.
- 통과·실패·미확인 상태를 사실대로 기록합니다.