Open source

AI Agent Security Checklist
Forkable baseline and intermediate controls for tool-calling agents, including prompt injection, credential scoping, and human-in-the-loop gates.
I find the security gaps in AI features before attackers—or enterprise customers—do. Three weeks. Fixed price. A clear executive summary and findings your engineers can act on.
The selected policy state is shown below. Before shows the broad permission; After shows the scoped condition that limits the agent.
{
"Effect": "Allow",
"Principal": { "Service": "bedrock.amazonaws.com" },
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:agent-tools"
}--- a/agent/action-group-policy.json +++ b/agent/action-group-policy.json @@ -9,6 +9,12 @@ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "lambda:InvokeFunction", - "Resource": "arn:aws:lambda:us-east-1:123456789012:function:agent-tools" + "Resource": "arn:aws:lambda:us-east-1:123456789012:function:agent-tools", + "Condition": { + "StringEquals": { "aws:SourceAccount": "123456789012" }, + "ArnEquals": { + "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/AGENT1234B" + } + } }
{
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:agent-tools"
}@@ -9,6 +9,12 @@ - "Resource": "arn:aws:lambda:us-east-1:123456789012:function:agent-tools" + "Resource": "arn:aws:lambda:us-east-1:123456789012:function:agent-tools", + "Condition": { + "StringEquals": { "aws:SourceAccount": "123456789012" }, + "ArnEquals": { + "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/AGENT1234B" + } + }
Fixed scope, fixed price, stated up front. You work directly with the person doing the work. Here’s who that is.
| Engagement | What it solves | What you leave with |
|---|---|---|
| AI security review$9,000 · 3 weeks | Where untrusted input reaches a model that can call tools, and what an attacker gets by controlling them. Agent permission blast radius, data flow to model providers, tenant isolation, output handling, and whether your human-in-the-loop gate is actually enforceable. | Ranked findings, hardened examples, a 90-minute readout |
| Fractional CISO$3,500/month · 3-month minimum | Security leadership without the hire. Questionnaire and RFP support, SOC 2 and enterprise-readiness guidance, architecture review before features ship, model-provider risk, policy, and the security voice in your customer conversations. This is advisory work, with no on-call, no attestation signing. | Senior security leadership for the decisions that cannot wait |
| Roadmap sprint$2,500 · 1 week | A week to establish where you actually stand and what to do in what order. The right starting point if you know the AI questions are coming but not what they’ll surface. | A prioritized plan your team owns |
Every engagement starts with a free 30-minute call. If I’m not the right person, or your sector is one I don’t work in, I’ll say so on that call and point you somewhere better.
Open source

Forkable baseline and intermediate controls for tool-calling agents, including prompt injection, credential scoping, and human-in-the-loop gates.
Latest post

What ADR is, why Uber built it with MIT, what ten months of production deployment found, and why the defender’s clock now runs at machine speed.
Four stages, in order. Each one produces something you keep.
A call to pin down what you’re protecting, what you suspect is weak, and what “done” means. Fixed scope, written down.
I read the architecture, the IAM policies, the network paths, the code that guards them. Findings land as we go, not in a surprise report at the end.
Findings get ranked and paired with hardened examples, roadmap priorities, or advisory decisions, depending on the offer. You leave with a written answer your team can act on, not just a description of the problem.
I walk your team through the result: what’s exposed, what to address first, and the written record you keep. A review ends with a readout; a sprint ends with a roadmap; the retainer continues with decisions and guidance in writing.
Part-time by design, async-first by default. Set up front so it’s never a surprise mid-engagement.
A few sentences is plenty. I read every message and reply myself. No sales handoff. You’ll speak directly with the person doing the work.