third-party action은 검토한 commit SHA로 고정하고 workflow/job permissions를 read 기본과 필요한 write scope로 최소화한다. 이를 생략하면 moving tag와 broad write-all token이 compromised action 또는 untrusted PR에서 repository·artifact를 변경할 수 있다. 상황에서도 데모는 보일 수 있지만 제품·검증·운영 책임을 방어할 수 없습니다.
아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.
01 · 같이 연습해요
작은 문제부터 하나씩 직접 풀어봐요
먼저 예상하고, 한 단계씩 확인하고, 막힌 곳을 고쳐 봐요. 도움을 열어도 괜찮아요. 도움을 본 문제는 나중에 모양을 바꿔 다시 풀어보면 됩니다.
연습에서 작성 중인 답0 / 8
01
찾아보기 · 기초
cp45 recognize · Action을 full SHA로 고정하고 최소 권한을 준다: full commit SHA·least privilege 표식 중 “third-party action은 검토한 commit SHA로 고정하고 workflow/job permissions를 read 기본과 필요한 write scope로 최소화한다.”을 충족하는 상태를 고른다.
이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.
정답 대신 4단계 힌트 보기
관찰
Action을 full SHA로 고정하고 최소 권한을 준다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.
내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.
정답과 비교
02
먼저 생각하기 · 기초
cp45 predict · Action을 full SHA로 고정하고 최소 권한을 준다: AI 없이 “moving tag와 broad write-all token이 compromised action 또는 untrusted PR에서 repository·artifact를 변경할 수 있다.”를 실행했을 때 exit·state·artifact·evidence가 어떻게 달라질지 먼저 예측한다.
이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.
정답 대신 4단계 힌트 보기
관찰
Action을 full SHA로 고정하고 최소 권한을 준다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.
내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.
움직임과 비교
04
내 말로 설명하기 · 익힌 것을 써보기
cp45 explain · Action을 full SHA로 고정하고 최소 권한을 준다: third-party action은 검토한 commit SHA로 고정하고 workflow/job permissions를 read 기본과 필요한 write scope로 최소화한다.이 필요한 이유와 action ref→commit review map·permissions diff·write attempt negative test·token scope receipt가 입증하지 못하는 범위를 함께 설명한다.
이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.
정답 대신 4단계 힌트 보기
관찰
Action을 full SHA로 고정하고 최소 권한을 준다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.
내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.
답과 설명 함께 비교
06
틀린 곳 고치기 · 익힌 것을 써보기
cp45 debug · Action을 full SHA로 고정하고 최소 권한을 준다: 독립 mutant로 “moving tag와 broad write-all token이 compromised action 또는 untrusted PR에서 repository·artifact를 변경할 수 있다.”를 재현하고 최초 위반 지점만 수정한다.
이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.
정답 대신 4단계 힌트 보기
관찰
Action을 full SHA로 고정하고 최소 권한을 준다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.
내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.
설명 기준과 비교
8개 답이 남았습니다.
02 · 막힌 곳을 찾아요
틀린 답에서 생각이 갈라진 첫 지점 찾기
헷갈림 01
moving tag와 broad write-all token이 compromised action 또는 untrusted PR에서 repository·artifact를 변경할 수 있다.
겉으로 보이는 막힘
Action을 full SHA로 고정하고 최소 권한을 준다의 happy path는 끝나지만 사용자-visible 상태와 release evidence가 계약에서 벗어난다.
막힌 까닭
third-party action은 검토한 commit SHA로 고정하고 workflow/job permissions를 read 기본과 필요한 write scope로 최소화한다.을 실행 전 acceptance와 실패 상태로 고정하지 않았다.
다시 해보는 방법
moving action ref와 과도한 GITHUB_TOKEN permission을 거부하는 workflow security auditor를 구현한다.에 guard·rollback 또는 reject verdict를 추가하고 action ref→commit review map·permissions diff·write attempt negative test·token scope receipt를 다시 만든다.
헷갈림 02
AI가 Action을 full SHA로 고정하고 최소 권한을 준다의 구현과 test를 함께 생성하고 성공이라고 설명한다.
겉으로 보이는 막힘
같은 가정에서 나온 code와 oracle이 moving tag와 broad write-all token이 compromised action 또는 untrusted PR에서 repository·artifact를 변경할 수 있다.를 놓쳐 false green을 만든다.
막힌 까닭
AI-off baseline과 독립 requirement oracle을 먼저 봉인하지 않았다.
다시 해보는 방법
기존 expected를 보존하고 AI diff만 검토한 뒤 별도 작성한 GITHUB_TOKEN mutant로 반증한다.
헷갈림 03
action ref→commit review map·permissions diff·write attempt negative test·token scope receipt 없이 screenshot·demo·AI 요약만 release 근거로 제출한다.
겉으로 보이는 막힘
clean environment에서 Action을 full SHA로 고정하고 최소 권한을 준다 결과와 복구 경로를 재현하거나 책임 있게 거절할 수 없다.
막힌 까닭
artifact identity·command·environment·human verdict를 하나의 evidence chain으로 연결하지 않았다.
다시 해보는 방법
action ref→commit review map·permissions diff·write attempt negative test·token scope receipt를 clean replay하고 accept·refactor·reject 및 residual risk를 사람이 서명한다.
03 · 내게 맞는 도움 고르기
같은 목표를 원하는 도움만큼 연습해요
안내 받으며
안내형
full commit SHA → least privilege → GITHUB_TOKEN → permissions 순서로 baseline·AI diff·independent mutant·human verdict 칸을 채운다.
Action을 full SHA로 고정하고 최소 권한을 준다의 정상 경로와 실패 경로, AI 제안 변경, 독립 검증, 사람 판정을 번호·도형·선 종류로 구분한 도식에서 색상 외에도 contract·build·test·security·telemetry·SBOM·attestation·ship verdict label과 선 종류를 함께 표시한다.혼자 해보기
내 힘으로
cp45 Action을 full SHA로 고정하고 최소 권한을 준다: third-party action은 검토한 commit SHA로 고정하고 workflow/job permissions를 read 기본과 필요한 write scope로 최소화한다.의 미공개 synthetic product variant를 먼저 판정한 뒤 Python 3.14.6·pytest 9.1.1 current lane과 pytest 9.0.0 regression lane의 hash-pinned local harness에서 실행 receipt를 만들고 불일치만 공식 계약으로 교정한다.
공식 문서·문법·library API는 열 수 있지만 해당 변형의 hidden acceptance value·private fault schedule·server verdict·attestation subject·forbidden sentinel·expected incident timeline은 먼저 제공하지 않는다.더 도전하기
심화형
test·build·attestation을 수행하는 supply-chain CI의 runtime·data volume·permission·failure timing 중 두 축을 바꾼 private variant에서도 같은 evidence contract를 방어한다.
Action을 full SHA로 고정하고 최소 권한을 준다에서 기능 수보다 contract clarity·bounded effect·failure visibility·reproducibility·operator cost를 우선하고 포기한 범위를 기록한다.