Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cover — 클라우드 코딩 에이전트에 개인 데이터, 내부 인프라, 시크릿을 노출하지 않으면서 워크플로를 유지하세요. | Kitploit
도구/GitHubGitHub/davidcarliez/cover
Defensive ToolsWeb Proxies & InterceptionPrivacySecret DetectionAPI SecurityAI Security
GitHubdavidcarliez/cover

cover

클라우드 코딩 에이전트에 개인 데이터, 내부 인프라, 시크릿을 노출하지 않으면서 워크플로를 유지하세요.

저장소 보기
5756615일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Cover

워크플로를 망가뜨리지 않으면서 프라이빗 데이터, 내부 인프라, 시크릿을 클라우드 코딩 에이전트로부터 차단하세요.

CI Go License

설치 · 빠른 시작 · 정책 · 모니터링 · Pi / OMP · 보안

Cover는 AI 코딩 에이전트를 위한 양방향 프라이버시 프록시입니다. 요청이 여러분의 머신을 떠나기 전에 일치하는 민감한 값을 로컬에서 현실적이고 결정론적인 대체 값으로 바꾸고, 일반 및 스트리밍 응답에서 일치하는 가짜 값을 원래 값으로 되돌립니다. 모델은 일관성 있는 컨텍스트를 받고, 여러분의 에이전트와 도구는 실제 환경에서 계속 작동합니다.

Cover changes private values into protected replacements before an LLM request, then restores reversible values in the response. It also supports placeholder, mask, redact, block, and allow policies.

대화가 처음부터 끝까지 계속 작동해야 할 때는 되돌릴 수 있는 pseudonymize 또는 placeholder 규칙을 사용하세요. 복원이 필요하지 않을 때는 단방향 mask 또는 redact 규칙을, 요청을 로컬에서 중단하려면 block을, 명시적 예외에는 allow를 사용하세요.

지원되는 클라이언트로는 Codex, Claude Code, Cursor, Pi / Oh My Pi, 그리고 OpenAI 또는 Anthropic 호환 SDK 및 라우터가 있습니다.

설치

설치 프로그램은 사용자의 OS와 CPU에 맞는 릴리스를 다운로드하고, 게시된 SHA-256 체크섬으로 검증한 뒤, ~/.local/bin/cover에 원자적으로 설치하고, 선택한 클라이언트를 구성하며, 프록시를 시작합니다.

curl -fsSL https://raw.githubusercontent.com/DavidCarliez/cover/main/scripts/install.sh | bash

Go 툴체인이나 Git 체크아웃은 필요하지 않습니다. curl, 아카이브 추출기(Linux/macOS에서는 tar, Windows에서는 unzip), 그리고 검증을 위한 sha256sum, shasum, 또는 openssl만 있으면 됩니다.

미리 빌드된 Linux, macOS, Windows 아카이브와 해당 체크섬은 GitHub Releases에서 이용할 수 있습니다.

비대화형 설치의 경우:

curl -fsSL https://raw.githubusercontent.com/DavidCarliez/cover/main/scripts/install.sh | \
  COVER_AGENTS=openai,claude bash

릴리스를 고정하거나 bash 프로세스에 환경 변수를 적용한 상태로 바이너리만 설치하세요:

curl -fsSL https://raw.githubusercontent.com/DavidCarliez/cover/main/scripts/install.sh | \
  COVER_VERSION=v0.1.0 COVER_SKIP_SETUP=1 bash
수동으로 빌드하거나 크로스 컴파일하기
git clone https://github.com/DavidCarliez/cover.git
cd cover
go build -o cover ./cmd/cover
install -m 0755 cover ~/.local/bin/cover

핵심 바이너리는 cgo 의존성이 없습니다. 표준 Go 크로스 컴파일이 작동합니다:

GOOS=linux GOARCH=arm64 go build -o cover-linux-arm64 ./cmd/cover
GOOS=windows GOARCH=amd64 go build -o cover.exe ./cmd/cover

주요 기능

