Pipelock: Open-Source AI Agent Firewall

Pipelock: Open-Source AI Agent Firewall

Pipelock adalah firewall open-source untuk AI agent — proxy scanning yang berdiri di antara agent coding AI lo dan segala sesuatu yang dicoba diaksesnya. Single Go binary, Apache 2.0, dirancang buat nutup celah credential leak dan prompt injection di agentic workflow.

AI coding agent zaman sekarang biasa dijalankan dengan akses shell penuh, environment variable berisi API keys, dan koneksi internet tanpa batas. Kalau satu tool call aja kompromi — entah karena prompt injection atau MCP server jahat — kredensial lo bisa langsung kebobol ke domain attacker. Pipelock, dikembangkan oleh Joshua Waldrep di bawah proyek PipeLab, dibangun khusus buat nutup celah ini dengan menyisipkan enforcement layer antara agent dan jaringan.


1. Architecture & Scanning Pipeline

Konsep inti Pipelock adalah capability separation. Agent punya API keys dan akses shell, tapi tidak punya akses jaringan langsung. Pipelock-lah yang punya akses jaringan, tapi tidak menyimpan secret apapun milik agent. Semua traffic HTTP, WebSocket, MCP, dan A2A wajib lewat Pipelock sebelum keluar dari mesin atau sebelum sampai ke agent.

[ARCHITECTURE : CAPABILITY SEPARATION]

Agent zone: Punya API keys + shell access, TIDAK punya akses network langsung.

Pipelock zone: Punya akses network, TIDAK menyimpan secret agent.

Boundary: Semua HTTP / WebSocket / MCP / A2A traffic discan di titik ini sebelum lanjut.

Enforcement nggak cuma soal scanning aplikasi — Pipelock juga memanfaatkan OS-native kernel primitives buat containment proses yang lebih ketat:

  • Linux: Landlock LSM membatasi akses filesystem, seccomp filter syscall berbahaya, dan network namespace memaksa semua traffic lewat scanner Pipelock — nggak ada jalur egress langsung.
  • macOS: sandbox-exec profiles buat batasi filesystem & network.
  • Container: mode --best-effort tetap aktifkan Landlock + seccomp meski namespace creation dibatasi; network scanning fallback ke proxy-based routing.

Cara jalanin sandbox:

# Sandbox penuh (Linux/macOS)
pipelock sandbox –config pipelock.yaml — python agent.py# Mode container (best-effort)
pipelock sandbox –best-effort — python agent.py

# MCP proxy + sandbox
pipelock mcp proxy –sandbox –config pipelock.yaml — npx server

Scanning pipeline — 11 layer:

Setiap konten yang masuk (response dari tool, hasil fetch, MCP tool response/description) discan lewat 11-layer scanning pipeline sebelum sampai ke agent, termasuk 6-pass normalization pipeline yang dirancang buat menangkap teknik evasi seperti:

Teknik Evasi Cara Kerja Ditangani Pipelock?
Zero-width character Karakter invisible disisipkan ke teks buat ngacak deteksi pattern. ✅ Normalization pass
Homoglyph substitution Ganti huruf Latin dengan karakter Unicode yang mirip secara visual. ✅ Normalization pass
Leetspeak encoding Substitusi huruf dengan angka/simbol (mis. “1gn0r3 inst…”). ✅ Normalization pass
Base64-wrapped payload Instruksi jahat dibungkus base64 biar lolos dari plaintext scanner. ✅ Normalization pass
💡 Insight: Pipelock fokus di egress inspection karena arsitektur capability-separation-nya secara struktural tahan terhadap injection attack yang menyasar agent itu sendiri — bahkan kalau agent-nya “termakan” prompt injection, dia tetap nggak punya jalur buat ngirim data keluar tanpa lewat scanner.

2. Coverage & Evidence Features

Selain mencegah, Pipelock juga didesain buat membuktikan bahwa enforcement-nya jalan — lewat sistem evidence yang bisa diverifikasi pihak luar.

  • DLP Layer — 48 pattern credential leak, nge-cover provider cloud besar, payment rails, messaging platform, dan observability vendor. Scan jalan di URL, header, dan body request.
  • Prompt Injection Detection — 25 pattern injection + 6-pass normalization, discan di HTTP response body, MCP tool response, dan tool description (anti tool-poisoning & rug-pull).
  • SSRF Protection — cegah agent dipancing buat request ke internal endpoint via tool call yang sudah dikompromi.
  • Mediator-Signed Action Receipts — setiap keputusan (allow/block/redact) menghasilkan bukti audit kriptografis dari luar proses agent, bukan dari log agent itu sendiri.

Evidence bundle & compliance mapping:

[PIPELOCK ASSESS]

pipelock assess mengorkestrasi simulate, audit score, verify-install, dan discover jadi satu signed evidence bundle (HTML + JSON, ditandatangani Ed25519). Berisi risk rating, exposure analysis, dan remediation guidance.

Standard / Framework Bentuk Mapping
OWASP MCP Top 10 Built-in mapping di audit events
OWASP Agentic AI Top 10 Built-in mapping
MITRE ATT&CK / ATLAS Technique ID di audit event
EU AI Act Runtime controls mapping
SOC 2 Control families
NIST 800-53 7 control families
SARIF v2.1.0 Output langsung ke GitHub Code Scanning
⚠️ Catatan penting: Pipelock men-enforce scanning, tapi network isolation tetap butuh kontrol di level deployment — network namespace, iptables, Docker internal: true, atau Kubernetes NetworkPolicy. Tanpa ini, secara teori agent yang kompromi masih bisa coba cari jalur lain keluar.

3. Roadmap

Menurut Joshua Waldrep, format evidence receipt yang signed sudah implemented dan dilengkapi reference implementation di Python yang bisa menghitung ulang canonical preimage serta validasi signature secara independen — hasilnya byte-identical dengan implementasi Go-nya.

[ROADMAP : ARAH PENGEMBANGAN]

Cross-language SDK: Lebih banyak language SDK buat verifikasi evidence receipt di luar Go/Python.

Broader transport coverage: Ekspansi dukungan protokol di luar HTTP/WebSocket/MCP/A2A yang sudah ada.

External auditor tooling: Mendorong auditor independen buat verifikasi evidence Pipelock dengan tooling mereka sendiri.

Multi-agent (Pro tier): Koordinasi multi-agent dengan per-agent identity, budget, dan named security profile untuk DLP/allowlist/rate limit per profil.

Tujuan jangka panjangnya, kata Waldrep, adalah menjadikan format evidence ini sebagai public infrastructure untuk agent attestation — standar terbuka yang bisa dipakai siapa pun buat membuktikan bahwa AI agent mereka beroperasi dalam batasan yang sudah ditetapkan.

📦 Quick Start:
brew install luckyPipewrench/tap/pipelock
pipelock generate config –preset balanced > pipelock.yaml
pipelock run –config pipelock.yaml
export HTTPS_PROXY=http://127.0.0.1:8888
Source & Repo: github.com/luckyPipewrench/pipelock — Apache 2.0, single Go binary (~20MB, 22 dependencies).

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *