authentication

A security review of the processes that prove a person owns an account and keep that identity attached to later requests. It covers login and related account and session flows.

In plain words
What is it for?
Use it to inspect registration, login, logout, password changes and resets, remember-me features, multi-factor authentication, rate limits, password storage, tokens, cookies, and session rotation.
Why use it?
It helps find ways an outsider or lower-privilege user could bypass a login step, guess credentials, take over an account, or obtain a forged or unsafe session.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/emre-guler/websec/authentication
Any agent
npx skills add emre-guler/websec --skill authentication
Clone the repo
git clone --depth 1 https://github.com/emre-guler/websec

Made for: Claude Code, Codex.

Per session 65 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,679 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00065 $0.05679
Opus 5 $0.00032 $0.02840
Sonnet 5 $0.00013 $0.01136
Haiku 4.5 $0.00006 $0.00568

Measured 2d ago against content hash ce3bb8913ced, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

authentication scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/authentication/SKILL.md · 175 lines

How it starts

The opening of the file, as written. The whole thing — 175 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Authentication Detection

Overview

Authentication establishes that a caller is the account holder they claim to be, and keeps that claim attached to subsequent requests. It sits at the very front of the request lifecycle: the login handler and its supporting flows — registration, remember-me, password reset, password change, the second-factor challenge — form the first trust boundary a request crosses, and the session issued at the end of it carries the result. It fails when the identity decision is made from data the caller controls, when guessing is not effectively limited, when a step of the flow can be skipped, when a supporting token is predictable, or when the session that encodes the result is forgeable or never rotated. The attacker is an unauthenticated outsider, or a low-privilege user climbing into a higher-privilege account; what they gain is the full authority of the account they land in. This skill finds such gaps by locating every site where identity is proved or a session is issued, verifying each one in parallel, and merging the results into <output_dir>/authentication-results.md.

What it is NOT

  • Access control (/websec:access-control): the caller is already identified and the permission decision is missing or wrong. Test: if the attack requires a valid session for some account and then reaches across a boundary, it is authorization. Here the attack manufactures a session that was never legitimately issued.
  • Federated login (/websec:oauth): a delegated sign-in flow, its state, redirect_uri, and token exchange. A local password flow that merely offers a social button is still judged here; the delegated flow itself is not.
  • Token forgery mechanics (/websec:jwt): signature checking, algorithm pinning, claim validation of a signed token. If the session is a signed token and the weakness is in how it is validated, that is the sibling skill; if the weakness is that the login flow issues it too early or never rotates it, it is here.
  • Reset-link poisoning source (/websec:host-header): the mechanism by which a request header reaches a generated URL. The reset flow's decision to trust that header for its link is judged here; a general header-reflection issue is not.
  • Disclosure (/websec:information-disclosure): an error page or debug route that happens to reveal a username. An oracle that lives in an authentication endpoint — different messages, statuses, or timings for existing vs missing accounts — is judged here.
  • Business logic (/websec:business-logic): domain workflows outside the credential flows — checkout, refunds, approvals — and their sequencing. This skill owns the login, registration, reset and multi-factor state machine, including a step skipped, reordered, or replayed to arrive at an authenticated state, plus any guessable code that substitutes for a credential; a guessable code that carries value but no identity (coupon, referral, gift card) is theirs.
  • Counter races (/websec:race-conditions): concurrent requests slipping past an attempt counter. Note it, classify it there. Predictable token generation stays here: a reset or session token seeded from a timestamp, a weak PRNG, or a sequence is this skill's finding whatever the load, and becomes a race only when two overlapping requests collide and are handed the same value.
  • Not a finding: an absence of login, lockout, or session code in a service that architecture.md records as authenticated by an external layer — a gateway, an identity provider, a shared library, or a sibling service. Read the "Enforced where" column and the trust-boundary section before reporting that a service has no authentication. Judge the external configuration where it is readable; where it is not, the label is NEEDS MANUAL REVIEW naming what a human must open. What is judged here: whether this service establishes identity from something it never verified — a user, role, or tenant header attributed to an upstream hop, a claim copied out of a request context — and whether a caller reaching it directly would be believed.
  • Not a finding: a single generic failure message plus a benign redirect; timing jitter with no consistent, measurable gap; a genuinely enforced challenge after a threshold; a framework auth backend used in its documented form with its lockout and hashing settings configured.

Read the full file on GitHub · 175 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 175 lines · 65 tokens per session scan A ce3bb8913ced

Subscribe to this mod's changes

authentication is a skill published in the GitHub repository emre-guler/websec (2 stars, last pushed 5d ago), licensed MIT. It adds 65 tokens to every session and 5,679 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

vantage

Autonomous, artifact-driven SAST (Static Application Security Testing) for web AND mobile app repositories, plus optional code-level remediation. Use whenever the user asks to security-review, pentest, audit, or scan a codebase for vulnerabilities — web (SQLi, XSS, IDOR/BOLA, auth bypass, SSRF, XXE, hardcoded secrets…

tinoimammp/vantage-security-agent · 230 tokens

prowler-ui

Prowler UI-specific patterns. For generic patterns, see: typescript, react-19, nextjs-16, tailwind-4. Trigger: When working inside ui/ on Prowler-specific conventions (shadcn, folder placement, actions/adapters, shared types/hooks/lib).

prowler-cloud/prowler · 64 tokens

prowler-test-api

Testing patterns for Prowler API: JSON:API, Celery tasks, RLS isolation, RBAC. Trigger: When writing tests for api/ (JSON:API requests/assertions, cross-tenant isolation, RBAC, Celery tasks, viewsets/serializers).

prowler-cloud/prowler · 62 tokens

prowler-pr

Creates Pull Requests for Prowler following the project template and conventions. Trigger: When working on pull request requirements or creation (PR template sections, PR title Conventional Commits check, changelog gate/no-changelog label), or when inspecting PR-related GitHub workflows like conventional-commit.yml…

prowler-cloud/prowler · 84 tokens

tailwind-4

Tailwind CSS 4 patterns and best practices. Trigger: When styling with Tailwind (className, variants, cn()), especially when dynamic styling or CSS variables are involved (no var() in className).

prowler-cloud/prowler · 47 tokens

prowler-docs

Prowler documentation style guide and writing standards. Trigger: When writing documentation for Prowler features, tutorials, or guides.

prowler-cloud/prowler · 31 tokens