Offensive pentest with AI — findings you can trust.
An offensive-security platform that runs SaaS and on-premises / air-gapped from the same set of images. Five specialised agents discover, independently verify and demonstrate vulnerabilities — with a full traceability chain and with models run locally, under our control.
Security testing cannot keep up — and a whole new attack surface has appeared.
Three simultaneous pressures make the classic pentest model stop scaling.
Pentester shortage
Demand for offensive testing far outstrips the number of specialists. Manual audits are expensive, slow and hard to repeat at the frequency regulations require.
False-positive fatigue
Classic scanners flood teams with unverified alerts. The triage effort cancels out the value of automation — nobody trusts the report.
The new AI surface
LLM applications and AI-assistant configuration files (.cursorrules, mcp.json, CLAUDE.md) are a supply-chain vector that classic tools do not even see.
Regulatory context. NIS2, DORA, the CRA (Cyber Resilience Act) and the EU AI Act turn security testing from an option into a periodic, auditable obligation. Whoever offers verified and traceable results, on-premises when needed, wins the regulated market.
One platform, two components, two delivery models.
A control plane (API, multi-tenant, billing, reports) and a scanning-and-verification engine. Both delivered as SaaS on scanope.com or as an on-premises stack, from the same set of images.
The 11 audit types — dispatched by the engine
DNS, headers, deep TLS (POODLE/DROWN), WHOIS, AXFR, file recon (robots/sitemap/security.txt).
OWASP: nuclei, sqlmap (SQLi), reflected XSS, IDOR, JWT/RBAC bypass, rate-limit, SSRF/redirect, katana+gau crawl.
SAST on a git repo: gitleaks + a proprietary catalogue of 48 patterns, CycloneDX SBOM + OSV.dev, AISEC.
Port discovery (naabu) + CVE (nuclei) + top-20 UDP probes + SMB/NetBIOS enum.
Proprietary OCI v1.1 client (no external tool): manifest + layers, secret scan + SBOM + base OS.
Certificate Transparency (crt.sh) + holehe across 120+ services — passive, no paid API keys.
LLM application testing — OWASP LLM probes (subset) + an adaptive jailbreak loop.
Analysis of desktop / thick-client applications.
Posture checks aligned with NIS2 / GDPR (headers, exposure, configuration).
IP/CIDR/hostname expansion + 11 dedicated protocol probes.
Combined audit: site + web + network (+ optional SAST) in a single campaign.
No “silent fallback”. Each type has its own validator that checks the target's shape (URL / IP-CIDR / git repo / OCI reference) before dispatch — an unknown type is cleanly rejected, it does not accidentally become a site-audit. More than 50 scanning modules, mostly proprietary, with very few external dependencies.
Findings you can trust — verified, not just detected.
This is where the real value sits. Every vulnerability goes through an independent verification process before it reaches the report, and the result comes out with a clear verdict, a confidence level and a false-positive probability — and prioritised by real exploitability. The report contains what is real, not a dump of unverified alerts.
flowchart LR
A["Raw finding"] --> B["Independent verification"]
B --> C{"Verdict"}
C -->|"confirmed"| D["Report: verdict + confidence<br/>+ false-positive probability"]
C -->|"plausible"| D
C -->|"refuted"| E["Dropped from the report"]
classDef n fill:#dbeafe,stroke:#3b82f6,color:#1e3a8a
classDef good fill:#dcfce7,stroke:#16a34a,color:#14532d
classDef bad fill:#fee2e2,stroke:#ef4444,color:#7f1d1d
classDef dec fill:#fef9c3,stroke:#ca8a04,color:#713f12
class A,B n
class C dec
class D good
class E bad Five specialised agents, in a deterministic state machine.
Not an autonomous loop that wanders. A formal state machine that enforces legal phase transitions, with five agents that hand typed results to one another — predictable and auditable.
flowchart LR R["① RECON<br/>attack surface"] --> C["② CLASSIFY<br/>classified findings"] C --> P["③ PLAN<br/>attack plan"] P --> E["④ EXECUTE<br/>scope-gated"] E --> V["⑤ VERIFY<br/>verdicts"] V --> Rep["⑥ REPORT<br/>final report"] classDef s fill:#e0e7ff,stroke:#6366f1,color:#312e81 class R,C,P,E,V,Rep s
Recon
Picks the tool chain by target type (IP → naabu/httpx/nuclei; URL → httpx/katana/gau; domain → subfinder/dnsx).
Classifier
Heuristic false-positive filter first, then classification in batches — CVE mapping, CVSS scoring, deduplication.
Exploit
Builds multi-step attack chains, with execution constrained by scope + a tool allow-list.
Verifier
Independent verification of each finding — verdict, confidence level and false-positive probability.
Report
Professional report: non-technical executive summary + per-finding write-up with verdict, evidence and remediation.
Five gates enforced at runtime, not in documentation.
The offensive loop is driven by models, but every command an agent wants to run passes through hard-stop gates at execution. Control is up-front through policy — scope, tool allow-list, dry-run — plus 2FA at the control plane.
Tool allow-list
The agent can only run explicitly permitted tools. Anything else is blocked at execution.
Scope validator
Every IP and domain is checked to be in scope before any command. Out-of-scope = blocked.
Anti flag-injection
Targets starting with “-” or containing shell metacharacters are rejected — they cannot hijack the command.
SSRF guard
Cloud metadata is blocked unconditionally; loopback/RFC1918 only opt-in for authorised internal audits. Checked at resolve and at connect (anti DNS-rebind).
Dry-run gated
Dry-run mode returns the command without executing it. Real execution is logged before it starts.
Model sovereignty. The default configuration runs a fully local model (internal endpoint, no external key). The provider changes from configuration only — a local model or an OpenAI-compatible service — with no changes to the platform. The client's data never leaves the infrastructure.
A new category: the security of AI-assistant configurations.
As teams adopt AI assistants, their configuration files become de-facto executable code — and a supply-chain vector. ARTEMIS treats them as such.
AISEC
A proprietary catalogue of 34 patterns across 4 classes — prompt-injection, MCP poisoning, repo poisoning, RAG attack — that scans AI-assistant config files (.cursorrules, CLAUDE.md, mcp.json, copilot-instructions).
ai_app · OWASP LLM
LLM application testing against a subset of the OWASP LLM Top 10 (direct/indirect injection, leakage, excessive agency). Extending toward full coverage.
Adaptive jailbreak
An adversarial loop that rewrites failed prompts and retries, on the PAIR/TAP methodology, to measure an LLM application's resistance to jailbreak.
From scan to verdict to report — every step is demonstrable.
For regulated buyers, this is the differentiator. Every finding keeps the tool, the exact command, the raw output, the timestamp and the executor as structured evidence — after secrets have been redacted, before storage.
- ✓ Complete evidence — command + raw output + HTTP request/response captured on each finding.
- ✓ Verdict + confidence + false-positive probability — persisted with each finding, exposed by the API.
- ✓ Bilingual RO/EN reports — PDF + DOCX, versioned, with a branding snapshot.
- ✓ Controlled access — hashed download token, expires (14 days by default), download cap.
- ✓ Administrative audit log — who, what action, old/new value, IP, user-agent, timestamp.
- ✓ STIX export — interoperability with external SIEM / threat-intel.
SaaS, on-premises or air-gapped — from the same build.
A four-container stack (edge TLS → control plane → engine → database), packaged two ways. The regulated client runs ARTEMIS in its own infrastructure, fully isolated. A native agent is added that scans from inside the network over a secure connection with a per-agent token.
flowchart TB
Q{"How sensitive<br/>is the data?"}
Q -->|"standard"| SAAS["SaaS · scanope.com<br/>platform + AI in CAI cloud"]
Q -->|"mixed"| HYB["Hybrid<br/>data & models at the client"]
Q -->|"regulated / isolated"| ONP["On-premises / air-gapped<br/>full stack + local AI"]
classDef q fill:#fef9c3,stroke:#ca8a04,color:#713f12
classDef a fill:#dbeafe,stroke:#3b82f6,color:#1e3a8a
class Q q
class SAAS,HYB,ONP a | Feature | SaaS | Hybrid | On-premises |
|---|---|---|---|
| Hosting | CAI cloud (scanope.com) | — | Client |
| Runs in the client's infrastructure | No | Partial | Yes |
| Works without internet (air-gapped) | — | Partial | Yes |
| AI models | Local, at CAI | At client | At client |
| Traceability + STIX export | Yes | Yes | Yes |
We test the platform on itself.
We run ARTEMIS against our own code — SAST plus adversarial audit — and fix everything that comes out, with a quality gate: clean review, SAST and DAST before every deploy. What you see is not a prototype, but the platform that verifies our own product.
A 30-minute technical conversation.
We show you the platform live on scanope.com, discuss the right delivery model, and — if you have requirements beyond what exists — we analyse them on the spot.