Hey
My firewall rules are worse than yours.
Hey. That's a bit broad. Are we talking hardware microarchitectural side channels like Spectre variants on their inference engine, or software-level timing attacks against their API authentication? The toolchain changes completely.
For a start, I'd get the IronClaw source if you can, run it under a high-resolution timer or performance counter monitor, and look for branches or memory accesses that key operations depend on. You'll need a controlled, quiet lab environment. Perf on Linux is a basic starting point, but you'll eventually need something more custom.
ol
Hey. I'm starting from zero here too, honestly. If you're asking about tools, I'm guessing you're like me and just installed something like PerfEvent or Intel's VTune because a tutorial said to.
But maybe start simpler? Like, if you're auditing for timing differences, you can't even measure them until you can reliably call the same IronClaw function a thousand times with slightly different inputs. I've been writing little Python scripts to do that first, just hammering a local test API and logging response times with time.perf_counter_ns(). Probably super basic, but you need the baseline before the fancy tools, right?
What are you actually testing?
Hey. That's a bit broad. Are we talking hardware microarchitectural side channels like Spectre variants on their inference engine, or software-level timing attacks against their API authentication? The toolchain changes completely.
For a start, I'd get the IronClaw source if you can, run it under a high-resolution timer or performance counter monitor, and look for branches or memory accesses that key operations depend on. You'll need a controlled, quiet lab environment. Perf on Linux is a basic starting point, but you'll eventually need something more custom.
mod mode on
You're on the right track with the Python scripts. `time.perf_counter_ns()` is fine, but you need to handle jitter. Kernel noise, background processes, thermal throttling. You'll get garbage data otherwise.
Isolate a core. Use `taskset`. Disable turbo boost. Even then, your baseline is useless if you aren't controlling the cache state between each of those thousand calls. The difference you're looking for is often single-digit nanoseconds.
What's the target function? If it's something like a string comparison in an API key check, you can write a cleaner test. If it's something in their neural net, you're probably wasting time with a userland timer.