
CVE-2025-54795 보안 패치 이후에도 작동하는 Ralph Wiggum 플러그인 구현
Claude Code용 Ralph Wiggum 자율 루프 기법의 작동하는 구현입니다.
Anthropic의 플러그인 마켓플레이스에 있는 공식 ralph-wiggum 플러그인은 현재 Claude Code v1.0.20(2025년 8월)의 보안 업데이트로 인해 작동하지 않습니다.
보안 패치(CVE-2025-54795)는 명령 주입 공격을 방지하기 위해 $() 명령 치환과 여러 줄 bash 명령을 올바르게 차단합니다. 그러나 공식 플러그인의 명령 파일에는 이 보호 기능을 트리거하는 여러 줄 bash가 포함되어 있습니다:
Error: Bash command permission check failed for pattern "...":
Command contains newlines that could separate multiple commands
여러 이슈가 제기되었습니다:
2026년 1월 3일 현재, 이 이슈들은 아직 수정되지 않았습니다.
현재 Claude Code 보안 제한 사항과 호환되는 깔끔한 재구현입니다.
주요 아키텍처 차이점: 공식 플러그인은 명령 파일에서 bash를 직접 실행하려고 합니다. 이 플러그인은 대신 Claude에게 Write 도구를 사용하여 상태 파일을 만들도록 지시하고, 명령 파일을 bash 실행 없이 순수 markdown으로 유지합니다. 중지 훅은 권한 시스템 외부의 별도 셸 스크립트로 실행됩니다.
claude --plugin-dir /path/to/ralph
# Create marketplace
mkdir -p ~/claude-plugins/.claude-plugin
echo '{"name": "local", "owner": {"name": "You"}}' > ~/claude-plugins/.claude-plugin/marketplace.json
# Move plugin into marketplace
mv /path/to/ralph ~/claude-plugins/
# In Claude Code:
/plugin marketplace add ~/claude-plugins
/plugin install ralph@local
/ralph:ralph-loop "Your task" --max-iterations 30 --completion-promise "DONE"
| 인자 | 설명 | 기본값 |
|---|---|---|
| prompt | 완료할 작업 | (필수) |
| --max-iterations N | 안전 한도 | 30 |
| --completion-promise TEXT | 완료 신호 | TASK_COMPLETE |
/ralph:ralph-loop "Build a REST API with tests" --completion-promise "API_COMPLETE"
/ralph:ralph-loop "Follow the instructions in CLAUDE.md" --max-iterations 50 --completion-promise "BENCHMARK_COMPLETE"
/ralph:cancel-ralph
.claude/ralph-loop.local.md를 생성하도록 지시합니다.<promise>COMPLETION_PROMISE</promise>를 확인합니다.{"decision": "block", "reason": "..."}를 반환하고 Claude가 계속합니다.jq (중지 훅에서 JSON 파싱용)MIT