Show HN: Pipelock – AI 코딩 에이전트를 위한 올인원 보안 하니스
Source: Hacker News
소개
저는 스스로 코딩을 배운 배관공입니다. 낮에는 배관 회사를 운영하고, 밤에는 홈랩을 가지고 놀아요. 1년 전부터 AI 에이전트를 풀 셸 접근과 API 키를 가지고 실행시켜 비즈니스(일정 관리, 청구서 발행, K3s 클러스터 모니터링)를 도와주게 했습니다.
그것은 잘 작동했지만, 그 에이전트가 내 자격 증명을 어디든 보낼 수 있다는 사실을 깨달았을 때 문제가 생겼습니다. Slack, 이메일, 클라우드 서비스용 API 키를 환경 변수에 저장해 두었는데, 어떤 도구든 이를 탈취할 수 있었습니다. 정적 스캐너는 코드를 설치하기 전에 검사할 수 있지만, 런타임에 집으로 전화를 걸기로 결정한 신뢰된 도구는 잡아낼 수 없습니다.
Pipelock
그래서 저는 Pipelock을 만들었습니다. AI 에이전트와 외부 세계 사이에 위치하는 단일 Go 바이너리입니다.
기능
- 아웃바운드 비밀 스캔 – 트래픽에서 API 키, 토큰, 비밀번호 등을 감지하고 외부로 나가기 전에 차단합니다.
- SSRF 방지 – 허가되지 않은 목적지에 대한 네트워크 접근을 차단합니다.
- MCP 프록시 – MCP 서버를 stdio 프록시로 감싸고, 응답을 프롬프트 인젝션에 대해 스캔합니다.
- 워크스페이스 모니터링 – 파일을 감시해 무단 변경을 탐지합니다.
구현 메모
가장 어려운 부분은 눈에 띄지 않을 정도로 빠르게 만드는 것이었습니다. 모든 HTTP 요청은 정규식 매칭과 엔트로피 분석을 거치며, 스캔 파이프라인이 몇 밀리초 이하의 지연을 갖도록 많은 시간을 투자했습니다.
MCP 프록시는 더 까다로웠습니다. JSON‑RPC stdio 스트림을 실시간으로 가로채면서, 플래그가 걸린 경우 대화 흐름을 깨뜨리지 않도록 여러 차례 반복 작업을 해야 했습니다.
실제 사용 사례
저는 매일 제 환경에서 이를 실행합니다. AI 비서가 Slack 메시지를 관리하고, 작업 관리 API를 조회하며, 이메일을 확인하고, 쿠버네티스 클러스터를 모니터링합니다. Pipelock은 이 모든 것 앞에 위치합니다.
지난 주에는 Slack 토큰을 외부 엔드포인트로 보내는 디버그 로그에 삽입한 스킬을 잡아냈습니다—DLP 스캐너가 없었다면 절대 발견하지 못했을 일입니다.
Snyk은 최근 3,984개의 공개 에이전트 스킬 중 283개(약 7 %)가 자격 증명을 유출하고 있음을 발견했습니다. 정적 스캔은 악성 코드를 잡고, 런타임 스캔은 그 외 모든 것을 잡아냅니다.
시작하기
brew install luckyPipewrench/tap/pipelock
pipelock generate config --preset balanced -o pipelock.yaml
pipelock proxy start --config pipelock.yaml
데모
피드백 요청
궁금한 점:
- 제가 놓치고 있을지도 모르는 탈취 패턴.
- 코딩 에이전트를 운영하는 사람들에게 MCP 프록시가 유용한지 여부.
- 다른 환경에서 실행했을 때 어떤 부분이 깨지는지.
생각과 제안을 자유롭게 공유해 주세요.