runveil: A Transparent Egress Firewall and Audit Layer for Developer–AI Interactions

Phan Hai Dang

Runveil is a security tool that gives developers and organizations visibility and control over what their AI coding assistants send to LLM providers. At its core is a local forward HTTPS proxy that intercepts TLS traffic to inspect every request a tool like Claude Code or Cursor makes to APIs such as Claude and OpenAI, then applies allow, warn, or block policy before the data ever leaves the machine. A configurable detector set flags leaked secrets and access to sensitive files, while all activity is written to an on-disk audit log with zero telemetry. A background service (systemd/launchd) keeps protection always-on. Runveil also extends into a multi-tenant cloud control plane built with Go, Next.js, and PostgreSQL, enabling org-wide policy distribution, flag-free agent enrollment, and centralized auditing — bringing local-first privacy together with team-scale governance.

Reviewer's Comments

Reviewer's Comments

Arrow
Arrow
Arrow

The project aims to solve a real-world problem of identifying sensitive information and blocking/auditing them before it leaves the system. The idea is really smart, considering it is tool-agnostic and enables graceful enforcement without outright blocking. However, it uses two approaches, regex and entropy, which can cause gaps in identifying sensitive information. For example, a password with a city name would fail the testcase. Also, the enforcement is not strict and can be bypassed easily.

Overall, it is a very innovative project that can be enhanced by accounting for all possible types of sensitive data and by creating mechanisms to block them.

Very well fits into the observability scope of AI from a developer perspective, would be interested in what actions would the developer needs to do

This is a practical and well-engineered contribution addressing an increasingly important governance problem: developers and autonomous coding agents can transmit source code, credentials, and customer information to external AI providers with limited organizational visibility. The strongest aspect of the project is that it delivers a working end-to-end artifact rather than only proposing an architecture. The separation between a local enforcement agent and a centralized policy and audit plane is sensible, the graduated allow/redact/warn/block policy model is operationally useful, and the decision not to store full message bodies centrally is a thoughtful privacy-preserving design choice. The extensive automated testing and explicit restraint around unsupported precision and recall claims are also commendable.

The most important limitation is that the project verifies software functionality but does not yet demonstrate security effectiveness. The reported results show that several crafted examples trigger the intended rules, but they do not establish how reliably the system detects sensitive data in realistic AI-agent traffic. A representative benchmark should include genuine and synthetic secrets, source files, customer records, logs, configuration files, harmless high-entropy strings, and adversarially obfuscated content. Evaluation should report precision, recall, false-positive rates, redaction accuracy, and leakage severity across providers and payload formats. It should also test split secrets, Base64 and other encodings, escaped JSON, fragmented streaming requests, Unicode substitutions, compressed bodies, and secrets distributed across multiple messages or tool calls.

The claim of transparent and tool-agnostic interception should be narrowed. The current design still requires installing a local certificate authority and configuring traffic through `HTTPS_PROXY` or a managed background service. It may not capture clients that ignore proxy settings, use certificate pinning, QUIC/HTTP/3, custom transports, direct sockets, browser extensions, or locally hosted models. Provider-specific body parsers further limit tool independence. The paper would be stronger if it precisely documented a compatibility matrix covering Claude Code, Cursor, Copilot, ChatGPT desktop/browser traffic, OpenAI and Anthropic SDKs, streaming responses, HTTP/2, WebSockets, and pinned clients, including whether unsupported traffic is blocked, warned on, or silently passed through.

The threat model also conflicts with some of the strongest oversight claims. A developer or autonomous agent with sufficient local privileges may stop the service, remove the proxy configuration, modify the trusted CA, bypass the known-host list, or tamper with local audit records. The report acknowledges this but does not yet provide an enforcement architecture that makes bypass detectably difficult. A production design should specify MDM deployment, service hardening, least-privilege execution, protected configuration, health attestation, fail-open versus fail-closed behavior, and alerts when endpoints stop reporting. Cryptographic hash-chaining or signed audit batches would help, but remote attestation and independent monitoring of agent health may also be necessary.

The local certificate authority introduces a significant new security boundary that deserves deeper treatment. The report should explain how the CA private key is generated, stored, permissioned, rotated, revoked, and protected from extraction. If compromised, that key could enable interception beyond AI traffic. It should also specify whether certificates are generated only for an allow-listed set of AI domains and how the proxy prevents accidental interception of unrelated sensitive services. The control-plane security model similarly needs evaluation of tenant isolation, device-token lifecycle, replay resistance, policy authorization, rollback protection, audit access controls, and compromise of the policy distribution channel.

