cloudflare-workers-security SKILL.md skillA
cloudflare-workers-security from secondsky/claude-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add secondsky/claude-skills/cloudflare-workers-security@git:20260804.156ff9ePins git:20260804.156ff9e in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- secondsky/claude-skills
- Path
plugins/cloudflare-workers/skills/cloudflare-workers-security/SKILL.md- Versions recorded
- 4
- Latest version
- git:20260804.156ff9e, committed Aug 4, 2026
- First version recorded
- Dec 29, 2025
- Size
- 7,438 bytes
- Repository stars
- 247
- License
- MIT
Cloudflare Workers security with authentication, CORS, rate limiting, input validation. Use for securing APIs, JWT/API keys, or encountering auth failures, CORS errors, XSS/injection vulnerabilities.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Cloudflare Workers Security
Comprehensive security patterns for protecting Workers and APIs.
## Quick Security Checklist
```typescript
// 1. Validate all input
const validated = schema.parse(await request.json());
// 2. Authenticate requests
const user = await verifyToken(request.headers.get('Authorization'));
if (!user) return new Response('Unauthorized', { status: 401 });
// 3. Rate limit
const limited = await rateLimiter.check(clientIP);
if (!limited.allowed) return new Response('Too Many Requests', { status: 429 });
// 4. Add security headers
response.headers.set('X-Content-Type-Options', 'nosniff');
response.headers.set('X-Frame-Options', 'DENY');
// 5. Use HTTPS-only cookies
headers.set('Set-Cookie', 'session=xxx; Secure; HttpOnly; SameSite=Strict');
```
## Critical Rules
1. **Never trust client input** - Validate and sanitize everything
2. **Use secure secrets** - Store in Wrangler secrets, never in code
3. **Implement rate limiting** - Protect against abuse
4. **Set security headers** - Prevent common attacks
5. **Use CORS properly** - Don't use `*` in production
## Top 10 Security Errors
| Vulnerability | Symptom | Prevention |
…Read the whole file at its exact version.
How to install
mdr add secondsky/claude-skills/cloudflare-workers-security@sha256:500f73b5d2ecf3b8The line at the top of this page pins the label git:20260804.156ff9e, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_vgk2rcq2sh6bhmfj)
5 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 4 versions of this file, between Dec 29, 2025 and Aug 4, 2026, about one every 72 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260804.156ff9e latest | 2026-08-04 | 156ff9e | 7,438 B | A | view · diff |
| git:20260402.75421fa | 2026-04-02 | 75421fa | 7,447 B | A | view · diff |
| git:20260402.89c5e89 | 2026-04-02 | 89c5e89 | 7,434 B | A | view · diff |
| git:20251229.0b5b897 | 2025-12-29 | 0b5b897 | 7,423 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (7438 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
secondsky/claude-skills · 247 stars · license MIT · pushed 2026-10-31 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_vgk2rcq2sh6bhmfj GET https://markdownregistry.com/api/v1/resolve?ref=secondsky/claude-skills/cloudflare-workers-security GET https://markdownregistry.com/api/v1/blob/500f73b5d2ecf3b8494b5a98b26c3cbfccd77f4e097d4588cb569061610385b4
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.