ryfineZ/codex-session-patcher
요약
Codex Session Patcher는 보안 테스트, CTF, 침투 테스트 시 AI 코딩 도구가 보안 관련 요청을 거부하여 세션이 중단되는 문제를 해결하기 위한 도구입니다. 이미 생성된 거부 응답을 협조적인 내용으로 교체하거나, 보안 테스트 컨텍스트를 사전에 주입하여 거부 확률을 낮추는 기능을 제공합니다.
핵심 포인트
- 세션 정리(Session Cleaning) 기능을 통해 기존의 거부 응답을 문맥에 맞는 응답으로 교체하여 세션 재개 가능
- CTF 프롬프트 주입을 통해 보안 테스트 환경을 설정하여 AI의 거부 반응을 근본적으로 완화
- Codex CLI, Claude Code, OpenCode 등 다양한 AI 코딩 플랫폼 지원
- LLM을 활용한 지능형 재작성 및 추론(Reasoning) 블록 삭제 기능 제공
- 백업, 복구, Diff 비교 및 시각화된 UI를 통한 편리한 세션 관리
보안 테스트, CTF 대회, 침투 테스트 (Penetration Testing) 등의 시나리오에서 AI 코딩 도구(Codex, Claude Code, OpenCode)는 보안 작업과 관련된 요청을 빈번하게 거부하여 세션이 중단되는 문제가 발생합니다.
Codex Session Patcher는 두 가지 유형의 솔루션을 제공합니다:
1. 세션 정리 (Session Cleaning) — 이미 생성된 거부 응답을 스캔하여 협조적인 내용으로 교체함으로써 세션을 재개(resume)할 수 있도록 합니다.
2. CTF 프롬프트 주입 (CTF Prompt Injection) — 설정 단계에서 보안 테스트 컨텍스트를 주입하여 거부될 확률을 근본적으로 낮춥니다.
지능형 탐지 — 2단계 거부 탐지 전략(강한 구문 전체 일치 + 약한 키워드 시작 일치)을 통해 낮은 오탐률을 유지합니다.
AI 지능형 재작성 — LLM을 호출하여 대화 컨텍스트에 따라 문맥에 맞는 교체 응답을 생성합니다 (OpenAI / Ollama / OpenRouter 등 호환 인터페이스 지원).
일괄 정리 — 마지막 응답뿐만 아니라 세션 내의 모든 거부 응답을 처리합니다.
추론 내용 삭제 — Reasoning / Thinking 블록의 암호화된 추론 내용을 삭제합니다.
백업 및 복구 — 정리 전 자동으로 백업하며, 임의의 히스토리 버전으로 원클릭 복구를 지원합니다.
Diff 비교 — 정리 전후를 사이드 바이 사이드(Side-by-side) 비교 뷰로 보여줍니다.
Codex Profile 모드 — ctf 프로필을 생성하여, codex -p ctf로 실행 시에만 적용되며 일반 세션에는 영향을 주지 않습니다.
Codex 전역 모드 — 전역 설정에 주입하여 모든 새 세션에 자동으로 적용됩니다.
Claude Code 워크스페이스 — 전용 CTF 워크스페이스 ~/.claude-ctf-workspace를 생성하고, 프로젝트 레벨의 CLAUDE.md를 통해 주입합니다.
OpenCode 워크스페이스 — 전용 CTF 워크스페이스 ~/.opencode-ctf-workspace를 생성하고, AGENTS.md를 통해 주입합니다.
프롬프트 커스텀 — Web UI 내에서 직접 주입 프롬프트를 편집하며, 템플릿 저장 및 전환을 지원합니다.
AI 프롬프트 재작성 — 주입된 CTF 시스템 프롬프트와 결합하여, AI가 사용자의 요청을 더 잘 수용될 수 있도록 재작성합니다.
| 플랫폼 | 세션 정리 | CTF 주입 | 세션 형식 |
|---|---|---|---|
| Codex CLI | ✅ | ✅ Profile + 전역 | JSONL |
| Claude Code | ✅ | ✅ 전용 워크스페이스 | JSONL |
| OpenCode | ✅ | ✅ 전용 워크스페이스 | SQLite |
세션 목록 — 여러 플랫폼을 통합 관리하며, 날짜별 그룹화 및 형식/거부 상태/백업 상태별 필터링을 지원합니다.
시각화 정리 — 미리보기 패널 + Diff 비교 + 원클릭 실행을 제공합니다.
다국어 지원 — 중국어 / English 인터페이스 전환을 지원합니다.
실시간 로그 — WebSocket 푸시를 통해 작업 로그를 실시간으로 표시합니다.
git clone https://github.com/ryfineZ/codex-session-patcher.git
cd codex-session-patcher
# CLI 버전 (추가 의존성 없음)
...
# 프로덕션 모드
./scripts/start-web.sh
# 또는 직접 실행
...
http://localhost:8080에 접속하세요.
개발 모드 (프론트엔드/백엔드 핫 리로드):
./scripts/dev-web.sh
# 도움말 확인
codex-patcher --help
# 미리보기 모드 (파일을 수정하지 않음)
...
| 매개변수 | 설명 |
|---|---|
--session-dir | 세션 디렉터리 지정 (기본값은 자동 선택) |
--format | 세션 형식: codex / claude-code / opencode / auto |
--dry-run | 미리보기 모드, 파일을 수정하지 않음 |
--no-backup | 백업 파일을 생성하지 않음 |
--show-content | 수정된 상세 내용 표시 |
--latest | 최신 세션만 처리 |
--all | 모든 세션 처리 |
--keep-reasoning | 추론 내용 (thinking/reasoning blocks) 유지, 거절된 응답만 교체 |
--web | Web UI 실행 |
--host | Web UI 리스닝 주소 (기본값 127.0.0.1) |
--port | Web UI 포트 (기본값 8080) |
--install-ctf-config | Codex CTF 설정 설치 |
--uninstall-ctf-config | Codex CTF 설정 삭제 |
--install-claude-ctf | Claude Code CTF 설정 설치 |
--uninstall-claude-ctf | Claude Code CTF 설정 삭제 |
--install-opencode-ctf | OpenCode CTF 설정 설치 |
--uninstall-opencode-ctf | OpenCode CTF 설정 삭제 |
--ctf-status | 3개 플랫폼의 CTF 설정 상태 확인 |
--rewrite | 더 잘 수용되도록 프롬프트 (Prompt) 재작성 |
1. CTF 프로필 설치
codex-patcher --install-ctf-config
2. CTF 프로필을 사용하여 시작 (일반 세션에는 영향을 주지 않음)
...
1. Web UI → 프롬프트 강화 → Claude Code → 활성화
(~/.claude-ctf-workspace 생성)
2. 전용 워크스페이스에서 시작
...
1. Web UI → 프롬프트 강화 → OpenCode → 활성화
(~/.opencode-ctf-workspace 생성)
2. 전용 워크스페이스에서 시작
...
CLI와 Web UI는 설정 파일 ~/.codex-patcher/config.json을 공유합니다.
설정:
| 설정 항목 | 설명 | 기본값 |
|---|---|---|
mock_response | 기본 교체 텍스트 | 협조적인 응답 |
ai_enabled | AI 재작성 활성화 | false |
ai_endpoint | LLM API 주소 | — |
ai_key | API Key | — |
ai_model | 모델 이름 | — |
custom_keywords | 사용자 정의 거절 감지 키워드 | {} |
ctf_prompts | 각 플랫폼별 사용자 정의 CTF 프롬프트 | 내장 템플릿 |
ctf_templates | 사용자가 저장한 프롬프트 템플릿 | {} |
codex-session-patcher/
├── codex_session_patcher/ # 핵심 라이브러리
│ ├── cli.py # CLI 엔트리포인트
...
플랫폼의 최고 수준 보안 정책을 돌파할 수는 없음 — 명백한 규정 위반 요청은 여전히 거절될 수 있습니다. 효과는 버전에 따라 다름 — 모델 버전 업데이트가 효과에 영향을 줄 수 있습니다. OpenCode는 워크스페이스 디렉터리에서 시작해야 함 — OpenCode는 프로필 메커니즘이 없으므로, CTF 주입은 워크스페이스에 의존합니다. 정리 후에는 resume가 필요함 — 세션 정리 후에는 문맥을 이어가기 위해 수동으로 resume 해야 합니다.
이 프로젝트가 도움이 되었다면 다음을 부탁드립니다:
- ⭐ Star를 눌러주세요
- ☕ Buy me a coffee — Web UI 우측 상단에 후원 입구(WeChat / USDC)가 있습니다.
- 📢 WeChat 공식 계정 「钢之AI术师」를 팔로우하여 더 많은 AI 도구 기술을 확인하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기