영역Cover 기능
정책allow, placeholder, pseudonymize, mask, redact, block 액션을 사용하는 선언적 규칙
현실적인 대체IP 주소, 호스트, 도메인, 이메일, 사용자 이름, 비밀번호, UUID, URL, 별칭, 숫자 식별자, IBAN, 전화번호를 위한 결정적 생성기
컨텍스트 인식 규칙도구 결과 문자열 내부의 JSON 키, HTTP 헤더, 쿠키, 쿼리 매개변수 및 폼 필드, 그리고 정규식 및 내장 탐지기
안정적인 신원설치 키 기반 HMAC 가명은 요청, 세션, 재시작 전반에 걸쳐 일관되게 유지됨
매핑 안전성TTL 및 용량 제한이 있는, 세션 격리된 메모리 전용 가역 매핑
검사cover inspect는 LLM에 연결하지 않고 보호된 JSON을 미리 보여줌
진단cover doctor는 정책, 데몬 상태, 로컬 fail-closed 동작, Codex 라우팅을 검증함
모니터링메타데이터 전용 감사 및 모니터 뷰, 그리고 포착 및 전달된 콘텐츠에 대한 명시적 라이브 전용 검사
프록시 강화기본 루프백 리스너, 본문 및 스트림 제한, 일반적인 안전 오류, fail-closed 파싱
스트리밍 호환성델타 이벤트, 하트비트, 인터리브 채널 전반에 걸친 OpenAI Responses, Chat Completions, Anthropic SSE 복원; JSON 안전 도구 인수
Codex 호환성Responses API 및 라우터 구성, 압축 검사, 불변 encrypted_content 필드
선택적 시맨틱 패스로컬 llama.cpp 탐지기가 정규식이 놓치는 자유 형식 텍스트를 검사할 수 있음

빠른 시작

cover init             # write ~/.config/cover/config.yaml
cover start --detach   # run in the background
cover doctor           # verify the local setup
cover test             # local redaction round trip, no network call
cover monitor          # watch privacy-safe request metadata

cover init는 OpenAI, Anthropic 또는 사용자 지정 업스트림을 묻는 프롬프트를 표시합니다. 전체 구성은 configs/config.example.yaml에 문서화되어 있습니다.

명령어 레퍼런스

명령어목적
cover install클라이언트, 셸 export, 백그라운드 프록시 구성
cover init구성 파일 생성
cover start [--detach]Cover를 포그라운드 또는 백그라운드에서 시작
cover stop백그라운드 프로세스 중지
cover restart백그라운드에서 재시작
cover status [--json]프로세스, 리스너, 마스킹된 업스트림 상태 표시
cover version [--json]빌드 버전, 커밋, 날짜 표시
cover update [--version vX.Y.Z]검증된 GitHub 릴리스 설치; 실행 중이면 재시작 및 상태 확인 (Linux/macOS)
cover update --rollback구성은 유지한 채 이전 바이너리 복원
cover env구성된 클라이언트용 셸 export 출력
cover test합성 로컬 마스킹 및 복원 검사 실행
cover inspect request.jsonCover가 전달할 내용을 정확히 미리보기
cover doctor [--json]구성, 프라이버시, 데몬, 라우팅 검사 실행
cover monitor최근 안전 메타데이터 표시 및 새 이벤트 추적
cover monitor --show-content줄당 하나의 민감한 원본 → 대체 쌍 표시; 전체 이벤트는 --json 추가
cover models pull선택적 로컬 탐지기 런타임 및 모델 다운로드
cover models status로컬 탐지기 설치 및 구성 보고
cover completion셸 완성 스크립트 생성

Cover를 중지해도 클라이언트 구성은 변경되지 않습니다. 여전히 Cover를 가리키는 클라이언트는 Cover가 재시작되거나 클라이언트가 직접 공급자 또는 라우터를 다시 가리킬 때까지 연결에 실패합니다.

stop, restart, update는 Cover인 프로세스에만 신호를 보냅니다. 리스너가 루프백 전용 /__cover/health 엔드포인트에서 해당 프로세스를 보고하거나, 프로세스 실행 파일 이름이 cover여야 합니다. 오래된 pidfile(프로세스 ID가 이제 다른 프로그램에 속한 경우 포함)은 제거되며, Cover의 포트에 있는 다른 프로그램은 절대 중지되지 않습니다.

