Blog

Field notes from running AI penetration tests at scale. Compliance guidance for the EU edge. Real findings from real targets, anonymised for publication.

Field guide· 8 min read

Where AI penetration testing actually fits in your security programme

The application-security toolbox has three classic shapes: a senior pentester running interactive tools, a periodic dynamic analysis scanner, and a public or invite-only bug-bounty programme. None of them go away in 2026 — what changed is that AI-driven pentest pipelines now plug a specific gap between them.

Where regex-driven scanning still wins

Pattern-matching scanners are unbeatable at finding the regex-friendly bug classes: reflected XSS, basic SQL injection, missing security headers, well-known CVEs in known dependency versions. Cheap to run, deterministic, easy to fold into CI. If your stack is mostly off-the-shelf and your application logic is thin, that class of tooling earns its keep.

Where senior human pentesters still win

Hands-on testing wins anywhere the attack chain depends on intuition, on chaining four innocent-looking primitives into one exploitable behaviour, or on understanding the business semantics behind a request. No reasoning loop has matched the senior tester there yet. A retainer with a respected boutique is still the gold standard for high-value engagements.

Where AI pentest opens new ground

AI pentest excels at the in-between: bugs that pattern matchers cannot see because they are about authorisation logic, not payload shape; bugs that need a reasoning pass through an attack surface to surface, but do not need the bench-driven attention of a human. Broken Object-Level Authorisation, paywall bypass, mass-assignment, multi-step auth flows, business-logic enumeration. These are exactly the classes that dominate breach disclosures today.

The unit economics matter too. A single AI-driven web scan with reproducible proof-of-concept evidence and remediation code in the target stack's language costs about the same as a coffee for a small team. That price point makes weekly or per-deploy testing feasible — and weekly testing catches things that a quarterly retainer never will.

The honest stack for 2026

If you have a senior pentester on staff, keep them on the hard work. If you ship continuously, layer AI pentest weekly so logic regressions never go more than a sprint without a fresh proof-of-concept attempt. If you have a public payment surface, add a small invite-only bug bounty as a safety net. Each tool catches what the others miss; the right mix is the one your team can sustain.

Compliance· 6 min read

GDPR for security SaaS — the 2026 reality check

You ship security software in 2026 and your customers live in the European Union. That means the regulator is already in the room with you, whether you invited them or not. This is the short version of what you actually need before sign-up — not the textbook version.

1. Register your processing activities

Under Article 30 you must keep a written record of every processing activity: what data, why, on what legal basis, who the recipients are, how long you keep it. A spreadsheet is fine. A missing spreadsheet is an instant finding.

2. Make consent meaningful

On the sign-up form, the consent checkbox is its own line — not bundled with "I accept the Terms". Privacy notice link goes right next to it. Pre-ticked is forbidden.

3. Article 32 technical and organisational measures

This is where most audits stall. The bar is:

4. Sign DPAs both ways

Your customer signs a Data Processing Agreement with you. You sign DPAs with every sub-processor you use (cloud, email, payment, analytics). Without those, you fail an Article 28 audit and your customer's audit drags you in.

5. International transfers

If any of your sub-processors moves data outside the EU/EEA, you need a transfer mechanism — adequacy decision, Standard Contractual Clauses, or Binding Corporate Rules. The lazy "we use the US cloud" answer is not acceptable any more.

6. Retention

Every category of data has a retention period. When it expires, the data is deleted, not archived to a slow drive. Build a retention table the same week you ship a feature — retrofitting it costs ten times as much.

7. Treat customer data as not training material

If you operate AI features, draw a hard line between operational data flowing through your platform and any data used to train or fine-tune a model. The default has to be "we do not train on your data". Anything else needs a separate, opt-in consent.

The five-minute starter pack

Publish a privacy notice. Add an explicit consent checkbox to sign-up. Sign DPAs with every sub-processor. Write the breach-response runbook. Document Article 32 measures in a one-pager. That delivers about 80% of audit readiness — the rest is operational discipline.

Case study· 7 min read

A real BOLA — how a paywall bypass surfaced in 31 minutes

Anonymised case study. A product company sells personalised children's books. Customer fills a form, AI generates the story, a preview is shown, the customer pays, the PDF downloads. A classic digital-product flow.

The scan

An AI web pentest pipeline ran against the target for 31 minutes. The customer paid the flat Starter price up front; the scan returned a structured report with proof-of-concept curl commands and remediation code. The headline finding came out of the reconnaissance pass.

Recon — what it saw

Within five minutes the reconnaissance agent mapped these endpoints:

POST /api/books/preview        — generates a preview, returns bookId
GET  /api/books/{bookId}         — preview metadata
GET  /api/books/{bookId}/status  — ???
GET  /api/books/{bookId}/download — paid-only PDF
POST /api/books/checkout         — payment redirect
GET  /api/waitlist               — total counter

The suspicious one was /status. The name sounds harmless, but any endpoint that returns "status" is worth probing — status of what?

Vulnerability analysis — what the auth agent did

  1. Created a fresh preview — free, no card required
  2. Called GET /api/books/{bookId}/download — returned 202 Accepted with "Book not ready yet". The paywall was working correctly — good.
  3. Called GET /api/books/{bookId}/status — returned 200 OK with the complete eight-page book content.

The status endpoint returned the entire book, including AI illustration prompts and character bibles, without checking whether the requester had paid. A reader could obtain the full paid product for the cost of a free preview.

Fix — three lines

// status handler
if (book.status !== 'paid' && req.user.id !== book.userId) {
  return res.status(402).json({ error: 'Payment required', preview_only: true });
}

Bonus findings on the same endpoint

Total scan time: 31 minutes. Output: a PDF report with reproducible curl commands and remediation code in the language of the target stack. The fix took the development team six minutes. They thanked us.

The lesson: regex-based dynamic scanners would never have caught this. They look for SQL fragments in the response body, not for "this endpoint returned paid content to an unpaid user". That is the AI advantage — reasoning about authorisation, not pattern-matching on payloads.

Engineering· 5 min read

How we operate the AssurePort platform — and why we chose the EU edge

This post is not a marketing pitch for a particular hosting provider. It is an honest summary of why we picked an EU-edge architecture and what we accepted in exchange. If you operate a security-adjacent SaaS in 2026, the same trade-offs probably apply to you.

Why the EU edge as our default

What we run on long-running compute

Pentest pipelines do not fit inside an edge function's CPU budget — a 30-minute scan needs a real machine that can hold open connections, run native binaries, and stream artefacts. We keep that compute in the same jurisdiction and dispatch jobs to it with signed requests, so the audit chain stays consistent from edge to runner and back.

What we accepted

What this looks like operationally

Every release ships from main on a deploy command that takes under a minute. Status is on a public page that refreshes every 30 seconds. Self-pentest findings are linked from the changelog. The audit log is append-only and tenant-scoped — even our own admin tooling reads through the same authorisation surface as a paying customer.

The takeaway

EU-edge architecture is not a religion. It is a startup-friendly cost structure with compliance built in, and a set of compromises you should make consciously. Pick it because your buyers need it, not because it polled well on developer Twitter.

More articles incoming. Subscribe via email or follow the changelog for updates.