TECHNOLOGIES: WEAVIATE

Weaviate Security Review

Weaviate’s default setup runs with anonymous access on and no roles configured at all. We test authentication, role and tenant permissions, and what one tenant’s query can reach in another. CREST-certified testers, fixed price from £2,620 for a 2-day single-instance scope, quoted within 24 hours.

  • Unlimited retesting
  • Unlimited pre-retesting
  • No hidden fees
Accredited & recognised
Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified Crown Commercial Service supplier UK Cyber Security Council member
CREST
Approved Provider
10
Weaviate Test Areas
FREE
Retest Until Closed
24h
Scope to Active Test
CLIENT REFERENCE
“I would highly recommend EJN Labs to any organisation seeking reliable, detailed, and well-managed penetration testing services, particularly for government or enterprise-level projects.”
SquareOneImran SaghirProject Lead, SquareOneRead the SquareOne case study →
CLIENT REFERENCE
“There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.”
CelloriDan WilcocksonFounder, CelloriRead the Cellori case study →
See all case studies →
WHY IT MATTERS
true

Weaviate’s own default Docker command sets AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED to true, and its documentation calls anonymous access strongly discouraged outside development or evaluation. We test whether it is still switched on, and what role a request without any credentials can reach.

Why Weaviate security comes down to what RBAC and multi-tenancy actually enforce

Weaviate’s own Docker Compose guide confirms that its documented default command sets AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED to true, and its authentication documentation calls anonymous access strongly discouraged outside development or evaluation. Role-based access control is a separate switch again: Weaviate’s RBAC configuration guide turns it on through its own environment variable, and Weaviate ships with exactly two predefined roles, root with full access to every resource and viewer with read-only access to every resource; any authenticated user assigned neither has no permissions at all. Weaviate’s own RBAC overview warns that permissions to manage roles can be used to escalate privileges by assigning further roles to a user, and says they should only ever go to trusted accounts, so we test who holds that permission against who genuinely administers the deployment.

That same model scopes down to individual tenants: Weaviate’s documentation on managing roles lists a Data Objects permission that can be filtered by both collection name and tenant name, so a role can be scoped to a single tenant of a single collection rather than the whole deployment. Multi-tenancy is documented as isolation by shard, with Weaviate’s multi-tenancy guide stating plainly that data stored in one tenant is not visible to another, but which tenant a request actually reaches is chosen by a tenant identifier the calling application passes on every query, and the same guide warns that near-identical names such as TenantOne, tenantOne and TenntOne become three separate tenants once automatic tenant creation is switched on. We test whether that identifier is checked against the caller’s own account before a query runs. For the wider family of technologies this scope splits from, see our NoSQL, cache and streaming security review.

Authentication goes deeper than the three top-level methods suggest. Weaviate’s OIDC configuration reference notes that skipping the client ID audience check is not recommended because it reduces security, and its group role mapping guide is explicit that Weaviate has no API to create a group and only becomes aware of one the first time a role is assigned to it, with no automatic re-sync against your identity provider afterwards. Weaviate Cloud moves the same questions into a console: a new cluster ships with no API keys, each key is bound to a role and shown in full only once, and Weaviate’s Weaviate Cloud authorization guide confirms role changes take effect immediately for every key assigned to that role. Weaviate also runs a public disclosure programme scoped to Weaviate Cloud sandbox accounts, the console service and its open-source repository, and we confirm your own cluster’s testing terms against that scope during scoping. For how the same tool-permission and retrieval questions play out in a RAG application built on top of it, see our AI penetration testing.

SCOPE

What we review in a Weaviate deployment

WV-01

Authentication Methods and Anonymous Access

Weaviate authenticates users through API keys, OpenID Connect or anonymous access, and its documented default Docker command sets AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED to true, a setting its own documentation calls strongly discouraged outside development or evaluation. We test which of these methods are actually enabled on the instance in scope, and what an unauthenticated request can still reach if anonymous access was never turned off.

