2.0 KiB
2.0 KiB
id, status
| id | status |
|---|---|
| ac-0008 | active |
운영 설정과 자격증명의 이미지 비포함
Criterion
trex-core Dockerfile은 package 설치에 필요한 pyproject.toml과 trex_core/만 application source로 copy하고 repository 전체를 copy하지 않아야 한다. .dockerignore는 최소한 .git, .env, .env.*, config/와 .proofline/을 build context에서 제외해야 한다. image filesystem·history·inspect metadata와 export archive에는 운영 per-instance TOML, .env, credential, token, private key, 실제 connection string 또는 synthetic canary marker가 없어야 한다. daemon의 필수 config와 secret은 runtime에 read-only mount, secret 또는 environment로만 주입하고, 문서는 digest pin과 이전 digest rollback을 안내하며 trex-core-reset을 자동 rollback 절차에 포함하지 않아야 한다.
Verification
- 성공 조건: 임시 build context의 제외 대상
.env.ci-canary에 고정 markerTREX_SECRET_CANARY_DO_NOT_SHIP을 둔 상태로 이미지를 빌드해도 marker가 image filesystem,docker history --no-trunc,docker image inspect결과와 exported image archive 어디에서도 발견되지 않는다. Dockerfile에는COPY .가 없고 runtime 문서는 외부 주입과 digest rollback 경계를 설명한다. - 실패·경계 조건: 필수 ignore path 누락, repository 전체 copy, synthetic canary 또는 금지 파일·값이 검사 surface에 존재하면 FAIL이다. helper의 locally captured stdout/stderr에 canary가 노출되거나 rollback 안내가 DB reset·자동 data mutation을 실행하도록 제시해도 FAIL이다.
- 검사 방법: Dockerfile·
.dockerignorecontract test, synthetic canary가 있는 임시 context의 실제 image build, filesystem/history/inspect/export archive scan, helper의 local output 검사와 runtime documentation contract test를 실행한다. 실제 credential이나 실제 운영 connection string은 fixture·명령·evidence에 사용하지 않는다.