Alexander Vassbotn Røyne-Helgesen PRO
Lover of life, technologist at heart
Confidential · October 2026
What the architecture discovery found, what to confirm in production, and what to do first.
Alexander · Tech Lead
Before we start
Summary
Confidential. Static review of 19 repositories, snapshot 2026-10-11, refreshed 2026-10-13; cloud configuration read 2026-10-14. Nothing tested against live systems.
01
P0 · Identity and tokens
| ID | Finding | Potential impact |
|---|---|---|
| SEC‑01 | An endpoint without authentication issues long-lived login tokens for a given username | Account takeover in any tenant |
| SEC‑02 | Tokens are not bound to a tenant; the tenant comes from the request | A token from one tenant may act in another |
| SEC‑03 | One shared API key authenticates as the first user of any tenant | Full cross-tenant access if the key leaks |
P0 · Anonymous access
| ID | Finding | Potential impact |
|---|---|---|
| SEC‑24 | Anonymous write APIs on public hosts: planning, requests, quotations, Bus Network sync | Anyone can change operational and sales data in any tenant |
| SEC‑25 | SMS and email can be sent through a tenant's provider without login | SMS cost abuse; phishing from a customer's sender |
| SEC‑28 | Upload and download links for any tenant's file storage, without login | Arbitrary uploads; downloads of known files |
P0 · Satellite services
| ID | Finding | Potential impact |
|---|---|---|
| SEC‑04 | Bus Network takes the company from the request; some routes are protected only by a key in the browser | Cross-operator data access |
| SEC‑07 | A Customer Portal route has no user authentication | Disclosure of a user's organisation access |
| SEC‑08 | Customer Portal picks the target operator from the request and calls TEQ with one shared master token | A user of operator A may act on operator B |
| SEC‑09 | The public API proxy forwards partner tokens to a host taken from the request | Partner tokens sent to a host an attacker chooses |
P0 · Secrets
| ID | Finding | Potential impact |
|---|---|---|
| SEC‑05 | Policy-service credentials committed to git | Policy store and token signing compromised, if values match an environment |
| SEC‑06 | Kubernetes secrets printed in CI logs; a database URI logged by the policy service | Anyone with log access can read secrets |
| SEC‑10b | Tokens and secrets printed to CloudWatch by gateway functions | Reusable credentials for anyone with log access |
02
New · Infrastructure
| ID | Finding | Potential impact |
|---|---|---|
| SEC‑44 | Production database reachable from 33 internet address ranges (confirmed live) | Direct database access from outside AWS |
| SEC‑45 | Infrastructure changes apply on merge with static cloud keys; one self-approvable approval | Weakly reviewed changes to production |
| SEC‑46 | Cluster management API open to the internet (confirmed live); no secrets encryption or audit logs | Larger attack surface, no trail |
| SEC‑47 | Infrastructure state committed to git inside old plan files | Resource details, possibly secrets, in history |
| SEC‑48 | All environments run in the organisation's main account, with one deploy key | Dev access reaches production's account |
New · Partner API, packages and CI
New · Cloud access · SEC-50
New · Tenant isolation · SEC-51
03
Confirm · read-only
Rotate now
High findings
Sequence
Agree today
Thank you
Alexander · Tech Lead
By Alexander Vassbotn Røyne-Helgesen