anulman
Joined 17 years ago
Joined 17 years ago
The core issue: Stripe's Payment Intent pattern (server gets token → passes to client → client opens iframe) is safe because the blast radius is bounded; worst case, someone pays your invoice. But the same pattern applied to admin embeds (payroll, HR, financial controls) means a single XSS or compromised npm dependency can exfiltrate full admin access.
The fix I'm proposing (RequestRequest) routes every iframe API call through the host page for server-side JWT signing. The iframe never holds a persistent credential. There are three interactive demos in the post, including a real race condition demo against a Durable Object.
I disclosed this to two vendors in Jan 2024. Both classified it as informational. Neither has changed their architecture.
We didn't want to miss out on any action—showing up late to the conversation really dampens results!—so we whipped up a microservice to notify us of relevant posts.
Enough friends and founders have asked us to share; thought I would post it here to help you improve your startup or project's odds of success :)
Hope you like it! How can we make this easier to install, or better fit your inbound marketing practices?
Source: I've built & reviewed email graphs from IMAP & POP dumps too
Nice play, FB Video team.
Regardless, sounds fairly implementation-specific. Think I just followed you on Twitter, happy to discuss further offline.
[1] https://libgit2.github.com/libgit2/#HEAD/group/commit/git_co...
I had been hacking together a Kyoto Tycoon-backed implementation for a project (since dropped); our design exposed the ref id to the user (e.g. 'master', 'master/mhodgson', etc) and branch/merge as necessary. This way, our primary keys remained a constant refName that pointed to the HEAD of a commit chain, each of which referenced immutable commits/trees/blobjects.
Although my days of libgit2 hacking are long past, I'm very curious if/how our design could have been improved; immutable pkeys were important for us as well.
Github: https://github.com/anulman/libgit2/tree/kyoto/src/backends/k...
This will be clearer as the readme shapes up, but it's for a private messaging repository, accessible only to folks whose user ID you save in a Redis hash.
For example, assume authed_user_ids = {1: '', 2: ''}. If, after authenticating with Facebook, we determine your user_id is 1, today's date gets stored as your value (authed_user_ids = {1: 'DATE', 2: ''}). The card will then open with Day 0's message, and will display a new one for every subsequent day until the sequence has expired (you will need to auth every time, as the only session variable stored is the OAuth nonce).
If Facebook returns with user_id = 3, the card will open and display some generic "no message for you" content.
If you want to see the sexy CSS3 animations + whatnot, the callback's at http://probablythemostromanticthingever.com/open
Recent work includes:
- Jam.dev Recording Links (magic links you can send users to record their screens and receive full bug report details, incl network and console logs) - Nmbr Embedded Payroll (built the components suite, to embed a fully-featured payroll suite into any SaaS app in < 15 mins) - Mighty Productivity (suite of tools in Mighty's browser-in-the-cloud to supercharge the internet and make you more productive)
Personal email: [email protected]