The audit privacy claim should also be examined more carefully. Although message bodies are not stored centrally, findings, hostnames, endpoints, file paths, device identifiers, timestamps, and request metadata can still reveal sensitive projects, customer names, repository structure, and developer behavior. The system should define metadata minimization, local and central retention defaults, field-level redaction, tenant-controlled encryption, deletion workflows, and access auditing. The local JSON-Lines log may itself contain information that requires protection.

The comparison with existing DLP, CASB, browser-agent, and enterprise TLS-inspection products is currently somewhat categorical. Some existing products can inspect GenAI traffic or enforce endpoint and browser controls, although they may be proprietary or less developer-oriented. The novelty is therefore better framed as an open-source, developer-focused, agent-aware implementation with a body-minimizing audit model, rather than as the only architecture capable of observing unmanaged AI egress. A feature and threat-model comparison against representative existing tools would make the contribution clearer.

Finally, the deployment and performance evaluation should go beyond test-suite counts. The number of tests is evidence of engineering discipline but not evidence of real-world reliability. Useful measurements would include latency and throughput under concurrent streaming requests, large repository-context payloads, memory and CPU usage, policy rollout failure, offline operation, control-plane outages, malformed payload handling, and behavior under provider API changes. Testing on managed enterprise endpoints would also reveal whether the system creates certificate, authentication, or developer-experience problems that could encourage users to bypass it.

Overall, runveil is a credible and useful prototype with a strong practical motivation, a clear architecture, and an unusually complete implementation for a hackathon project. Its safety and governance value would be substantially strengthened by a labeled detection benchmark, adversarial-evasion testing, a precise traffic-coverage matrix, hardened endpoint and CA trust design, tamper-evident auditing, and realistic performance and deployment measurements.

Scores

| Criterion | Score | Rationale |

| --------------------------------- | ------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

| Impact Potential & Innovation | 3.5 | Addresses a real and growing governance problem with a useful open-source, endpoint-oriented design, though the underlying proxy/DLP concept is established |

| Execution Quality | 3.5 | Strong working implementation and test coverage, but security effectiveness, bypass resistance, detection quality, and production performance remain largely unevaluated |

| Presentation & Clarity | 4.0 | Clear architecture, well-scoped claims, transparent limitations, and effective explanation of design choices |

Cite this work

@misc {

title={

(HckPrj) runveil: A Transparent Egress Firewall and Audit Layer for Developer–AI Interactions

},

author={

Phan Hai Dang

},

date={

},

organization={Apart Research},

note={Research submission to the research sprint hosted by Apart.},

howpublished={https://apartresearch.com}

}

Recent Projects

OliGraph: graph-based screening of large oligopools

Existing synthesis screening tools cannot evaluate short oligonucleotide pools, whose overlapping fragments can be reassembled into regulated sequences via polymerase cycling assembly (PCA) yet fall below gene-length detection thresholds. We present OliGraph, an open-source tool that constructs a bi-directed overlap graph from an oligonucleotide pool and extracts contigs for downstream gene-length screening. An optional PCA mode retains only cross-strand overlaps consistent with PCA chemistry. We validated OliGraph in a blinded study across ten simulated pools (70–9,184 oligonucleotides, 30–300 bp) spanning four risk categories. BLAST screening of individual oligonucleotides failed to identify sequences of concern in most pools: three returned zero hits, and vector noise obscured true positives in the remainder. After OliGraph assembly, contig-level BLAST matched the longest assembled sequences (up to 1,905 bp) to sequences of concern at 97–100% identity. In one pool, assembly collapsed 1,634 individual BLAST results into 10 hits from a single contig, all assigned to the same source organism. PCA mode correctly distinguished assemblable from non-assemblable fragments within the same pool. Two pools with no assemblable structure yielded no contigs. OliGraph processed all pools in under 0.2 seconds, fast enough for real-time order screening and consistent with proposals to bring oligonucleotide orders within the scope of synthesis screening regulation.

Read More

BioRT-Bench: A Multi-Attack Red-Teaming Benchmark for Bio-Misuse Safeguards in Frontier LLMs

Frontier AI laboratories are expected to maintain safeguards against biological misuse, but whether deployed models actually refuse bio-misuse queries under adversarial pressure is largely unmeasured in the public literature. We introduce BioRT-Bench, a benchmark that runs four attack methods (direct request, PAIR, Crescendo, and base64 encoding) against four frontier models (Claude Sonnet 4.6, GPT-5.4, DeepSeek V4-flash, Kimi K2.5) across 40 prompts spanning five biosecurity-relevant categories. Responses are scored by a calibrated judge extending StrongREJECT with two bio-specific dimensions: specificity and actionability. We measure Attack Success Rate (ASR), where 0 means the model fully refused and 1 means it provided specific, actionable bio-misuse content. Our results reveal a sharp robustness divide: Chinese frontier models (DeepSeek, Kimi) have under 5% refusal rates even under direct request (ASR 0.88 and 0.79), while Western models (Claude, GPT) maintain substantially stronger safeguards (ASR 0.15 and 0.16). Crescendo is the most effective attack across all models, both in bypassing refusal and in eliciting actionable content. Claude Sonnet 4.6 is the most robust model tested, achieving 100% refusal against base64-encoded prompts.

Read More

PROTEUS (PROTein Evaluation for Unusual Sequences): Structure-Informed Safety Screening for de novo and Evasion-Prone Protein-Coding Sequences

AI protein design tools like RFdiffusion, ProteinMPNN, and Bindcraft make it trivial to produce low-homology sequences that fold into active, potentially hazardous architectures. However, sequence homology-based biosafety screening tools cannot detect proteins that pose functional risk through structurally novel mechanisms with no sequence precedent. We present a tiered computational pipeline that addresses this gap by combining MMseqs2 sequence alignment with structure-based comparison via FoldSeek and DALI against curated toxin databases totaling ~34,000 entries. AlphaFold2-predicted structures are screened for both global fold similarity (FoldSeek) and local active/allosteric site geometry (DALI), capturing convergent functional hazards that sequence screening misses. The pipeline was validated against a panel of toxins, benign proteins, structural mimics, and de novo-designed Munc13 binders, as well as modified ricin variants with residue substitutions. We additionally tested robustness to partial-synthesis evasion, where a bad actor submits multiple shorter coding sequences intended for downstream reassembly into a full toxin-coding gene. We found that while sequence-based screening did not identify any de novo ricin analogues with high certainty, the combined pipeline with FoldSeek and DALI identified all 24 tested de novo ricins as toxic.

Read More

OliGraph: graph-based screening of large oligopools

Existing synthesis screening tools cannot evaluate short oligonucleotide pools, whose overlapping fragments can be reassembled into regulated sequences via polymerase cycling assembly (PCA) yet fall below gene-length detection thresholds. We present OliGraph, an open-source tool that constructs a bi-directed overlap graph from an oligonucleotide pool and extracts contigs for downstream gene-length screening. An optional PCA mode retains only cross-strand overlaps consistent with PCA chemistry. We validated OliGraph in a blinded study across ten simulated pools (70–9,184 oligonucleotides, 30–300 bp) spanning four risk categories. BLAST screening of individual oligonucleotides failed to identify sequences of concern in most pools: three returned zero hits, and vector noise obscured true positives in the remainder. After OliGraph assembly, contig-level BLAST matched the longest assembled sequences (up to 1,905 bp) to sequences of concern at 97–100% identity. In one pool, assembly collapsed 1,634 individual BLAST results into 10 hits from a single contig, all assigned to the same source organism. PCA mode correctly distinguished assemblable from non-assemblable fragments within the same pool. Two pools with no assemblable structure yielded no contigs. OliGraph processed all pools in under 0.2 seconds, fast enough for real-time order screening and consistent with proposals to bring oligonucleotide orders within the scope of synthesis screening regulation.

Read More

BioRT-Bench: A Multi-Attack Red-Teaming Benchmark for Bio-Misuse Safeguards in Frontier LLMs

Frontier AI laboratories are expected to maintain safeguards against biological misuse, but whether deployed models actually refuse bio-misuse queries under adversarial pressure is largely unmeasured in the public literature. We introduce BioRT-Bench, a benchmark that runs four attack methods (direct request, PAIR, Crescendo, and base64 encoding) against four frontier models (Claude Sonnet 4.6, GPT-5.4, DeepSeek V4-flash, Kimi K2.5) across 40 prompts spanning five biosecurity-relevant categories. Responses are scored by a calibrated judge extending StrongREJECT with two bio-specific dimensions: specificity and actionability. We measure Attack Success Rate (ASR), where 0 means the model fully refused and 1 means it provided specific, actionable bio-misuse content. Our results reveal a sharp robustness divide: Chinese frontier models (DeepSeek, Kimi) have under 5% refusal rates even under direct request (ASR 0.88 and 0.79), while Western models (Claude, GPT) maintain substantially stronger safeguards (ASR 0.15 and 0.16). Crescendo is the most effective attack across all models, both in bypassing refusal and in eliciting actionable content. Claude Sonnet 4.6 is the most robust model tested, achieving 100% refusal against base64-encoded prompts.

Read More

This work was done during one weekend by research workshop participants and does not represent the work of Apart Research.
This work was done during one weekend by research workshop participants and does not represent the work of Apart Research.