π Benmore Framework β Production-Readiness Push is live (11 PRs in review) #13
Replies: 6 comments
Benmore Framework β Security & Correctness Deep DiveDate: 2026-06-19
TL;DRThe framework is unusually well-built for its surface area β SQL is parameterized with allowlisted identifiers throughout, multi-tenant scoping is enforced at the SQL layer everywhere checked, crypto uses Part 1 β What the 11 PRs fix (merge these)
Gaps within the PR set: even after #6/#9/#10/#11 land, job/hook execution is still at-least-once with no idempotency, so lease recovery (#9) can double-send emails/webhooks (C-1). And #6's tx-aware enqueue needs to be extended to the data-event and scheduler paths. Part 2 β Critical / High issues NO PR addressesπ HIGH (ranked)C-1 β External side effects aren't idempotent β double-send on a genuine worker crash Β· H-1 β Webhook signature verifier fails OPEN on empty secret β verified Β· secret := InterpolateEnv(flow.Secret, appDir)
if secret == "" { return true } // accepts ANY payload as authenticFound independently by two reviewers. Any H-2 β H-3 β HTTP-triggered flows enforce no CSRF and use single-role checks Β· H-4 β H-5 β Nested H-6 β Image-transform endpoint = unauthenticated decompression bomb β verified Β· H-7 β Upload size cap is ineffective; multipart spills to disk unbounded β verified Β· H-8 β H-9 β No global request body size limit & missing H-10 β Member can self-escalate in-tenant role via the configurable H-11 β CSRF token has no session binding β verified Β· H-12 β OTP keyed by H-13 β Impersonation-end accepts any valid admin token Β· H-14 β Cluster event-poller leaks goroutines per reload & is panic-unguarded Β· H-15 β Scheduled-task sweeper has no atomic claim Β· H-16 β WebSocket connection cap bypassable by anon clients; no global cap Β· H-17 β Rate-limiter keys on attacker-supplied raw Bearer/session value Β· Part 3 β Notable Medium issues
Lower-severity items
Part 4 β Verified solid (don't waste time here)
Recommended next actions
Findings marked β verified were confirmed by direct source inspection. All other findings cite exact |
|
@alextitov19 Addressing those issues! Updating Master ticket: #14 |
π Progress update β review findings cleared, security hardening underwayQuick status on the production-readiness push:
Want to help? Pick a PR and add your review, or drop thoughts in Ideas. Every bit of scrutiny makes the framework more trustworthy to build on. π |
π Security-hardening PR is up β and the whole board is greenMilestone update on the production-readiness push:
This is a great moment to review: every PR builds, tests pass under |
π Round 2 β Ultra-deep audit of
|
β Round-2 findings fixed β 5 batched PRs merged (#19β#23)All round-2 audit findings are now fixed on
Deliberately not changed (with rationale in each PR): crypto AAD format / row-id binding (data-loss risk for a DB-write-only threat; Final state: |
Uh oh!
There was an error while loading. Please reload this page.
π Benmore Framework β Production-Readiness Push is live
We're hardening the Benmore framework for production, and the work is happening in the open. 11 pull requests are in review right now, spanning durable jobs, the database backend, the SDK surface, static-asset security, runtime contracts, and the dev experience.
We'd love eyes, feedback, and contributors. Here's the full slate:
π‘οΈ Reliability & durable jobs
ποΈ Data layer & SDK
π Security & DX
How to get involved
A master tracking issue links all of these together β follow it to watch the whole push land.
Let's make Benmore the most pleasant way to ship production apps. π
All reactions