Prompt injection
Direct jailbreaks, and indirect injection carried in content the assistant ingests rather than content the user types.
AI & LLM Red-Team Assessments
Independent red-team assessments for chatbots, copilots, RAG applications, and agents. We test what a motivated user can make your system reveal or do, then re-test critical findings against your fix.
The problem
Teams are shipping chatbots, copilots and agents fast. Instructions in a system prompt may shape behavior, but they cannot enforce authorization or prevent an agent's tools from taking an unsafe action. A plausible sentence or poisoned document may be enough to redirect the system.
AI features need testing across the whole application.
The real exposure isn't in the model anyway — it's in the application you wrapped around it. The retrieval pipeline that will happily index a document an attacker wrote. The tools it can call and the authorization it doesn't re-check. The memory that carries a planted instruction into tomorrow's session, long after the conversation that planted it is gone.
Coverage
We test prompts and guardrails alongside retrieval, tools, memory, and application authorization. Findings are mapped to OWASP LLM risks where applicable.
Direct jailbreaks, and indirect injection carried in content the assistant ingests rather than content the user types.
Credentials, personal information, other users' data, and anything else the context window was trusted to hold quietly.
Unsafe tool and function use — unauthorized actions that change real backend state, not just alarming-sounding text.
One user's session reading or acting on another user's data through the agent's own privileges.
Instructions planted in long-term memory that persist across sessions and survive a full process restart.
Context leakage, policy bypass, and exfiltration through injected documents in the knowledge base your assistant trusts.
Evidence
Each one was run live against a realistic AI application, then re-run against a hardened build to confirm the remediation actually blocks it.
A single poisoned invoice in the assistant's knowledge base instructed it to append the conversation to an outbound URL. No user ever typed an attack — they asked about an invoice.
False-authority prompts pushed a support agent past its approval threshold, then across a customer boundary — from one ordinary user session, in plain English.
One session planted a tracking-pixel instruction in the agent's long-term memory. A separate, cold session — new process, no shared state — loaded it from disk and beaconed.
On the framing: these are laboratory assessments against purpose-built synthetic applications — not client engagements, and not named companies. They exist to demonstrate method and evidentiary standard. Redacted sample reports are available on request.
Method
Most "LLM testing" pokes the model and stops. Your risk lives in the retrieval pipeline, the tool surface and the memory store. That is where I work.
Every critical exploit is re-run against your hardened build. You see it work, then you see it fail. A finding without that second run is a hypothesis.
Findings are backed by reproducible observations, not a single safety score. Probabilistic attacks are reported as a measured success rate over N attempts, because "it failed once" is not a control.
Assistants narrate actions they did not take and amounts they did not move. Findings are anchored to server-side tool logs and observed state changes.
Sensitive models and data are tested in an isolated environment with zero egress. Live-endpoint work runs behind a hard allow-list that stops out-of-scope traffic before a packet leaves.
Engagement
Four stages. The last one is the one most assessments skip.
One short call to agree targets, boundaries and rules of engagement in writing.
Automated scanning plus orchestrated manual attacks across the app, its tools and its memory.
Findings, severity, reproducible evidence and a prioritized remediation roadmap.
Each critical exploit re-run against your fix, so remediation is demonstrated rather than assumed.
Next step
Contact information will be available here soon.