AI 작업 인수 검사기
출처: 부모 성장기 시공 키트
AI와의 협업 방법.md §4 AI 작업을 인수하는 방법에서 프로젝트명을 분리하여 일반 방법론으로 만듦.
이게 뭔가요?
AI가 "다 했어"라고 말할 때마다 사용자는 어떻게 검증해야 할지 종종 모릅니다. 이 스킬은 검증을 네 가지 차원의 실행 가능한 체크리스트로 바꾸고, 가장 흔한 보안/일관성 위험을 자동으로 스캔하여 PASS / WARN / FAIL 보고서와 함께 보안 점수를 출력하는 스크립트를 제공합니다.
스크립트에는 --self-test 옵션이 있어, 취약점이 포함된 샘플 프로젝트를 생성하여 스크립트가 실제로 문제를 잡아낼 수 있음을 증명할 수 있습니다. 맹목적으로 믿을 필요가 없습니다.
언제 사용하나요?
- 사용자가 말할 때: "AI 작업을 검증해 줘" / "AI가 다 했다는데, 확인해 봐" / "AI 코드가 안전한지 검사해 줘"
- 사용자가 물을 때: "필드명과 인터페이스 경로가 계획과 일치하나요?" / "하드코딩된 키가 있나요?"
- 모든 코딩 작업 전달 후 품질 게이트
네 가지 차원 검증법 (핵심 워크플로우)
검증할 때마다 이 네 단계를 순서대로 따르세요. 한 단계라도 FAIL이면 AI에게 다시 작업을 요청해야 합니다:
① 기능이 올바른가?
- 요구사항 문서의 "완료 기준"을 하나씩 확인하여 통과했는지 검증
- 사용자 자신의 실제 데이터로 테스트하고, AI가 제공한 예시 데이터만 사용하지 마세요
- 경계 상황을 반드시 테스트: 빈 데이터, 초대형 데이터, 특수 문자
- 주요 페이지가 오류 없이 열리고, 주요 작업(저장/제출)에 결과 피드백이 있는지 확인
② 필드와 인터페이스명이 일관적인가?
- AI에게 직접 물어보세요: "사용한 필드명과 인터페이스 경로가 요구사항/계획 문서에 정의된 것과 동일합니까?"
- 일관성이 없으면 계획된 명명으로 되돌리도록 하세요. AI가 임의로 만든 명명은 허용되지 않습니다
- 계획 파일(예: 인터페이스 목록)이 제공되면 스크립트를 사용하여 코드에 실제 나타난 경로를 비교하세요
③ 코드가 안전한가?
- AI에게 핵심 코드를 보여주도록 하고, 하드코딩된 비밀번호 / API Key / Token이 없는지 확인하세요
.env가 코드 저장소에 커밋되었는지 확인하세요 (.gitignore에.env가 포함되어야 함)- 이해가 안 되면 AI에게 민감한 부분을 쉬운 말로 설명하도록 요청하세요
- 스크립트
acceptance.py를 사용하여 시크릿 모드 + gitignore 검사를 자동으로 수행하세요
④ 기존 기능을 망가뜨리지 않았는가?
- AI가 코드를 변경할 때마다 이전에 테스트한 기능을 다시 테스트하세요
- 이전에 잘 작동하던 기능이 갑자기 작동하지 않으면 즉시 AI에게 피드백하세요
스크립트 사용법
# 0) 먼저 스캐너가 제대로 작동하는지 확인 (처음 사용하기 전에 추천)
python acceptance.py --self-test
# 1) 코드 디렉터리 전체 스캔: 하드코딩된 키, .env 커밋 여부, 인터페이스 경로 비교
python acceptance.py \
--code <프로젝트 디렉터리> \
--spec <선택: 계획/인터페이스 목록 파일, 경로 비교용> \
--report <출력 md 경로>
# 2) git의 현재 변경사항만 스캔 ("AI가 방금 수정한" 상황에 더 적합)
python acceptance.py --code <프로젝트 디렉터리> --diff
# 3) 기계가 읽을 수 있는 결과 (CI / 다른 스크립트와 연동)
python acceptance.py --code <프로젝트 디렉터리> --json
스캔 범위: 하드코딩된 키 (API Key / Secret / Token / 비밀번호 / AWS / GitHub / Slack / JWT / WeChat appsecret / 개인키 블록 / 높은 엔트로피 문자열), .env 커밋 여부, 인터페이스 경로와 계획의 차이.
스크립트는 markdown 형식의 검증 보고서를 출력하며, 네 가지 차원 결론, 각 PASS/WARN/FAIL 항목, **보안 점수 (기계 항목 0-100)**를 포함합니다.
출력물
- 네 가지 차원 검증 체크리스트 (체크 가능)
검증_보고서.md: 자동 스캔 결과 + 수동 확인 할 일 + 최종 판정 (출시 가능 / 재작업 필요) + 보안 점수
주의사항
- 스크립트는 "기계로 스캔 가능한 것" (평문 키, .env 커밋, 경로 차이)만 확인합니다. 기능 정확성, 기존 기능 망가짐 여부는 여전히 수동 또는 실제 데이터 테스트가 필요하며, 스크립트가 이를 대체하지 않습니다.
.env의 실제 값을 AI에게 제공하지 마세요. 스크립트는 "코드에 존재하는지"만 확인하고.env내용은 읽지 않습니다.- 이 스킬은 "게이트"이지 "테스트 대체물"이 아닙니다. 사용자가 올바른 질문을 하고 위험을 확인하도록 도울 뿐, 최종 판단권은 사용자에게 있습니다.