WV-02

OIDC Audience Checks and Group Role Mapping

Weaviate’s OIDC configuration maps a token claim such as email to a Weaviate username and validates the token’s audience against a configured client ID, a check its own reference calls not recommended to skip because doing so reduces security; Weaviate also has no API to create a group and only becomes aware of an OIDC group the first time a role is assigned to it, with no automatic re-sync against your identity provider afterwards. We test whether the audience check is enforced and whether a group’s Weaviate roles still match what that group is used for today.

WV-03

RBAC Roles and Role-Management Privilege Escalation

Weaviate ships two predefined roles, root with full access to every resource and viewer with read-only access to every resource, and any authenticated user assigned neither has no permissions at all; its own documentation warns that permissions to manage roles can be used to escalate privileges by assigning further roles to a user, and says these should only ever go to trusted accounts. We map who actually holds role-management permissions against who genuinely needs to administer the deployment.

WV-04

Data Object Permissions Scoped by Collection and Tenant

Weaviate’s Data Objects permission can be filtered down to a collection name and a tenant name at the same time, so a role can be restricted to reading or writing objects in one tenant of one collection rather than the whole deployment. We test whether the roles and API keys your application actually uses are scoped this tightly, or whether a key built for one tenant can still reach another because the filter was never applied.

WV-05

Multi-Tenancy Isolation and the with_tenant Call

Weaviate documents multi-tenancy as isolation by shard, with data stored in one tenant not visible to another, but which tenant a given request actually reaches is chosen by a tenant identifier the calling application passes with a with_tenant call on every query. We test whether that identifier is checked against the caller’s own account before the query runs, the same boundary that matters most in a RAG application serving more than one customer from the same collection.

WV-06

Auto-Tenant Creation and Near-Duplicate Tenant Names

By default Weaviate returns an error when you insert into a tenant that does not exist, but with autoTenantCreation enabled it creates one silently, and Weaviate’s own documentation warns that TenantOne, tenantOne and TenntOne are created as three separate tenants rather than treated as one. We test whether autoTenantCreation is switched on where it does not need to be, and whether an unvalidated tenant name from a client request can spin up an empty tenant instead of failing safely.

WV-07

Where-Filter Construction in Queries and Batch Deletion

Weaviate’s where filter, built from a property, an operator such as Equal or GreaterThan, and a value, applies to object-level queries, aggregate queries and batch deletion alike. We test the code that builds that filter for unsanitised input reaching it, particularly on batch deletion, where a manipulated filter can remove far more than the caller was ever meant to touch.

WV-08

Backup Permissions and Collection Scope

Weaviate’s RBAC model gives backups their own resource type, scoped by a collection name filter, so a role can be limited to managing backups for specific collections rather than the whole deployment. We test who actually holds backup permissions against who needs them, and whether a role created for backup automation can also read or restore collections it was never meant to touch.

WV-09

Weaviate Cloud API Keys and Console Roles

A new Weaviate Cloud cluster ships with no API keys until you create one, each key is bound to a role such as admin or viewer or a custom role, and a key is shown in full only once and cannot be retrieved again after that. We test where each key ends up stored in your application, what role it actually carries, and whether a role change in the console reaches every key that depends on it the way Weaviate documents.

WV-10

Cluster and Node Metadata Exposure

Weaviate’s RBAC model separates Cluster Data Access, which reads cluster metadata, from Node Data Access, which reads node metadata at a minimal or a verbose level, with the verbose level scoped down by collection name. We test which roles and API keys can read this metadata, and whether a broadly scoped grant reveals more about your deployment’s collections than the caller needs to see.

OUR PROCESS

Weaviate Security Review: From Scope to Attestation

01

Scope and Access

We agree which collections, tenants and Weaviate Cloud clusters or self-hosted instances are in scope, plus an authenticated user or API key for every role you want tested.

02

Role and Tenant Mapping

We map every RBAC role, OIDC group and tenant against who or what actually needs that level of access, on self-hosted Weaviate and Weaviate Cloud alike.

03

Manual Testing

A CREST-certified tester manually tests authentication and anonymous access, RBAC role scope and privilege-escalation paths, tenant isolation and auto-tenant creation, and where-filter handling in queries and batch deletion, chaining findings where they compound.

04

Attestation and Retest

You get a technical report with CVSS scores and reproduction steps, a walkthrough call, a free retest once fixes are deployed, and an attestation letter for auditors.

CREDENTIALS

Verified Accreditations Auditors Accept

Every credential below is independently verifiable. UK procurement teams, FCA supervisors, ISO 27001 / SOC 2 auditors, and cyber insurance underwriters all recognise these standards.

GET YOUR QUOTE

Get a CREST Weaviate pen test quote in 24 hours

A fixed-price quote back in one business day, from a named CREST assessor. No sales pipeline, no chasing.

  • CREST and IASME accredited. Testing your auditors and clients already recognise.
  • Fast-track testing within 24 hours where required. Free retest of every fix included.
  • Live findings via your client portal, not a four-week PDF.
  • Fixed price from £3,500 for a single-role, single-app scope, agreed up front. Most engagements run £5,000 and up. No day-rate surprises.
What clients say
There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.
CelloriDan WilcocksonFounder, Cellori

Under NDA Further named references available on a scoping call.

What happens next
  1. We reply within one business day with a fixed-price quote from a named CREST assessor.
  2. You approve the scope and we book a start date, usually within 24 hours.
  3. Live findings land in your client portal as we test, with a free retest of every fix.
Accredited & recognised
CREST member Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified UK Cyber Security Council Crown Commercial Service supplier

Get your fixed pen test quote in 24 hours

⚡24h reply ✓CREST tester ↻Free retests

or book a 20-min scoping call first

We reply within one business day. Your data stays with us. No newsletter signup.

COMPLIANCE READY

Reports Mapped to Every Framework

Findings are written so your team can reference the report against each framework without translation work.

ISO 27001:2022

Annex A.8.8 management of technical vulnerabilities plus A.5.15-5.18 and A.8.2-8.5 access control validation.

SOC 2 Type I & II

CC6 logical access, CC7 system operations, CC8 change management evidence.

PCI DSS

Requirement 11.4 application penetration testing across cardholder data environments, including ecommerce penetration testing for online retail platforms.

FCA SYSC

SYSC 4.1.1R, 6.1.1R, 13 mapped to each finding for FCA-regulated firms.

UK GDPR

Article 32 effectiveness testing, customer-data security controls, ICO-acceptable evidence.

Cyber Essentials Plus

Direct certification through our IASME body status, single-vendor delivery.

PRICING

Transparent Weaviate Security Review Pricing

Pricing depends on the number of roles, integrations and environments in scope. See our pricing page for how we quote.

✦ ALWAYS · ON EVERY TIER · NO EXCEPTIONS ✦
✓Free retests, no time limit
✓Free rescheduling
✓No cancellation fees
✓24-hour scope to active testing
✓Live findings to client portal
✓Executive + technical report
✓60-min walkthrough call
✓Letter of attestation
SMALL / SMB
£2,620–£3,940
2 to 3 testing days

Single user role, basic CRUD application, marketing website with auth. Around 5 working days from kickoff to report.

Get a fixed quote
ENTERPRISE
£6,110–£8,730
4 to 6 testing days

Multi-tenant platform, complex authorisation matrix, integration-heavy applications. Around 15 to 20 working days from kickoff to report.

Get a fixed quote

Full UK pen test cost guide

WHY EJN LABS

What You Get From Weaviate Security Review

Six concrete differentiators competitors don’t all match.

CREST-Certified Testers, Verifiable

