Session token reaches a privileged route after expiry— The refresh path accepts a stale device-code session before the guard rechecks ownership.
AttackAuthentication Injection8:20 AM Cloud9:21 AM Identity10:22 AM Supply chain11:23 AM AI agents12:24 PM Data exposure1:25 PM Authentication2:26 PM Injection3:27 PM Cloud1:49 PM Supply chain2:50 PM Containers3:51 PM Identity4:52 PM Authentication5:53 PM Cloud6:54 PM Injection7:55 PM AI agents8:56 PM Data exposure9:57 PM Supply chain10:58 PM Containers8:20 PM Authentication9:21 PM Cloud10:22 PM Supply chain11:23 PM Post-quantum12:24 AM Post-quantum1:25 AM Identity2:26 AM Data exposure3:27 AM Containers4:28 AM AI agents5:29 AM Cloud3:51 AM Injection4:52 AM Authentication5:53 AM Supply chain6:54 AM Data exposure7:55 AM Containers8:56 AM Identity9:57 AM Cloud10:58 AM Post-quantum11:59 AM AI agents12:00 PM Data exposure10:22 AM Cloud11:23 AM Supply chain12:24 PM Containers1:25 PM Authentication2:26 PM Identity3:27 PM Proof
7:19 AM
Account lookup reaches the SQL sink unsanitized— Request input crosses two calls before a dynamically constructed query.
Metadata endpoint reachable through an open redirect— A permissive redirect lets a request reach the instance metadata service.
Object authorization skipped on ownership transfer— The admin transfer path never rechecks that the caller owns the object.
Postinstall script runs in the production image— A transferred dependency executes during production image assembly.
Tool call reaches an internal host from model output— Model output steers a tool into an unrestricted internal request.
Customer PII returned on an unauthenticated route— A public profile route returns fields that require authentication.
Device-code replay reaches an admin handoff— A replayed device code walks a low-privilege login into an admin route.
Template render evaluates attacker-controlled input— User input reaches a template evaluator without escaping.
IAM role chain grants a confused-deputy path— A trusted service can assume a role it was never meant to reach.
Dependency confusion on an internal package name— An internal name resolves to a public package under the default registry.
Build cache restores an untrusted layer— A restored cache layer can smuggle a change past review.
Role drift leaves a stale admin grant— An admin grant outlives the person and the reason it was created.
JWT audience is not verified on refresh— The refresh path accepts a token minted for a different audience.
Public bucket resolves through a CNAME— A bucket reads as private but resolves as reachable via an alias.
NoSQL operator injection in the search filter— Query operators pass through the search filter unvalidated.
Agent inherits a broader tool scope than granted— Tool scopes are not isolated per delegation.
Debug endpoint leaks environment variables— A debug route echoes the process environment.
Transitive package pulls an unpinned postinstall— A second-level dependency runs an unpinned install script.
Image runs as root with a writable mount— The container runs privileged against a writable host path.
Password reset token does not expire on use— A reset token remains valid after it has been redeemed.
Lower priority (24) Expand
Overly permissive CORS on the public API— The API reflects any origin on credentialed requests.
Two dependencies away from a yanked release— A transitive dependency points at a yanked version.
RSA-2048 in the token signing path— Token signatures rely on a quantum-vulnerable primitive.
ECDH key exchange without a PQ fallback— The key exchange has no post-quantum hybrid mode.
Service account shared across two environments— One credential spans staging and production.
Verbose error returns a stack trace— An unhandled error returns internal detail to the client.
Base image is 40 days behind its patch line— The base image has drifted from its current patch release.
Prompt log stores raw tool arguments— Tool arguments, including secrets, are written to logs.
Security group allows 0.0.0.0/0 on 5432— The database port is open to the internet.
Path traversal possible in the file export— An export path joins user input without normalization.
Session cookie missing the SameSite flag— The session cookie omits SameSite, widening CSRF surface.
Lockfile drift between CI and local— CI resolves a different tree than local installs.
Analytics payload includes email addresses— An analytics event carries raw email addresses.
Secrets passed as build args in the image— Build arguments bake secrets into image history.
MFA not enforced for the billing role— A high-value role can sign in without a second factor.
Cloud function has no egress restriction— A function can reach arbitrary external hosts.
Certificate uses SHA-1 in the chain— A chain certificate is signed with a deprecated hash.
Tool router lacks a per-call rate limit— Tool calls are not bounded per session.
Response includes an internal request-id header— An internal correlation id is exposed to clients.
Region pinned to a single availability zone— The deployment has no cross-zone redundancy.
Dev dependency flagged as deprecated— A development-only dependency is deprecated upstream.
Healthcheck missing on a long-running worker— A worker has no liveness probe configured.
Login page lacks a rate-limit header— The login route advertises no rate limiting.
Unused service token older than 90 days— A service token has not been used in over a quarter.
7reachable
critical paths
critical paths
Connect code. See risk.Signed in · guest-97cb7b9f@cyberus.local · Sign out
✓ Read-only✓ Source not stored✓ No card
Examples
or
Public scan · prioritized findings · reviewable patch · evidence recordPrivate repositories require GitHub OAuth.