중지 및 재시작은 최대 30초 동안 활성 요청을 드레인하며, shutdown_timeout_ms로 구성할 수 있습니다. SIGTERM이 없는 Windows에서는 cover stop이 드레인 없이 프로세스를 종료합니다. 해당 기한이 지나면 남은 연결이 닫힙니다. 재시작 중 새 연결이 잠시 실패할 수 있으며, 이는 무중단 전환이 아닙니다. cover status와 cover doctor는 실행 중인 데몬이 설치된 바이너리와 다를 때 보고합니다.

Linux/macOS에서 cover update는 HTTPS를 통해 게시된 릴리스를 다운로드하고, 릴리스 체크섬과 SHA-256을 검증하고, 후보를 검증한 뒤, 롤백을 위해 현재 바이너리를 저장합니다. 재시작된 데몬이 상태 확인에 실패하면 Cover는 이전 바이너리를 복원하고 재시작을 시도합니다. 구성은 유지됩니다. Windows 사용자는 Cover를 중지하고 릴리스 설치 프로그램을 다시 실행해야 합니다. 업데이트는 main의 미출시 커밋이 아닌 게시된 릴리스를 사용합니다. 체크섬은 손상된 다운로드를 탐지하지만 독립적인 서명은 아닙니다.

프라이버시 정책

내장 정규식 탐지는 AWS 및 GCP 키, GitHub, GitLab, Slack, Stripe, Anthropic 토큰, 개인 키 블록, JWT, 명시적 일반 시크릿 할당, 이메일, SSN, 신용카드, 전화번호, IBAN을 포함합니다. 순수한 OpenAI sk-... 값은 의도적으로 전용 내장 카테고리가 아닙니다. 환경에 필요하면 명시적 규칙을 정의하세요. 내장 탐지기는 단일 줄 내에서 일치합니다: 여러 줄에 걸쳐 분할된 전화번호, SSN, 카드 번호 또는 secret = value 할당은 탐지되지 않습니다.

규칙은 ~/.config/cover/config.yaml의 rules 아래에 있습니다. 각 규칙은 pattern, detector, keys, headers, cookies, query_params, form_fields 중 하나의 선택자를 사용합니다. 하나의 규칙에 선택자 종류를 결합하지 마세요.

rules:
  password_fields:
    keys: [password, passwd, pwd, passphrase, user_password, database_password]
    category: password
    action: pseudonymize
    generator: password
    priority: 220

  ipv4_addresses:
    detector: builtin_ipv4
    category: ip_address
    action: pseudonymize
    generator: ipv4
    priority: 100

  customer_name:
    pattern: '(?i)\bNIKE\b'
    category: customer
    action: pseudonymize
    generator: alias
    priority: 80

  forbidden_secret:
    pattern: '(?i)secret\s*[:=]\s*(?P<value>[^\s,;]+)'
    action: block
    priority: 200

키 선택자는 짧은 문자열을 포함한 완전한 값을 보호합니다. 예를 들어, {"password":"admin"}은 모든 {"username":...}을 비밀번호로 취급하지 않고 보호됩니다. 선택된 배열이나 객체는 그 스칼라 하위 항목에 정책을 적용하며, 우선순위가 더 높은 자식 규칙이 이를 재정의할 수 있습니다. 명명된 (?P<value>...) 그룹을 사용하면 정규식이 캡처된 값만 대체할 수 있습니다.

보호된 값은 보호된 상태로 유지됩니다

어떤 규칙이 값을 보호하면, Cover는 그 동일한 값이 다시 나타나는 모든 곳에서 동일한 동작과 동일한 결정적 대체로 그 값을 보호합니다:

  • 동일한 요청의 산문, 명령 또는 기타 필드에서, 나타나는 모든 위치에서;
  • 응답이 값을 복원한 후 에이전트가 자신의 기록에 다시 담아 보낸 이후의 턴에서, 새로운 세션이나 압축된 요약으로부터 온 경우를 포함하여;
  • 값의 JSON 이스케이프, HTML 이스케이프 및 URL 인코딩 형태에서;
  • 보호된 숫자 값과 동일한, 선택되지 않은 6자리 이상의 JSON 숫자로서.
도구 다운로드