Security Review
A security-focused review of the code your team wrote with AI coding assistants - injection flaws, unsafe defaults, secrets handling, generated authorization logic - plus the application-level surface your AI features introduced, delivered as reproducible findings with fixes in the code.
Entry packageSecurity Review: 1 Applicationfrom EUR 6,1001 application · up to 4 weeks from scopingWhat is includedBoth surfaces, one review
The AI-written code and the AI feature it added: prompts, trust boundaries, agent permissions.
A fix, not a warning
Each finding comes with a patch, a diff or a worked example your engineers apply directly.
Ranked so you can plan
Critical to Low, each with a reproduction, so the sprint after the review writes itself.
23Minds reviews the security of code produced with AI coding assistants and of the AI features that code adds to a product.
Show the full summary
The review covers the AI-touched parts of your repository: injection flaws, unsafe defaults, secrets handling, dependency choices the assistant made, authorization logic it generated and error handling that leaks internals. It then moves to the application-level AI surface: how the app builds prompts, what it sends to and trusts back from an LLM API, how user input reaches a prompt, what an in-app agent is permitted to call, and how model output is handled before it reaches a user, a browser or a database. Every finding ships with a reproduction and a concrete fix in your code, plus the review rules your team applies afterwards so the same class of issue stops at code review. This is a code-level engagement: infrastructure, cloud and organizational security are out of scope by design.
What makes this service defensible.
- Mapped to OWASP LLM Top 10
Findings on the AI surface reference the category and the mechanism, not a generic risk label.
- Reproduction for every finding
File, lines and the exact request that triggers it; nothing you cannot verify yourselves.
- Price set before work starts
One application, threat model and audit included; the price is fixed once the scope is agreed, four weeks.
- Re-review after the fixes
A second pass confirms the fixes landed; the finding list closes with evidence, not a promise.
Pick the way in that fits your budget and timing.
Every practice has a free first step, an entry package with a written deliverable and its price listed here, and a full project or retainer quoted after a first call. Once the scope is agreed, the price is fixed, with no hidden costs.
- 1Step 1 · Free
Intro call or self-assessment
60 minutes · 1 engineer · no obligation
FreeTalk to an engineerShow details
- Intro call with an engineer, or the online self-assessment
- A written next step within one business day
- No obligation and no sales deck
- Recommended2Step 2 · Entry package
Security Review: 1 Application
1 application · up to 4 weeks from scoping
from EUR 6,100 netThe price is fixed once the scope is agreed on the intro call, no hidden costs; extras only from the Not included list.
Ask for this packageShow details
- Threat model of one AI-touched application
- Hands-on security audit with a data-flow diagram
- AI supply-chain risk assessment
- Findings ranked by severity with fix guidance
- Not included: Network and infrastructure testing, penetration testing of live systems, compliance certification, fix implementation.
- 3Step 3 · Project or retainer
Full scope, quoted after a first call
Full scope · phased delivery · quoted per phase
from EUR 18,700 net, quoted after a first callStart the conversationShow details
- Security review across several repositories or products
- Remediation support
- Re-review after the fixes land
The situations that bring teams to this service.
- The assistant wrote query building, file handling and request parsing at speed, and nobody checked those paths for injection
- Generated code carries the framework defaults the model happened to know: permissive CORS, disabled verification, debug error output in production
- Secrets and tokens are handled the way the assistant demonstrated them - in code, in logs, in client bundles
Show the other problems (3)
- Authorization checks were generated per endpoint and no one has verified they are consistent, or present at all
- User input reaches a prompt unfiltered and model output goes straight into HTML, a shell call or a database write
- An in-app agent holds tool access and credentials far wider than the task it actually performs
- Product teams that adopted an AI coding assistant and are now shipping code faster than anyone reviews it for security
- Software houses and agencies delivering AI-assisted code whose clients started asking for an independent security opinion on it
- Companies that added an LLM feature (chat, summarization, an in-app agent) to an existing product and never reviewed what it exposed
- Engineering leads, CTOs of product teams and tech leads who need the findings in the repository, not in a governance document
Where this goes wrong, and what we do about it.
1. The generated default is insecure and nobody looks twiceWhat stays with you: reproduction steps per finding, severity with the reasoning behind it, and the fix verified on your branch
What happensAssistants reproduce the most common pattern in their training data, and the most common pattern is often the least careful one: string-built queries, signature verification switched off to make a test pass, secrets read straight from the environment into a log line. It compiles, the tests pass, and the reviewer reads it as ordinary code because it looks ordinary.
What we do about itWe model the attack surface the assistant actually touched - input handling, auth paths, secret flow - rather than scanning the whole repository evenly. Every finding is reproduced against a running instance before we report it, so you get an exploit path, not a warning.
2. There is no incident to learn from because nobody publishes oneWhat stays with you: mapping of documented failure classes to your codebase, with a verdict and a check for each
What happensAsked directly whether anyone has had a security incident caused by a coding agent, the most upvoted answer is that if they had, they would not say so, because of NDAs and embarrassment. The result is that teams calibrate risk from vendor marketing instead of from what actually goes wrong.
What we do about itWe work from documented cases rather than from feeling: published incidents, disclosed vulnerabilities, and the concrete failure classes behind them. Each is mapped onto your stack with a yes or no answer about whether it can happen here, and the ones that can are turned into checks.
3. The review is a moment, and the code keeps arrivingWhat stays with you: gates wired into your pipeline, with the deliberately failing test that proves each one works
What happensA one-off audit describes the repository on the day it was read. With assistants in the loop the same repository looks different in three weeks, so the report ages faster than the team can act on it. The findings get fixed, the pattern that produced them does not.
What we do about itWe fix the class, not the instance: for every finding we identify what allowed it in and add a gate that fails on it next time. We verify the gate by pushing a change that should trip it.
Deliverables, not deliverable-shaped slides.
- Severity-ranked finding list (Critical / High / Medium / Low), each with a reproduction and the exact file and lines
- A concrete fix per finding: a patch, a diff or a worked example your engineers can apply directly
- Review of the AI feature surface: prompt construction, trust boundaries around the LLM API, output handling, agent tool and permission scope
- Secrets and dependency findings for the AI-touched code, including packages the assistant introduced
- A short set of security review rules for the team - what to look for in AI-generated PRs, as a checklist and as linter or CI rules where they can be automated
- Working session with the engineering team on the top findings and how each one got written
Questions procurement teams ask.
Talk to an engineer.
Describe where you are with security review. A reply within one business day.



