crypto

A security review of cryptography, the methods applications use to protect passwords, stored data, tokens, and signed messages.

In plain words
What is it for?
Checking password hashing, encryption, random values, tokens, signatures, message checks, key derivation, and certificate verification.
Why use it?
It finds weak settings and unsafe handling that could let attackers guess passwords, read protected data, forge values, or bypass secure connections.

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/crypto
Any agent
npx skills add emre-guler/websec --skill crypto
Clone the repo
git clone --depth 1 https://github.com/emre-guler/websec

Made for: Claude Code, Codex.

Per session 91 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 6,379 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.00091 $0.06379
Opus 5 $0.00046 $0.03189
Sonnet 5 $0.00018 $0.01276
Haiku 4.5 $0.00009 $0.00638

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

Security

Grade A, and why

crypto 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/crypto/SKILL.md · 161 lines

How it starts

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

Cryptographic Failure Detection

Overview

Cryptography in an application is a small set of promises: that a stored password cannot be turned back into a password, that a ciphertext reveals nothing and cannot be altered undetected, that a token nobody issued cannot be guessed, that a signed value is the value that was signed. Every promise rests on a primitive plus the parameters it is handed, and it is almost always the parameters that fail — a digest chosen for speed where slowness was the point, a nonce that never changes, a random source built for simulations rather than secrets, a comparison that returns early. The attacker is either offline, holding a stolen table or a ciphertext and grinding at it with no rate limit, or online, predicting the next token, flipping bits in a cookie, or sitting between the application and a service whose certificate it declined to check. What they gain is every password in the table, the plaintext behind every stored field, or a forged value the application treats as its own. This skill finds such gaps by locating every site where a cryptographic decision is made, verifying each one in parallel, and merging the results into <output_dir>/crypto-results.md.

What it is NOT

  • Credential material in the repository (/websec:secrets): a key, password, or token committed to source, configuration, or a client bundle. Test: would the finding survive if the value were replaced by a strong one from a managed source? If yes it is here, because the defect is in how the key is used; if the whole finding is that the value is in the repository, it is theirs. A good key used badly is here; a committed key is theirs.
  • Signed-token mechanics (/websec:jwt): algorithm allowlists, header-driven key selection, unsecured mode, claim assertion, key-set fetching. Test: is the question which algorithm the token may name, or whether the primitive and its parameters are sound at all? The first is theirs; the second is here.
  • The credential flow (/websec:authentication): login rate-limiting, lockout, how a reset link is issued and expired, how a session ends. Test: remove the flow and keep the storage — is the weakness still there? A password under a fast digest is here; a reset that never expires is theirs. A reset token's predictability is here; what the flow does with it is theirs.
  • Data that was never protected (/websec:information-disclosure): a field returned in a response, logged, or shipped in a bundle in the clear. Test: was there a control that broke, or was there no control? Nothing applied is theirs; a control applied with parameters that make it breakable is here.
  • Not a finding: a fast digest as a checksum, cache key, ETag, or content-addressed filename, where nothing security-relevant rests on collision resistance; a general-purpose generator behind jitter, sampling, or display order; an unauthenticated cipher whose ciphertext never leaves the process; a work factor lowered in a test configuration the deployed one overrides. Naming a deprecated primitive is not the finding — what depends on it is.

Read the full file on GitHub · 161 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 · 161 lines · 91 tokens per session scan A 79805891ad10

Subscribe to this mod's changes

crypto is a skill published in the GitHub repository emre-guler/websec (2 stars, last pushed 5d ago), licensed MIT. It adds 91 tokens to every session and 6,379 once invoked, about $0.0005 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