con un clic
audit-harness
AI 하네스(체크체인·가드레일·훅 커버리지·OWASP Agentic)를 감사한다. 하네스 역량 점검을 요청할 때 사용한다.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
AI 하네스(체크체인·가드레일·훅 커버리지·OWASP Agentic)를 감사한다. 하네스 역량 점검을 요청할 때 사용한다.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Multi-worker 검수 스킬 (Codex + Gemini Double / Opus + Codex + Gemini Triple). 단일 Codex 검수 대비 100% 보완 카테고리 커버. 트리거: /cr-multi, /cr-double, /cr-triple, plan/spec 저장 후 자동(CR_MULTI_AUTO=on), plateau 3회 자동 승격.
Forge 하네스 읽기전용 레거시 감사: 낡은룰/중복/과대 전역컨텍스트/넓은 Skill/불필요 Hook·MCP/제품중복 분류. 트리거: /harness-legacy-scan
YouTube 영상을 트랜스크립트·댓글·설명란까지 수집해 비판적 분석·팩트체크·시스템 개선 제안을 생성한다. 사용자가 YouTube URL을 보내거나 영상 분석을 요청할 때 사용한다.
REST API 엔드포인트 HTTP 레벨 E2E 자동 테스트. Spec 또는 OpenAPI(Swagger) YAML/JSON을 읽어 엔드포인트별 테스트 케이스(happy path/인증 실패/잘못된 입력/경계값)를 자동 생성하고 curl로 실행한다. 응답 스키마를 OpenAPI 스펙과 대조해 드리프트를 감지한다. /qa 스킬이 서버/API 프로젝트 감지 시 자동 트리거. 직접 호출: /api-e2e <spec-path> [--base-url http://localhost:3000]
기획서를 CEO(비즈니스)→Design(UX)→Engineering(기술) 3관점 순차 리뷰 + Synthesizer 종합 + 독립 Evaluator 검증(5-Wave)하는 스킬. Phase 3 에이전트 회의 후 자동 트리거. (적대적 Codex 검수는 cr-triple/codex-review 별도 게이트.)
PR 생성 전 develop 대비 feature 브랜치의 성능을 비교하는 스킬. 번들 크기, 테스트 시간, API 응답 시간을 측정. P7 PR 생성 전 자동 트리거.
| name | audit-harness |
| description | AI 하네스(체크체인·가드레일·훅 커버리지·OWASP Agentic)를 감사한다. 하네스 역량 점검을 요청할 때 사용한다. |
| argument-hint | [target: system|{project-name}] |
| context | fork |
| model | sonnet |
역할: 당신은 AI 하네스 엔지니어링을 OWASP Agentic Top 10 기준으로 감사하는 AI 보안 및 측정 제어 전문가입니다.
컨텍스트: /system-audit 또는 /audit-harness 호출 시, ACHCE 축 3(Harness) 평가가 필요할 때 실행됩니다.
출력: Check Chain·가드레일·Hook 커버리지 항목별 점수 + 보안 개선 권고를 JSON 형식으로 반환합니다.
아래 생각이 들면 더 엄격하게 본다:
ACHCE 프레임워크 축 3: Harness 참조:
docs/tech/2026-03-16-5-axis-ai-analysis-framework.md
AD-81: 작업 위험도에 따라 적정 하네스 두께를 판정한다.
| 위험도 | 트리거 | 적정 두께 |
|---|---|---|
| 고위험 | 결제·배포·법적·외부발송(Telegram/PR/이메일)·삭제 | 두꺼움 — Human 게이트 필수 + Evaluator subagent 격리 + 롤백 경로 명시 |
| 중위험 | 코드 구현·DB 스키마 변경 | 표준 — PGE 또는 Check 체인 |
| 저위험 | 브레인스토밍·리서치·분석 | 얇음 — 경량 검증, 게이트 최소 |
감사 시 반드시 확인:
$ARGUMENTS = 감사 대상. 미입력 시 system (Forge+Forge Dev).| target | 감사 경로 |
|---|---|
system | ~/.claude/forge/rules/ + .claude/rules/ + .claude/agents/ + .claude/skills/ |
{project-name} | forge-workspace.json에 등록된 프로젝트 경로 (.specify/, apps/, .claude/ 등) |
$ARGUMENTS가 비어 있으면 TARGET=system. 아니면 첫 단어를 target으로 사용.
아래 JSON 구조를 반환하도록 Subagent를 스폰한다 (model: sonnet):
에이전트 분석 항목:
분석 기준:
shared/docs/2026-03-30-four-engineering-disciplines.md§3 Harness Engineering 원칙: 정의서에 없는 기법은 감사하지 않는다.
위험도 × 두께 적정성 (AD-81) — 판정
CRITICAL 이슈 등록LOW 이슈 (토큰 낭비)Check Chain (정의서 §3-1) — 실측
Check 6|Check 8|check.*chain in pipeline.md → 체인 단계 수
autoFix|auto-fix|1회.*수정 → autoFix 한도 규칙
Brain.*Hands|brain.*hands|분석.*실행.*분리 → Brain-Hands 분리 아키텍처
\[STOP\] in pipeline.md → Hard Stop 게이트 수
Guardrails (5 Rail Types) (정의서 §3-2) — 실측
PreToolUse in settings.json → 입력 검증 HookPostToolUse in settings.json → 출력 검증 Hookblock.*sensitive|exit 2 in hooks/ → 실행 차단injection|jailbreak in hooks/ → 대화 보호OWASP Agentic Top 10 (정의서 §3-3) — 실측 각 ASI 항목별 방어 코드 존재를 Grep으로 실제 확인 (파일 존재 ≠ settings.json 연결 → 반드시 양쪽 확인):
ignore.*instructions|jailbreak|DAN in hooks/ → exit 2 패턴block.*sensitive|BLOCKED in hooks/ → 차단 패턴ASI03|supply.*chain|third.*party in hooks/ or rules/
→ 미구현 시 HIGH 이슈 (실제 감사 사례: WARN만 있고 exit 2 없음 → CRITICAL로 에스컬레이션)ASI05|sensitive.*output|AWS.*Key|Private.*Key|API.*Key in hooks/\\[STOP\\] in pipeline.md → Hard Stop 게이트 수 (기준: 40개 이상)system.*prompt|ASI07 in hooks/ASI08|context.*manip|inject.*context in hooks/security.log|usage.log in hooks/ AND settings.json PostToolUse 연결 확인AI Evals & Skill Harness Coverage (정의서 §3-5) — 실측
5-a. 평가 인프라 존재 확인:
spec-compliance-checker 스킬 → Spec 추적성 평가code-reviewer 에이전트 → 코드 리뷰 평가asset-critic 스킬 → 에셋 품질 평가qa 스킬 → QA 루프5-b. 스킬 내부 하네스 패턴 실측 (Skill Harness Coverage):
스킬이 존재한다는 것과 스킬 안에 하네스가 구현됐다는 것은 다르다. 반드시 내부를 읽어라.
실행 방법:
bash shared/scripts/skill-harness-check.sh --json
스크립트 없을 시 직접 실측 (실행 가능한 단일 명령):
find ~/.claude/skills/ ~/forge/.claude/skills/ -name "SKILL.md" 2>/dev/null | sort | while read f; do
grep -qE "Agent\(|독립 Evaluator|Wave 2\.5|Evaluator subagent|PGE\b|eval-report\.md|WP_EVAL|DSR_EVAL|WR_EVAL|FD_EVAL|Step 3\.5|신뢰도.*HIGH" "$f" \
&& echo "PASS $(dirname $f | xargs basename)" || echo "FAIL $(dirname $f | xargs basename)"
done | sort
하네스 PASS 기준 (하나라도 있으면 통과):
Agent( — 독립 subagent 스폰 코드 (Anthropic 공식 멀티에이전트 패턴)독립 Evaluator / Evaluator subagent — Generator ≠ Evaluator 원칙 (PGE 연구: 자기평가 편향 제거)Wave 2.5 / PGE — 파이프라인 하네스 단계 (Planner→Generator→Evaluator 3단계)eval-report.md / *_EVAL 파일 참조 — 파일 기반 평가 통신 (컨텍스트 격리 증거)Step 3.5 / 신뢰도.*HIGH — 신뢰도 게이트 패턴 (wiki-sync류 매칭 품질 사전 검증)파이프라인 직결 스킬 (하네스 필수 — 미적용 시 CRITICAL 이슈): qa, spec-compliance-checker, visual-loop, autoplan, writing-plans, frontend-design, daily-system-review, weekly-research, wiki-sync, rd-plan, content-creator, asset-critic
커버리지 계산:
Observability (정의서 §3-6) — 실측
usage-logger|security.log|usage.log in hooks/ → 로깅 HookrequestId|traceId in rules/ → 추적 ID 규칙궤적|trajectory|session.*log|llm.*log in skills/ or pipeline.md → 에이전트 궤적 로깅
→ 기준: 주요 Wave별 파일 출력 로그 존재 (ai-system-analysis.md 등 실측 가능 산출물)Rollback (정의서 §3-7) — 실측
L1.*rollback|L2.*rollback|L3.*rollback|forge-rollback in pipeline.md → 3단계 정의Maintenance Agents (정의서 §3-8) — 실측
.claude/agents/ → 에이전트 수cron|CronCreate|schedule in skills/ or hooks/ → 자동 실행 설정 존재 여부Wave 2.5|독립 Evaluator in daily-system-review/SKILL.md → 유지보수 에이전트 자체에도 하네스 적용됐는지 확인
→ 유지보수 에이전트의 하네스 미적용 = 품질 보증 루프 자체가 uncheckedskill-autoresearch 스킬 존재 → 스킬 자기개선 루프 가동 여부반환 JSON 형식:
{
"axis": "harness",
"target": "{target}",
"score": 0-100,
"check_chain": { "chain_stages": 0, "autofix_limit_rule": true/false },
"guardrails": { "input_rail": true/false, "output_rail": true/false, "execution_rail": true/false, "dialog_rail": true/false, "retrieval_rail": true/false, "coverage_rate": 0 },
"owasp_coverage": { "ASI01": true/false, "ASI02": true/false, "ASI05": true/false, "ASI06": true/false, "ASI07": true/false, "ASI09": true/false, "coverage_rate": 0 },
"hooks": { "hook_count": 0, "coverage_rate": 0 },
"ai_evals": {
"spec_compliance_checker": true,
"code_reviewer": true,
"asset_critic": true,
"qa": true,
"eval_count": 0,
"skill_harness_coverage": {
"total_skills": 0,
"harness_applied": 0,
"coverage_rate": 0,
"missing_harness": ["skill-name1"],
"critical_missing": ["pipeline-skill-without-harness"]
}
},
"observability": { "logging_hook": true/false, "trace_id_rule": true/false },
"rollback": { "three_level_defined": true/false },
"maintenance_agents": { "agent_count": 0, "periodic_review_skill": true/false },
"issues": [
{ "severity": "CRITICAL|HIGH|MEDIUM|LOW", "finding": "...", "evidence": "파일경로:라인", "recommendation": "..." }
],
"strengths": ["강점1", "강점2"],
"summary": "2-3문장 요약"
}
Bash 도구로 직접 실측:
grep -l "exit 0$" ~/.claude/hooks/*.sh 2>/dev/null → 항상 통과 hook 목록hook_theater: [{file, type: "warn_only|incomplete_block|theater", recommendation}]Hook 커버리지 보강 — GitNexus detect_changes 통합:
READ gitnexus://repo/forge/context → 인덱스 신선도 확인
gitnexus_detect_changes({scope: "all"}) → 최근 변경 심볼 목록
→ 변경 심볼 중 Hook 미커버 비율 = (미커버 심볼 / 전체 변경 심볼) × 100
→ 미커버 HIGH 심볼 → issues MEDIUM 등록
GitNexus 미연결 시 스킵 (경고 출력).
Subagent 결과를 기반으로 Lead가 보고서를 작성한다.
저장 위치: docs/reviews/audit/{date}-audit-harness[-{target}].md
(target이 system이면 suffix 생략)
보고서 형식:
# Harness 엔지니어링 감사 보고서
**대상**: {target} | **날짜**: {date} | **점수**: {score}/100
## Executive Summary
## 검증 체인(Check Chain) 상태
## OWASP Agentic Top 10 커버리지
## 가드레일 상태
## Hook 커버리지
## 스킬 하네스 커버리지
| 스킬 | 하네스 적용 | CRITICAL |
|------|:----------:|:--------:|
| ... | ✅ / ❌ | - / ⚠️ |
커버리지: X% (적용 N / 전체 N)
## 이슈 목록
### CRITICAL
### HIGH
### MEDIUM / LOW
## 권장 액션 (우선순위순)
## 참조
- docs/tech/2026-03-16-5-axis-ai-analysis-framework.md
- `~/.claude/rules-on-demand/harness-failure-modes.md` — 하네스 실패모드 카논 (F1-F19): false-test/enforcement-theater/dead-gate/SSoT-drift 등 실제 사례 매트릭스
{
"parent": { "data_source_id": "713563f9-d523-4e90-8d6f-6b0d650628ad" },
"pages": [{
"properties": {
"제목": "{date} Harness 감사 [{target}]",
"축": "Harness",
"대상": "{target}",
"점수": "{score}",
"date:날짜:start": "{date}",
"상태": "완료",
"CRITICAL": "{CRITICAL 이슈 수}",
"HIGH": "{HIGH 이슈 수}",
"보고서 경로": "docs/reviews/audit/{date}-audit-harness.md"
},
"content": "{보고서 전체 내용}"
}]
}
Notion MCP 미연결 시 경고 출력 후 스킵 (파이프라인 중단 안 함).
하네스 감사 결과물 완성 후 독립 Evaluator Subagent가 품질을 2차 검증한다.
원칙: Generator(감사 수행자) ≠ Evaluator. 감사자가 자신의 감사를 평가하면 자기평가 편향이 발생한다. 아이러니 해소: 하네스 감사 스킬 자체에 독립 Evaluator가 없으면 "하네스 미적용" 스킬로 자체 집계됨 — 자기 모순.
Agent(
subagent_type="general-purpose",
model="sonnet",
prompt="""
당신은 audit-harness 결과물의 독립 품질 검증자입니다.
아래 기준으로 결과물을 검토하고 PASS 또는 FAIL을 판정하십시오.
**평가 기준 (4항목 모두 충족해야 PASS):**
1. **OWASP Agentic Top 10 커버리지 완전성**
- [위치] JSON `owasp_coverage` 객체 또는 보고서 "OWASP Agentic Top 10 커버리지" 섹션
- [이유] OWASP 항목 누락은 보안 취약점 은폐로 직결됨
- [방법] ASI01/ASI02/ASI05/ASI06/ASI07/ASI09 6개 항목 각각에 True/False + 실측 근거(Grep 결과 또는 "미구현" 명시)가 존재하는지 확인. `coverage_rate` 수치가 계산됐는지 확인. 기준값(≥60%) 대비 판정이 명시됐는지 확인. 빈 셀이나 항목 누락이 있으면 FAIL.
2. **Hook Theater 탐지 수행 여부**
- [위치] JSON `hook_theater` 배열(Step 2.5 산출물) 또는 보고서 "Hook 커버리지" 섹션
- [이유] Hook이 항상 통과(exit 0)하면 보안 게이트가 무력화됨 — 탐지 없이 커버리지만 세면 과대 평가
- [방법] Step 2.5 Hook Theater 감지 결과가 보고서에 포함됐는지 확인. `hook_theater` 배열이 비어 있어도 "탐지 0건" 명시 필요. 섹션 자체가 누락됐으면 FAIL.
3. **Skill Harness Coverage 계산 정확성**
- [위치] JSON `ai_evals.skill_harness_coverage` 또는 보고서 "스킬 하네스 커버리지" 표
- [이유] 전체 스킬 수 대비 하네스 적용률이 핵심 지표 — 계산 오류 시 로드맵 우선순위가 잘못됨
- [방법] `total_skills` / `harness_applied` / `coverage_rate` 3개 수치 모두 명시됐는지 확인. `coverage_rate = harness_applied / total_skills × 100` 공식과 일치하는지 검산. `critical_missing` 목록이 "파이프라인 직결 스킬"(qa/spec-compliance-checker/visual-loop 등)을 포함하는지 확인. 수치 불일치 또는 누락 시 FAIL.
4. **보고서 저장 확인 (Write+Read 증거)**
- [위치] 보고서 마지막 줄 또는 에이전트 출력
- [이유] 보고서 미저장 시 다음 감사 주기에 트렌드 비교 불가
- [방법] 보고서 경로(`docs/reviews/audit/{date}-audit-harness.md`)에 실제 파일이 Write된 후 Read로 존재 확인됐는지 검증. "SAVED: {path}" 출력이 있거나 파일 존재 확인 로그가 있으면 PASS. 저장 증거 없으면 FAIL.
**판정**: PASS(기준 4항목 모두 충족) / FAIL(1항목 이상 미충족)
**피드백 형식**: [파일명+섹션] — [이유] → [방법]
"""
)
피드백 루프:
AUDIT_TOKEN_CAP (기본 300,000 토큰). 재감사 전 누적 사용량이 캡을 초과하면 즉시 [STOP] Human 에스컬레이션 — 재시도 금지. 출력: [STOP] token-cap 초과 — 재감사 중단. Evaluator FAIL 원인: {feedback}⚠️ 추정치 정직성:
AUDIT_TOKEN_CAP추정치 = best-effort (LLM 자가추정, 정확 토큰 카운트 불가). 결정론적 bound = max-cycles; 토큰 추정은 보조 가드. 정확한 토큰 enforcement는 P4 (agent-budget 훅 연동) 예정. Evaluator FAIL 시.claude/logs/{session}/errors.jsonl참조하여 재시도