1.1 KiB
1.1 KiB
id, status
| id | status |
|---|---|
| ac-0007 | active |
Locked Python 3.11 non-root image와 deny-by-default context
Criterion
Repository-root image build는 Python 3.11을 사용하고 repository-owned uv.lock에 고정된 runtime dependency를 --locked --no-dev --no-editable 경계로 설치해야 한다. 최종 image는 고정 non-root UID/GID로 실행되고 .dockerignore와 명시적 COPY allowlist가 source control metadata, local environment, credential, 운영 설정 및 불필요한 파일을 build context/layer에서 제외해야 한다.
Verification
- 성공 조건: hosted/local verification과 runtime image가 Python 3.11·동일 lock resolution을 사용하고 기본 user가 non-root이며 필요한 package/runtime 파일만 image에 존재한다.
- 실패·경계 조건: lock drift, broad
COPY ., root default user,.env·key·token·local DB·VCS/worktree metadata의 context 포함은 계약 실패다. - 검사 방법:
uv lock --check, Dockerfile/.dockerignorecontract tests, image inspect의 UID/GID 및 synthetic canary scan을 실행한다.