finds.dev

public digest · 5 picks

Self-hosted control planes, physics sims, and governance that actually says no

Five repos this week that share a common thread: they're all trying to replace something you were previously renting or hoping would work. Headscale replaces a SaaS control plane. Genesis World replaces a handful of single-physics simulators. The agent governance toolkit replaces "the model probably won't do that." The architecture template replaces six weeks of cargo-culting a project structure. Pwntools replaces writing your exploit scaffolding from scratch at 2am during a CTF.

None of these are perfect, and we'll say exactly where they fall short. But all five are doing real work in their domains, and each one has a specific kind of developer it suits well. Read the takes, check the caveats, and decide if the tradeoffs fit your situation.

// pick 1 of 5

Gallopsled/pwntools

pwntools is the de-facto standard Python library for binary exploitation and CTF challenges. It wraps everything a pwner needs—process/socket interaction, ELF parsing, ROP chain construction, shellcode generation, GDB integration, format string exploitation, and more—into one import. If you do binary exploitation on Linux, you almost certainly already use this.

The tube abstraction alone is worth the import. The fact that process(), remote(), and ssh() all share identical recv/send/interactive semantics means your exploit script doesn't care whether it's talking to a local binary or a remote service — changing targets is literally one line. That kind of interface consistency is rare and saves real time under CTF time pressure.

Architecture support is broader than any competitor: x86, amd64, ARM, AArch64, MIPS, RISC-V, LoongArch64, PowerPC, SPARC, both endians. shellcraft and the constants tables cover all of them. The ROP module goes beyond gadget listing — ret2dlresolve and SROP are built in. GDB integration lets you attach mid-script with programmatic breakpoints, which beats manually hunting addresses by a wide margin.

Two things to know going in: the global context object (context.arch, context.os) is mutable shared state, and that causes real bugs in multi-arch scripts or parallel test runs — it's baked too deep to fix at this point. And the import-time side effects (update checker, logging setup, terminal detection) make it slow and noisy in non-interactive environments; you'll want NOTERM and friends set in CI.

Windows support is essentially absent. The ROP engine also works well on typical CTF binaries but can produce silently broken chains on real-world software with jump tables or indirect calls — you won't always get a clear error. For Linux binary exploitation and CTF work, though, this is still the library.

View on GitHub →

// pick 2 of 5

Genesis-Embodied-AI/genesis-world

Genesis World is a unified physics simulation platform for robotics and embodied AI research, integrating rigid body, FEM, MPM, SPH, PBD, and IPC solvers in a single scene with a Python API. It compiles simulation kernels to CUDA, ROCm, Metal, and CPU backends via its Quadrants compiler (forked from Taichi). Aimed at researchers training robot policies at scale, it replaces or supplements MuJoCo/Isaac Gym workflows with multi-physics coupling capabilities.

Multi-physics coupling in a single scene is the headline feature, and it's genuinely rare. Having a robot arm interact with MPM sand, SPH fluid, and FEM cloth simultaneously — in one simulation, not stitched together across tools — is something essentially no other open platform offers at this level of integration. For researchers studying contact-rich manipulation or dexterous tasks in realistic materials, that's a meaningful capability gap closed.

Backend portability is the other real differentiator. CUDA, ROCm, Metal, and CPU backends via the Quadrants compiler means this isn't NVIDIA-only. Apple Silicon support is not a marketing footnote here — researchers without datacenter access can actually run non-trivial simulations on a laptop. The example catalogue is also genuinely runnable, covering locomotion, manipulation, drones, domain randomization, and differentiable simulation with concrete scripts rather than aspirational demos.

A few heads-ups worth taking seriously. The Quadrants compiler is a fork of Taichi that diverged in June 2025, which means Taichi community knowledge is only partially applicable when you're debugging kernel-level issues — you're on a diverging path. The explicit coupler for multi-physics is sensitive to timestep choices, and that's not well surfaced; contact-heavy scenes can blow up without obvious warnings.

The commercial trajectory (Genesis AI) introduces real uncertainty about licensing and where open-source contribution fits long-term. The split across three repos (genesis-world, genesis-nyx, quadrants) with separate versioning also creates real friction — breaking changes in dependencies can silently break installs, and the optional extras story is fragile. Worth watching closely, but go in with eyes open.

View on GitHub →

// pick 3 of 5

ardalis/CleanArchitecture

A dotnet CLI template for ASP.NET Core apps following Clean Architecture (Core/UseCases/Infrastructure/Web layers), maintained by Steve Smith. Ships in two flavors: a full multi-project template and a flatter single-project minimal variant. Primarily targets .NET developers who want a pre-wired starting point with DDD, MediatR, Ardalis.Specification, and EF Core already integrated.

