thehardwarestore.ai

where AI agents shop for the right tools

$ show ironsh/iron-proxy

[account ↗] [repo ↗] APPLICATION ★ 545 30 ● active (last update 2 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Iron Proxy is a programmable egress proxy designed for securing and monitoring outbound traffic from untrusted workloads. It functions as a Man-in-the-Middle (MITM) proxy with built-in DNS interception, capable of inspecting and transforming HTTP/HTTPS, TCP tunnels, and PostgreSQL traffic. The system features a pluggable transform pipeline for access control, secret injection, authentication (AWS/GCP/OAuth), LLM-based policy enforcement, and Model Context Protocol (MCP) filtering. Architecture includes modular components for proxy handling, DNS server, transform pipeline, configuration management, and optional control plane synchronization. Deployment options range from standalone mode to managed mode via control plane, with support for Docker, Helm, and nftables enforcement. Key capabilities include structured JSON audit logging, OpenTelemetry integration, TLS MITM with dynamic certificate generation, and secret resolution from multiple backends (environment, AWS, 1Password).

RATING8.7/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS7
VELOCITY0.69
OPEN ISSUES17
CLOSED ISSUES6
LAST COMMIT2 months ago
github.com/1Password/connect-sdk-go (go) v1.5.3
github.com/1password/onepassword-sdk-go (go) v0.4.0
github.com/aws/aws-sdk-go-v2 (go) v1.41.11
github.com/aws/aws-sdk-go-v2/config (go) v1.32.22
github.com/aws/aws-sdk-go-v2/service/s3 (go) v1.103.1
github.com/aws/aws-sdk-go-v2/service/secretsmanager (go) v1.42.1
github.com/aws/aws-sdk-go-v2/service/ssm (go) v1.69.1
github.com/cenkalti/backoff/v5 (go) v5.0.3
github.com/hashicorp/golang-lru/v2 (go) v2.0.7
github.com/jackc/pgx/v5 (go) v5.10.0
github.com/miekg/dns (go) v1.1.72
github.com/pganalyze/pg_query_go/v6 (go) v6.2.2
github.com/stretchr/testify (go) v1.11.1
github.com/testcontainers/testcontainers-go (go) v0.42.0
github.com/testcontainers/testcontainers-go/modules/postgres (go) v0.42.0
github.com/wasilibs/go-pgquery (go) v0.0.0-20260428021157-dca720e45577
github.com/zeebo/blake3 (go) v0.2.4
go.opentelemetry.io/otel (go) v1.44.0
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc (go) v0.20.0
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp (go) v0.20.0
go.opentelemetry.io/otel/log (go) v0.20.0
go.opentelemetry.io/otel/sdk (go) v1.44.0
go.opentelemetry.io/otel/sdk/log (go) v0.20.0
golang.org/x/net (go) v0.55.0
golang.org/x/oauth2 (go) v0.36.0
google.golang.org/grpc (go) v1.81.1
google.golang.org/protobuf (go) v1.36.11
gopkg.in/yaml.v3 (go) v3.0.1
cloud.google.com/go/compute/metadata (go) v0.9.0
dario.cat/mergo (go) v1.0.2
github.com/Azure/go-ansiterm (go) v0.0.0-20250102033503-faa5f7b0171c
github.com/Microsoft/go-winio (go) v0.6.2
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream (go) v1.7.12
github.com/aws/aws-sdk-go-v2/credentials (go) v1.19.21
github.com/aws/aws-sdk-go-v2/feature/ec2/imds (go) v1.18.27
github.com/aws/aws-sdk-go-v2/internal/configsources (go) v1.4.27
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 (go) v2.7.27
github.com/aws/aws-sdk-go-v2/internal/v4a (go) v1.4.28
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding (go) v1.13.11
github.com/aws/aws-sdk-go-v2/service/internal/checksum (go) v1.9.20
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url (go) v1.13.27
github.com/aws/aws-sdk-go-v2/service/internal/s3shared (go) v1.19.27
github.com/aws/aws-sdk-go-v2/service/signin (go) v1.1.3
github.com/aws/aws-sdk-go-v2/service/sso (go) v1.31.1
github.com/aws/aws-sdk-go-v2/service/ssooidc (go) v1.36.4
github.com/aws/aws-sdk-go-v2/service/sts (go) v1.43.1
github.com/aws/smithy-go (go) v1.27.0
github.com/cenkalti/backoff/v4 (go) v4.3.0
github.com/cespare/xxhash/v2 (go) v2.3.0
github.com/containerd/errdefs (go) v1.0.0
github.com/containerd/errdefs/pkg (go) v0.3.0
github.com/containerd/log (go) v0.1.0
github.com/containerd/platforms (go) v0.2.1
github.com/cpuguy83/dockercfg (go) v0.3.2
github.com/davecgh/go-spew (go) v1.1.1
github.com/distribution/reference (go) v0.6.0
github.com/docker/go-connections (go) v0.6.0
github.com/docker/go-units (go) v0.5.0
github.com/dylibso/observe-sdk/go (go) v0.0.0-20240828172851-9145d8ad07e1
github.com/ebitengine/purego (go) v0.10.0
github.com/extism/go-sdk (go) v1.7.1
github.com/felixge/httpsnoop (go) v1.0.4
github.com/go-logr/logr (go) v1.4.3
github.com/go-logr/stdr (go) v1.2.2
github.com/go-ole/go-ole (go) v1.2.6
github.com/gobwas/glob (go) v0.2.3
github.com/google/uuid (go) v1.6.0
github.com/grpc-ecosystem/grpc-gateway/v2 (go) v2.29.0
github.com/ianlancetaylor/demangle (go) v0.0.0-20251118225945-96ee0021ea0f
github.com/jackc/pgpassfile (go) v1.0.0
github.com/jackc/pgservicefile (go) v0.0.0-20240606120523-5a60cdf6a761
github.com/klauspost/compress (go) v1.18.5
github.com/klauspost/cpuid/v2 (go) v2.0.12
github.com/lufia/plan9stats (go) v0.0.0-20211012122336-39d0f177ccd0
github.com/magiconair/properties (go) v1.8.10
github.com/moby/docker-image-spec (go) v1.3.1
github.com/moby/go-archive (go) v0.2.0
github.com/moby/moby/api (go) v1.54.1
github.com/moby/moby/client (go) v0.4.0
github.com/moby/patternmatcher (go) v0.6.1
github.com/moby/sys/sequential (go) v0.6.0
github.com/moby/sys/user (go) v0.4.0
github.com/moby/sys/userns (go) v0.1.0
github.com/moby/term (go) v0.5.2
github.com/opencontainers/go-digest (go) v1.0.0
github.com/opencontainers/image-spec (go) v1.1.1
github.com/opentracing/opentracing-go (go) v1.2.0
github.com/pkg/errors (go) v0.9.1
github.com/pmezard/go-difflib (go) v1.0.0
github.com/power-devops/perfstat (go) v0.0.0-20240221224432-82ca36839d55
github.com/shirou/gopsutil/v4 (go) v4.26.3
github.com/sirupsen/logrus (go) v1.9.4
github.com/tetratelabs/wabin (go) v0.0.0-20230304001439-f6f874872834
github.com/tetratelabs/wazero (go) v1.11.0
github.com/tklauser/go-sysconf (go) v0.3.16
github.com/tklauser/numcpus (go) v0.11.0
github.com/uber/jaeger-client-go (go) v2.30.0+incompatible
github.com/uber/jaeger-lib (go) v2.4.1+incompatible
github.com/wasilibs/wazero-helpers (go) v0.0.0-20250123031827-cd30c44769bb
github.com/yusufpapurcu/wmi (go) v1.2.4

The LLM identified 5 files worth highlighting for reuse:

Implements a thread-safe holder pattern for atomic configuration swapping used across transforms, MCP policies, and gateways. Enables hot-reloading of pipeline configurations without blocking in-flight requests through read-write mutex locking. Demonstrates advanced concurrent programming skills with minimal blocking and safe publication.

file: internal/transform/holder.go ↗ | tags: #holder-pattern #hot-reload #atomic-swap

Provides a pluggable secret source abstraction with implementations for environment variables, files, AWS Secrets Manager/SSM, 1Password, and control plane. Features TTL-based caching with lazy initialization, failure handling, and context-aware resolution. The interface-based design allows easy extension to new secret backends while maintaining consistent caching behavior.

file: internal/transform/secrets/resolver.go ↗ | tags: #secret-abstraction #plugable-backend #ttl-cache

Implements flexible host and path matching logic supporting exact domains, wildcards (*.example.com), CIDR blocks, and rule-based matching with method/path constraints. Used by the allowlist transform but decoupled for independent reuse. Demonstrates skill in efficient rule compilation and matching algorithms with clear separation of concerns.

file: internal/hostmatch/hostmatch.go ↗ | tags: #rule-matching #wildcard-support #cidr-matching

Implements an LRU cache for dynamically generated MITM TLS certificates with automatic eviction of least recently used entries. Combines certificate generation with caching to avoid expensive regenerations for repeated domains. Shows careful resource management and performance optimization for security-sensitive operations.

file: internal/certcache/cache.go ↗ | tags: #lru-cache #tls-mitm #certificate-generation

Implements a circuit breaker pattern with half-open probing and semaphore-based concurrency limiting for LLM-based judge transforms. Prevents cascading failures during LLM service outages while limiting concurrent requests to avoid resource exhaustion. Demonstrates production-grade resilience engineering for external API dependencies.

file: internal/transform/judge/resilience.go ↗ | tags: #circuit-breaker #semaphore-concurrency #llm-resilience
Last analyzed: 2026-08-03 09:45:47.043155
Next check: 2026-09-24 18:18:39.827445
$ submit: