보안약점 자동 조치
fix_egovframe_secure_codingFixes only rule-definable eGovFrame secure-coding findings, with dry-run and backup, and reports remaining issues as manual items with reasons.
Instructions
check_egovframe_secure_coding 이 찾은 항목 중 고친 결과를 규칙으로 정할 수 있는 것만 고치고, 나머지는 사유와 함께 수동 항목으로 냅니다. xss-cout-unescaped: 줄바꿈을 로 바꾸는 값은 fn:escapeXml 로 먼저 감싸고, 단순 속성 값은 escapeXml="false" 를 지웁니다(HTML 편집기 값일 수 있는 본문 필드는 수동, HTMLTagFilter 가 등록돼 있으면 요청 값이 엔티티로 저장되므로 ignoreHtmlTagFilter=true 가 아니면 모두 수동). print-stack-trace·debug-code: 클래스의 로거(SLF4J·Commons Logging·Log4j 2/1·Lombok)로 바꿉니다(로거가 없거나 정적 문맥에서 인스턴스 로거면 수동). cookie-flags: Secure·HttpOnly 는 동작을 바꾸므로 제안만. 공통컴포넌트 출처·테스트는 기본 제외(includeComponents·includeTests). 기본 dryRun(바뀔 줄과 재점검 결과), 적용은 파일 트랜잭션(원본은 migration-backup/)이며 재점검이 계획과 다르면(고친 항목만 사라지고 새 항목·다른 규칙 변화가 없어야 함) 적용하지 않습니다.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | Markdown 에 보일 파일·수동 항목 수 | |
| paths | No | 프로젝트 상대 경로 접두어로 좁히기 | |
| rules | No | 조치할 규칙(기본 전체: xss-cout-unescaped·print-stack-trace·debug-code·cookie-flags) | |
| dryRun | No | true(기본)면 파일을 쓰지 않고 계획·재점검만 | |
| format | No | 응답 형식 | markdown |
| projectDir | Yes | 프로젝트 디렉터리(절대경로 권장) | |
| includeTests | No | src/test 도 고침 | |
| includeComponents | No | 공통컴포넌트 출처(매니페스트·egovframework/com 경로)도 고침 — 업그레이드·재조립 때 원본으로 바뀔 수 있음 | |
| ignoreHtmlTagFilter | No | HTMLTagFilter 가 등록돼 있어도 c:out 을 고침(필터를 걷어내고 출력 escape 로 바꿀 때만) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | ||
| notes | Yes | ||
| byRule | Yes | ||
| dryRun | Yes | ||
| manual | Yes | ||
| verify | Yes | ||
| summary | Yes | ||
| planPath | No | ||
| backupDir | No | ||
| projectDir | Yes | ||
| htmlTagFilter | No |