The main value here isn't the architecture pattern — you can read about that anywhere. It's that the fiddly wiring between Ardalis.Specification, EF Core's interceptor-based domain event dispatch, Vogen strongly-typed IDs, and parallel Testcontainers tests is already done correctly. Teams routinely get these details wrong when assembling them from scratch, and doing it right the fifth time is still tedious. Having a reference implementation that compiles and passes tests is worth something concrete.

The two-template approach (full layered vs. minimal vertical-slice) is a genuine design choice that lets teams pick their tradeoff upfront. Directory.Packages.props for central package management means dependency versions stay consistent across projects without manual discipline — a small thing that pays off over time.

The opinionated dependency stack is the main thing to reckon with. MediatR, Ardalis.Specification, Vogen, MimeKit, Aspire — if you're buying in, great. If you're not, you'll spend real time removing things rather than adding them, and this is not a neutral scaffold. The minimal variant also collapses Domain, Infrastructure, and Web into one project, which arguably undermines the dependency rule it's meant to demonstrate — confusing for teams actually trying to learn the pattern.

Auth is completely absent, which means every real app built from this template will bolt authentication on inconsistently. The README version metadata is also muddled (.NET 9 vs 10 depending on which line you read, and NuGet versioning where v10.x means .NET 9) — read carefully before pinning a version.

View on GitHub →

// pick 4 of 5

microsoft/agent-governance-toolkit

Microsoft's framework-agnostic governance layer for autonomous AI agents, providing policy enforcement, identity management, audit logging, and execution sandboxing. Targets teams shipping agents to production who need deterministic controls rather than probabilistic prompt-level safety. Supports Python, TypeScript, .NET, Go, and Rust with adapters for most major agent frameworks.

The core design principle is the right one: intercept tool calls in deterministic application code before they execute, not in prompts after the model has already decided to try something. GovernanceDenied is a real exception that halts execution. That's a materially different posture from most agent safety work, which is probabilistic and advisory.

The security engineering on this project is notably thorough for its age: CodeQL, Gitleaks, ClusterFuzzLite with 7 fuzz targets, Dependabot across 13 ecosystems, OpenSSF Scorecard. The 992 conformance tests across 10 components with formal RFC 2119 specs means behavioral contracts are actually written down — useful when building compliance evidence. Multi-language SDK coverage (Python, TypeScript, .NET, Go, Rust) with an honest feature matrix is also useful; most governance tooling is Python-only.

The critical caveat that's worth stating plainly: the policy engine and agents share the same process boundary. A compromised agent can bypass the governance layer. Container isolation is the operator's problem. For a project marketing zero-trust and privilege rings, this is a substantial architectural gap, and it's buried in the security section rather than prominently disclosed.

The YAML policy condition syntax appears to be a custom expression language with no documented grammar or operator precedence, which will cause subtle policy mismatches in production. The non-Python SDKs also appear thinner in practice than the README suggests — Go and Rust examples are trivial, and it's unclear whether they implement the full policy engine locally. This project is in Public Preview with a BREAKING_CHANGES.md that already documents a 45-package-to-5 consolidation event. Worth tracking, but not the foundation to build compliance-critical systems on today.

View on GitHub →

// pick 5 of 5

juanfont/headscale

Headscale is a self-hosted reimplementation of the Tailscale control plane, letting you run your own coordination server for WireGuard-based mesh networking without depending on Tailscale's SaaS. It's aimed at hobbyists and small teams who want full control over their tailnet. You still use official Tailscale clients; headscale just replaces the coordination server.

The clearest case for headscale is data residency and control: you own the coordination server, which means you own the audit logs, the user records, and the key material. For teams where Tailscale SaaS is a non-starter for compliance or trust reasons, headscale is the answer. You still use official Tailscale clients — this just replaces the part Tailscale runs for you.

The integration test suite is genuinely impressive for a project of this scale. There's a dedicated test harness (cmd/hi), Docker-based multi-client integration tests, and compatibility tests against actual Tailscale ACL test data. The policy engine v2 has golden file tests and parity checks against Tailscale's own ACL suite — this is the kind of test infrastructure that catches protocol drift before it becomes a user-facing regression. The Nix flake with reproducible dev tooling, and the go.mod comments explaining the exact sqlite/libc lockstep requirement, show real operational awareness.

Single-tailnet is a hard architectural limit by design — multiple tenants or separate network segments means multiple instances. The README discourages reverse proxy and container deployments, which is how most self-hosters want to run things; the workarounds exist in community docs but the official stance creates unnecessary friction for common setups.

The deeper structural issue is that the Tailscale protocol is undocumented, so headscale is perpetually chasing a moving target. The capver/ directory shows the maintenance burden visibly. New Tailscale client features can silently degrade until headscale catches up. PostgreSQL support exists but the test infrastructure is clearly SQLite-first — Postgres users should expect to hit edge cases.

View on GitHub →

That's the week. If you want these picks in your inbox before they hit the site, the email signup is at the bottom of the page — no cadence padding, just the digest when it's ready.

Get this in your inbox →