TECHNOLOGIES: ARGO CD

Argo CD Security Review

Argo CD syncs your cluster to whatever Git access, RBAC roles and destination privileges your team configured. We test those projects, policies, repository credentials and cluster secrets, not Argo CD’s own code. CREST-certified testers, fixed price from £3,740 for a 3-day single-cluster 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
Argo CD 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
2

Argo CD ships only two built-in roles, role:readonly and role:admin. Every other permission in the system comes from the policy.csv your team writes.

An Argo CD instance is only as locked down as the projects, RBAC policy and cluster credentials your team configured

Every Argo CD Application belongs to a project, and Argo CD’s own documentation on projects confirms that an application left unassigned falls into the default project, which is created automatically with the widest possible specification: any source repository, any destination cluster and namespace, and every Kubernetes resource kind whitelisted. Locking that project down, or moving applications into scoped projects with their own source repository and destination restrictions, is a decision your platform team has to make; Argo CD does not make it for you.

Access to the Argo CD API and UI is controlled entirely by the policy.csv your team writes into the argocd-rbac-cm ConfigMap, built on two pre-defined roles, role:readonly and role:admin, which Argo CD itself defines as read-only access to all resources and unrestricted access to all resources respectively. The policy.default setting decides what any authenticated user gets if no explicit rule matches them, and if anonymous access is switched on in argocd-cm, unauthenticated visitors assume that same default role too. We test which policy.csv rules and default role are actually in force against what the platform team intended.

We review the projects, policy.csv rules, admin account, SSO configuration, repository credentials and destination cluster secrets configured on your own Argo CD instance, the same way we test client configuration on a Kubernetes cluster rather than Kubernetes itself. We never test Argo CD’s own codebase or attempt to find vulnerabilities in the open-source project.

SCOPE

What we review on a single-cluster Argo CD deployment

AC-01

Projects and Source Repository Restrictions

Every Application belongs to a project, and Argo CD documents that an application left unassigned falls into the default project, created automatically with sourceRepos set to a wildcard so any Git repository can be used as a source. Locking a project’s sourceRepos down to the specific repositories a team actually owns is what stops a compromised or malicious repository elsewhere in the organisation from being synced through that project. We test which projects exist, what their sourceRepos actually allow, and whether the default project has been left at its original, unrestricted specification.

AC-02

Destination Clusters and Namespaces

A project’s destinations field lists the clusters and namespaces its applications are allowed to deploy into, and Argo CD’s global projects feature lets a namespaceResourceBlacklist, clusterResourceWhitelist or destinations list be inherited by every project matching a label selector rather than set individually. We test which clusters and namespaces each project can actually reach, whether a project meant for a single namespace can deploy cluster-scoped resources, and whether global project inheritance has widened access beyond what an individual project’s own specification shows.

AC-03

RBAC Policy.csv and Built-in Roles

Argo CD ships two pre-defined roles, role:readonly for read-only access to all resources and role:admin for unrestricted access to all resources, and every other permission comes from the p and g lines your team writes into the policy.csv held in the argocd-rbac-cm ConfigMap. The policy.default setting decides what an authenticated user with no matching rule is granted, and role inheritance lets one role be built on top of another. We test the actual policy.csv against what each group and user is meant to hold, and whether policy.default grants more than intended by default.

AC-04

Project Roles and CI Pipeline Tokens

A project role is a named set of policies scoped to that project alone, and Argo CD documents issuing a JWT token against a project role, for example to give a CI pipeline permission to sync a single application without letting it change that application’s source or destination. Those tokens can be created with an expiry, listed, and individually revoked. We test which project role tokens exist, what a CI pipeline’s token can actually reach beyond the sync it was issued for, and whether an old token has ever been revoked.

AC-05

Admin Account and Local Authentication

Argo CD ships one built-in admin user with full access to the system, and its documentation recommends using admin only for initial configuration before switching to SSO or dedicated local users. On Argo CD 1.9 and later the initial admin password is generated and stored in the argocd-initial-admin-secret; the password itself is kept as a bcrypt hash in the argocd-secret Secret, and changing it immediately revokes every admin JWT already issued. We test whether the admin account is still in everyday use, whether its initial secret was ever rotated, and who still holds a valid admin session.

AC-06

SSO via Dex or an External OIDC Provider

Argo CD bundles Dex to delegate authentication to an external identity provider over OIDC, SAML, LDAP or GitHub, configured through connector settings in the argocd-cm ConfigMap, and an organisation can instead point Argo CD directly at its own OIDC provider without Dex. Whichever route is used, the groups and email claims an identity provider returns are what the policy.csv actually keys its g lines against. We test how those claims map onto RBAC groups, and whether a group claim from the identity provider grants more than the platform team intended.

AC-07

Repository Credentials

Argo CD stores the credentials it uses to reach private Git repositories, SSH keys, HTTPS username and password or access token pairs, or a GitHub App’s installation ID and private key, and supports credential templates so one set of credentials covers every repository under a given URL prefix. A GitHub App credential needs only read-only access to a repository’s contents, but a broader template applied to an entire organisation’s URL prefix hands that same access to every repository Argo CD later connects under it. We test which credentials are configured, what scope they actually carry, and whether a template has been applied more broadly than the applications that use it need.

AC-08

Destination Cluster Secrets

To manage a cluster other than the one it runs in, Argo CD stores that cluster’s credentials as a Kubernetes Secret in its own namespace, holding the bearer token of the argocd-manager ServiceAccount created when the cluster was added, plus any TLS configuration or cloud role details needed to reach its API server. That token can be rotated by deleting it on the managed cluster and re-running the add command, but nothing forces that rotation to happen on its own. We test what the argocd-manager ServiceAccount can actually do on each managed cluster, and whether its bearer token has ever been rotated since the cluster was added.

AC-09

Automated Sync and Self-Healing

An application’s automated sync policy can prune resources removed from Git, and its self-heal option reverts any change made directly against the live cluster back to the state defined in Git; Argo CD documents both as inactive unless explicitly enabled. Whoever can edit the tracked Git repository or the application’s sync policy effectively controls what changes are allowed to persist in the cluster, whatever an operator does through kubectl. We test which applications have prune and self-heal enabled, and who can reach the Git repository or Argo CD configuration that drives them.

AC-10

API and UI Exposure

Authentication to the Argo CD API is performed exclusively with JSON Web Tokens, issued either by Argo CD itself for the local admin user or by the configured identity provider for SSO users, and anonymous access can be switched on in argocd-cm so that unauthenticated visitors assume the policy.default role without logging in at all. How the argocd-server is exposed, behind your own ingress, through a load balancer, or reachable only inside the cluster, determines who can reach that authentication boundary in the first place. We test how the server is actually exposed, whether anonymous access is enabled, and what an unauthenticated or low-privilege session can reach.

OUR PROCESS

Argo CD Security Review: From Scope to Attestation

01

Scope and Access

We agree which Argo CD instance, projects and destination clusters are in scope, plus at least one login for each RBAC role and a read-only kubeconfig for the clusters it manages.

02

Project and Policy Mapping

We map every project’s source repositories, destination clusters, RBAC policy.csv rules and project role tokens against the access they actually grant.

03

Manual Testing

A CREST-certified tester manually tests RBAC boundaries, project restrictions, repository and cluster credential exposure, and sync permissions, 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 Argo CD 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 Argo CD 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
£3,740–£5,500
3 to 4 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
£8,790–£13,390
6 to 8 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 Argo CD 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 Argo CD instance?

We need at least one login for each distinct RBAC role in use, ideally a role:readonly account rather than the built-in admin, plus a read-only kubeconfig for every cluster Argo CD manages. Read access to your current projects and policy.csv speeds up scoping but is not required to start.

Will testing touch our live data?

Testing focuses on projects, RBAC policy, repository credentials, destination cluster access and sync configuration rather than the contents of the applications Argo CD deploys. Where proving a finding needs a test sync or a scoped test application, we agree the exact scope with you first and remove anything we create once testing is complete.

Is this hosted on our infrastructure?

Argo CD is almost always self-hosted inside your own Kubernetes cluster, so the engagement is scoped to the projects, policy and credentials your team configured on that installation rather than to a vendor-hosted platform.

How long does an Argo CD security review take?

A single cluster with a typical set of projects, a handful of managed destination clusters and one identity provider integration sits in our 3-day single-cluster scope, with a report landing around 5 to 8 working days after kickoff. An instance managing many external clusters or running a large number of projects extends that scope.

What is out of scope for a single-cluster review?

Testing Argo CD’s own source code, the underlying Kubernetes control plane, and the CI pipelines that produce the manifests Argo CD syncs are not included, and we do not run denial-of-service testing against the argocd-server. Vulnerabilities in the applications Argo CD deploys are scoped and quoted separately.

Do you need our source code or admin access?

No. We test with the role accounts and access you provide, and we do not need standing admin access to Argo CD beyond what is needed to verify a specific finding during the engagement.

Does the Argo Project have a policy on customer penetration testing?

Argo CD is open-source software you run inside your own cluster, so there is no vendor notification process to follow before testing your own instance, and a genuine vulnerability in Argo CD’s own code is reported through the Argo Project’s published security policy on GitHub instead.

Are your testers CREST certified?

Yes. Every Argo CD 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 Argo CD cluster

Argo CD syncs your cluster to whatever Git access, RBAC roles and destination privileges your team configured. We test those projects, policies, repository credentials and cluster secrets, not Argo CD’s own code. CREST-certified testers, fixed price from £3,740 for a 3-day single-cluster scope, quoted within 24 hours.