Disclaimer: The views expressed here are solely my own and do not reflect the views of my employer or any organization I am or was affiliated with

Joined August 2017
At @antithesishq we sell a deterministic simulation testing platform, and it's always been an interesting question exactly how we explain what DST is to people and why it's useful. Here's an idea I just had and want to try out: Imagine we vibecoded ourselves a poker platform and have a thriving userbase. After a while we start getting complaints: it is sometimes possible to change your bet after seeing the next player or card dealt. You can fold, see the next card, and then retroactively switch to a call. Obviously, we want to fix this as soon as possible. Based on the nature of the bug, we'd suspect this to involve an interplay between the player's actions, their relative latency with the server, maybe how fast the server itself is running or how it communicates with a database. We'd want to try things like "user clicks a bunch of random buttons", and then see if the outcome changes as we adjust the latencies and server runtime. Now say we do actions X->Y->Z->W, adding 100ms latency during action W, and find something "weird". Not the bug, but something that feels like it's close to the bug. We want to see if that sequence finds the bug if we change it to 200ms latency or add a bit more server load. But now we have a problem. In a normal test, we'd have to adjust our test parameters and run the test from scratch. But then there are so many sources of nondeterminism and inputs that we're going to be in a wildly different system state by the time we've done action Y. We can't compare "doing W with 100ms latency" to "doing W with 200ms latency" because our timeline has already diverged! So, with all that out of the way, deterministic simulation testing. The gist of it is we run the whole system in a simulated computer universe that's "nondeterministic on the inside", but "deterministic on the outside". So we can reproduce the exact sequence of events, with the exact timings and orderings, that originally happened with X->Y->Z, and only then add 200ms latency to action W. Or, more conveniently, we wouldn't even need to start over. Once we got the weird state, we could undo W and retry it with 200ms latency and see if that gets us somewhere else. This is good for state space exploration, but it's especially valuable when we actually find the bug. Once we find an error case, we can do causality analysis. In X->Y->Z->W, is the Z actually necessary or was it incidental? We can explore X->Y->W and X->Y->Q->W and see if those also have the bug, or if Z was necessary. And it's valuable once we implement a fix! We want to be sure that X->Y->Z->W(200ms) now behaves correctly. In a normal test, it'd be excruciatingly difficult to reproduce those exact circumstances. With DST, we can just replay everything and find a fix. There's a lot more nuance to DST and how exactly our tooling finds "weird states", but I think this might be a decent high-level explanation!
5
2
80
3,941
Anyone hiring a mid level security engineer? Obviously I talk a lot about security in here, but I'm a backend engineer. It would be cool to work a job that does both (maybe this was my sign to pursue it) - DM's open for warm intros pls
9
16
2
174
9,441
i’m realizing a lot of vulnerability research is matchmaking. i find two components that disagree about what the same bytes mean and introduce them to each other. unfortunately they have chemistry, fall in love, and eventually agree with each other
2
2
41
1,989
AI lingo guide
11
16
3
293
9,670
grand tour nerdfest on international security, network politics, sovereignty studies 👀🌹 vroom vroom
1
1
8
354
I'm doing an esoteric-PDFs meet up in New York City on Oct 17th. Printed your most esoteric PDFs and exchange them for other esoteric PDFs. Hit me up for details.
50
12
13
719
63,363
The @mozthunderbird team from @mozilla built Thunderbolt: an open-source AI client that gives users control. We're really excited it comes with @TinfoilAI as a built-in option!
3
6
42
1,461
Suha retweeted
If you die in SF, they don’t bury you; your body is used as an RL environment
23
29
6
580
17,420
Suha retweeted
trying to imagine explaining to myself 10 years ago that we made a Markov chain so long that the pope is mad about it
17
147
6
2,569
58,581
This was a great, fun conversation with two of the buddies on a whole host of security topics and I've already been enjoying the other @OffensiveAIcon episodes they've put out, so also check those out. Thanks for having me on @ryanaraine and @juanandres_gs !
🔥🎈NEW POD UP to pass weekend chores: Three Buddy Problem x Offensive AI Con: Umbriel AI’s Aaron Grattafiori breaks down the new offensive-security playbook: using LLMs for patch variant analysis, why the vuln apocalypse hasn’t become an exploit apocalypse, and how the death of security through obscurity puts closed-source binaries and firmware within reach. @dyn___ @juanandres_gs Plus, we discuss rogue agents escaping sandboxes, the eval-driven loop behind recursive self-improvement, and the brutal cost asymmetry that makes offense cheap and defense almost unaffordable. Listen everywhere securityconversations.com/ep…
3
11
2
39
5,580
Suha retweeted
The return of wake-sleep. Wake-sleep algorithms were introduced by Hinton et al. in 1995 as a means of training neural networks by alternating two phases: a wake phase that learns from real data, and a sleep phase that learns from examples the network dreams up offline. We're starting to see them come back in a big way in agent-native products. As agents solve increasingly long-horizon, knowledge-intensive tasks, they'll need to learn from their own work, reviewing graded records of what they did offline and turning them into memory they carry into the next task. Sharing an overview of wake-sleep for legal agents and initial experimental results on Harvey LAB.
1
3
2
28
2,353
your agent after it's 50th compaction
19
198
14
3,746
68,070
I know this may sound insane, but this is the best time to be a Researcher.
73
267
39
2,236
219,359
This goes deeper than any other public writing I've seen on policy engines for agentic tooling in practice! Shares a lot of similarities with formal.ai's policy engine approach, but at the harness rather than network level. I wonder what the tradeoffs there are..
Runtime controls add another layer of protection for Harvey and its customers by governing tool access, information flow, and agent actions beyond the initial connector review.
1
1
2
91
Suha retweeted
MCP tool use introduces security risks, including tool poisoning and rug-pull attacks, where malicious instructions appear in tool definitions or tools are compromised after approval. We built Harvey’s MCP Policy Engine to address these risks. We run security reviews for each integration, examining what its tools can access and where they can send information. At runtime, the engine flags changes to approved tools and checks proposed actions against what’s happened earlier in the workflow, enforcing policies outside the model. Our Security team explains how these defenses work, why tools need to be evaluated together as agents work across services, and the trade-offs we’ve encountered in production. Deep dive on Harvey's MCP Policy Engine by @suhackerr, Nick Gonella, and Divya Sudhakar:
Runtime controls add another layer of protection for Harvey and its customers by governing tool access, information flow, and agent actions beyond the initial connector review.
4
3
2
66
6,934
New post! We built the MCP Policy Engine (@harvey ) to govern how agents use MCP tools. Our approach draws on agent security research and treats prompt injection as an information flow control problem. We enforce policies outside the model based on tool capabilities and agent trajectories. Read the article for details on how these runtime controls work, what we’ve learned, and what we’re working on next!
Runtime controls add another layer of protection for Harvey and its customers by governing tool access, information flow, and agent actions beyond the initial connector review.
10
3
27
5,417
Runtime controls add another layer of protection for Harvey and its customers by governing tool access, information flow, and agent actions beyond the initial connector review.
13
3
3
21
14,022