К основному содержанию
скилл CX Codex

jwt-decode — скилл для Claude Code: разбор JWT без проверки подписи

Раскладывает JWT на заголовок, payload и подпись, показывает claims и сроки. Полезен, когда нужно быстро понять, что внутри токена.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add jsonwebtoken/jwt-skills --skill jwt-decode -a claude-code
Открыть на GitHub

Что делает jwt-decode

Скилл берёт строку JWT, делит её по точкам на три части и декодирует первые две из base64url в JSON. На выходе — заголовок, payload со всеми claims и сырая строка подписи. Для exp, nbf и iat показывает и Unix-время, и читаемую дату в UTC; если exp уже прошёл, помечает токен как просроченный и указывает, насколько давно.

Отдельно прогоняет проверки безопасности. Подпись не проверяется вообще — это работа скилла jwt-validate, поэтому доверять содержимому нельзя. Зато alg: none он подсветит: такой токен не подписан, и подделать его может кто угодно. Ещё обратит внимание на пароли, ключи и персональные данные прямо в claims, на отсутствие exp и на поля jku, jwk, x5u в заголовке.

Если в заголовке стоит cty: JWT, payload окажется вложенным токеном, и скилл разберёт его рекурсивно. При ошибке декодирования сообщит, что именно сломалось: битый base64, невалидный JSON или не то число сегментов. Ставить есть смысл, когда вы регулярно ковыряете токены руками — но помните, что этот скилл показывает содержимое и ничего не говорит о подлинности.

Какие задачи решает

  • посмотреть, какие claims лежат внутри токена
  • проверить, не истёк ли срок действия exp
  • найти пароли и ключи, случайно попавшие в payload
  • распознать токен с alg: none и без подписи
  • разобрать вложенный JWT из поля cty

Примеры запросов агенту

  • разбери этот JWT и покажи claims
  • что внутри этого токена?
  • проверь срок действия этого JWT

Как установить jwt-decode

1Через Skills CLI (Vercel)

npx skills add jsonwebtoken/jwt-skills --skill jwt-decode -a claude-code

2Вручную: положить файлы

~/.claude/skills/jwt-decode/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/jwt-decode/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о jwt-decode

Как установить jwt-decode в Claude?

Выполните npx skills add jsonwebtoken/jwt-skills --skill jwt-decode -a claude-code. Скилл окажется в ~/.claude/skills/jwt-decode/SKILL.md.

Что делает jwt-decode?

Декодирует заголовок и payload JWT из base64url и показывает все claims вместе с датами exp, nbf и iat. Подпись не проверяет.

Чем jwt-decode отличается от jwt-validate?

jwt-decode только раскрывает содержимое токена. Проверка подписи и подлинности — задача jwt-validate.

Исходный текст

SKILL.md · Apache-2.0
---
name: jwt-decode
description: Decode and inspect JSON Web Tokens (JWTs) without verification. Use when the user provides a JWT string and wants to see its header, payload, or claims — e.g. "decode this JWT", "what's in this token", "inspect this JWT", "show me the claims", "parse this token". Also triggers on raw JWT strings (three base64url segments separated by dots).
---

# JWT Decode

Decode a JWT by base64url-decoding its header and payload. Does NOT verify signatures — use `jwt-validate` for that.

## Steps

1. Split the token on `.` into three parts (header, payload, signature).
2. Base64url-decode and parse parts 1 and 2 as JSON.
3. Display header, payload (with all claims), and the raw signature string.
4. For `exp`, `nbf`, `iat` — show both the Unix timestamp and human-readable UTC. If `exp` is past, note **expired** and by how long.
5. Run security checks (see below).

## Output Format

```
## Header
{ "alg": "RS256", "typ": "JWT", "kid": "abc123" }

## Payload
{ "iss": "https://auth.example.com/", "sub": "user|12345", "exp": 1735689600 }

exp: 2025-01-01T00:00:00Z — EXPIRED (3 months ago)
iat: 2024-12-31T00:00:00Z

## Signature
Algorithm: RS256 | Signature: [base64url string]
(Not verified — use jwt-validate to verify)
```

## Security Checks

Flag these prominently when found:

- **`alg: none`** — Token is unsigned. Warn: "This token has no signature and cannot be trusted. Any party could have created or modified it." This is a known attack vector (CVE-2015-9235) where attackers strip signatures to bypass verification.
- **Sensitive data in payload** — JWTs are encoded, not encrypted. Warn if you spot passwords, secrets, API keys, or PII in claims.
- **Missing `exp`** — Token never expires. Flag as a security risk.
- **`jku`/`jwk`/`x5u` in header** — These can be used to trick verifiers into fetching attacker-controlled keys. Flag if present.

## Notes

- If `cty` header is "JWT", the payload is a nested JWT — decode recursively.
- On decode failure, report the specific error (malformed base64, invalid JSON, wrong segment count).
- This skill only reveals token contents — it says nothing about authenticity. Direct users to `jwt-validate` for verification.

---

© jsonwebtoken · Apache-2.0 · jsonwebtoken/jwt-skills

Похожие скиллы

Всё по теме «Безопасность» →
api-auth-and-jwt-abuse yaklang Плейбук для проверки bearer-токенов, API-ключей и доверия к claim'ам. Пригодится на пентесте API, где аутентификация держится на JWT или заголовках запроса. CX Codex +1 3 800установок spring-boot-security-jwt giuseppe-trisciuoglio Скилл с готовыми шаблонами JWT-аутентификации для Spring Boot 3.5.x: генерация токенов через JJWT, фильтры, RBAC и OAuth2. CX Codex +1 4 100установок jwt-security Mindrally Скилл задаёт агенту правила создания, проверки и хранения JWT: белый список алгоритмов, обязательные claim-ы, короткие сроки жизни токенов. CX Codex +1 1 600установок jwt-oauth-token-attacks yaklang Скилл для Claude и других ИИ-редакторов: разбор атак на токены JWT и потоки OAuth 2.0. Пригодится, когда нужно проверить, как приложение доверяет токенам и ключам. CX Codex +1 3 800установок vtex-io-auth-tokens-and-context vtex Помогает решить, какой токен VTEX IO должен стоять за запросом из бэкенд-приложения: приложение, покупатель или админ. CX Codex +1 1 100установок testing-jwt-token-security mahipal Скилл для проверки JWT на криптографические слабости, подмену алгоритма и обход авторизации. Нужен на пентесте API и SSO. CX Codex +1 536установок

Из того же набора3

Спонсоры проекта

Компании, которые помогают держать аналитику открытой