Every test by a CREST-certified pen tester (CRT, CCT APP, CCT INF where applicable). Verify our company status at crest-approved.org.

24-Hour Startup, Where Required

From signed scope to active testing in a single business day for incident response, audit deadlines, or regulator-driven timelines.

Live Findings, Not 4-Week PDFs

Critical issues reported during testing through your client portal. Your team remediates while testing continues.

Audit-Ready Reports

Executive summary plus full technical report with CVSS scores and explicit framework mappings (ISO 27001, SOC 2, PCI DSS, FCA SYSC).

Free Retests, Standard

Verify remediation of every finding before close-out. Letter of attestation for audit submission included. Most competitors charge £1,500-£3,000 per retest.

UK-Based CREST Testers

Every engagement performed by vetted, UK-based CREST-certified testers, matched to your needs, security clearance, and compliance scope.

FAQ

Frequently Asked

What access do you need to test our Weaviate deployment?

We need at least one authenticated user or API key for every role you want tested, from a viewer-level key through to one holding role-management permissions, plus the names of every tenant a multi-tenant collection uses. On Weaviate Cloud we also need console access or an admin-scoped key so we can review roles and API key assignments directly.

Will testing touch our live data?

We test the collections, tenants and clusters you nominate, working against your actual roles, filters and API keys rather than a copy, so we agree exclusions such as batch deletion or destructive backup restores before testing starts. We do not export real customer data or run destructive tests without that agreement in writing.

Do you test self-hosted Weaviate and Weaviate Cloud the same way?

The underlying questions are the same: which authentication methods are enabled, what each role can reach, and whether tenant isolation holds under a query your application actually builds. What differs is the boundary, since Weaviate Cloud manages the host and issues API keys through its own console, so we confirm during scoping exactly what you control on your plan and test to that boundary.

Is Weaviate’s multi-tenancy isolation automatic, or does our application have to enforce it?

Weaviate stores each tenant on a separate shard and its documentation confirms that data in one tenant is not visible to another at the storage level, but which tenant a given request reaches is chosen by a tenant identifier your application passes on every call. We test whether that identifier is validated against the caller’s own identity before the query runs, not just whether multi-tenancy is switched on.

What is out of scope for a single-instance Weaviate review?

We never test Weaviate’s own source code, the underlying host or infrastructure behind a Weaviate Cloud cluster, or Weaviate Cloud’s shared platform itself. We test the authentication, roles, tenant configuration and application-level query handling for the instance or cluster you nominate, and a separately hosted application that happens to query it is scoped and quoted on its own.

Does Weaviate have a policy on customer penetration testing?

Weaviate runs a public responsible disclosure programme covering Weaviate Cloud sandbox accounts, the console.weaviate.cloud service and the latest released version of its open-source repository, but that programme is not the same as a rule allowing customers to test their own production cluster. We confirm Weaviate’s current terms for testing your own cluster during scoping and test within them.

How long does a Weaviate security review take?

A single Weaviate instance or Weaviate Cloud cluster, with a limited number of collections, tenants and roles, sits in our 2-day single-instance scope, with a report typically landing around 5 working days after kickoff. More collections, multiple tenants at scale, or a mix of self-hosted and Weaviate Cloud deployments moves into a larger scope with more testing days.

Are your testers CREST certified?

Yes. Every Weaviate engagement is carried out by UK-based, CREST-certified testers, and your report and attestation letter are recognised by auditors and insurers accordingly.

EXPLORE EVERY SERVICE

20+ CREST-accredited testing services in one place

Web, mobile, API, cloud, AI, infrastructure, red team. Pick the test that fits your environment.

Penetration testing services
READY TO START

Get a fixed price for your Weaviate review

Weaviate’s default setup runs with anonymous access on and no roles configured at all. We test authentication, role and tenant permissions, and what one tenant’s query can reach in another. CREST-certified testers, fixed price from £2,620 for a 2-day single-instance scope, quoted within 24 hours.