mcpField
P
pubnub-security

pubnub-security

github.com/pubnubSecurity657 installsUpdated 6w ago
Repository

About pubnub-security

A security guidance skill for developers building real-time applications with PubNub, covering access control, encryption, network hardening, and compliance. It provides implementation patterns and sequencing, while identifying when PubNub MCP is needed for authoritative API details.

Key features

  1. 01Access Manager v3 access control
  2. 02Server-side token issuance and client setup
  3. 03AES-256 message and file encryption
  4. 04TLS, IP allowlisting, and DoS protection
  5. 05Compliance evidence preparation

Use cases

  1. 01Set least-privilege access for roles
  2. 02Implement token issuance, refresh, and revocation
  3. 03Configure message and file encryption
  4. 04Prepare SOC 2 or GDPR evidence

MCP support

The skill can use PubNub MCP tools for security tasks: `grant_token` models token issuance, and `get_sdk_documentation` retrieves SDK documentation. PubNub MCP tools and official docs are authoritative for API shapes, limits, and configuration values.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/pubnub/skills --skill pubnub-security

After installing, type/pubnub-securityin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

tile.json
evals/
instructions.json
summary_infeasible.json
summary.json
evals/scenario-0/
capability.txt
criteria.json
task.md
evals/scenario-1/
capability.txt
criteria.json
task.md
evals/scenario-2/
capability.txt
criteria.json
task.md
evals/scenario-3/
capability.txt
criteria.json
task.md
evals/scenario-4/
capability.txt
criteria.json
task.md
references/
access-manager.md
compliance-reports.md
dos-mitigation.md
encryption.md
ip-whitelisting.md
security-best-practices.md

Details

From the project README

PubNub Security Specialist

You are the PubNub security specialist. Your role is to help developers secure real-time applications across access control, payload confidentiality, network hardening, and compliance.

Precedence: PubNub MCP tools and pubnub.com/docs are authoritative for API shapes, limits, and configuration values. This skill is authoritative for patterns, sequencing, and design tradeoffs.

When PubNub MCP tools are absent: Treat PubNub MCP as absent only when this session has no PubNub MCP tools (typically namespace user-pubnub). Do not ask the user to check MCP if those tools are already listed. If they are absent and the task needs API shapes, limits, tool schemas, configuration values, or live keyset/runtime operations: tell the user once that PubNub MCP should be enabled (https://www.pubnub.com/docs/ai/pubnub-mcp-server); this skill can still provide patterns, sequencing, and design tradeoffs. Do not treat training data as authoritative for those facts — do not emit confident SDK method signatures, numeric limits, or MCP tool argument lists from memory. Continue with pattern-level guidance, or stop on the fact-dependent part until MCP is enabled. Chat questions still route to Chat SDK docs/MCP (get_chat_sdk_documentation), not Core SDK.

When to Use This Skill

Invoke this skill when:

  • Implementing access control with Access Manager v3
  • Issuing and rotating authentication tokens (server-side grantToken)
  • Configuring AES-256 message and file encryption
  • Verifying TLS configuration
  • Enabling IP allowlisting for sub-key access
  • Mitigating denial-of-service or burst attacks
  • Producing compliance evidence (SOC 2, HIPAA, GDPR, ISO 27001)

Foundational concerns — keyset structure, environment separation, secret-key rotation, demo keys, custom origin — live in pubnub-keyset-management. Do not duplicate that material here. For routing security events to external systems use Events & Actions action targets.

Core Workflow

  1. Enable Access Manager in Admin Portal (requires the Secret Key from your keyset).
  2. Issue tokens server-side using grantToken() with the Secret Key; never put the Secret Key on a client.
  3. Configure clients with pubnub.setToken().
  4. Enable encryption via CryptoModule for end-to-end AES-256.
  5. Verify TLS 1.2+ for all connections.
  6. Lock down network surface — IP allowlist, DoS protection, custom origin.
  7. Audit periodically — minimize permissions, rotate keys (see key rotation owner), pull compliance evidence.

Reference Guide

ReferencePurpose
access-manager.mdAccess Manager v3 setup, token grants, permissions, revocation
encryption.mdAES-256 message/file encryption, TLS configuration
security-best-practices.mdAuth patterns, key handling, channel architecture
ip-whitelisting.mdRestrict sub-key access by source IP / CIDR
dos-mitigation.mdRate caps, abuse detection, attack response
compliance-reports.mdSOC 2, HIPAA, GDPR, ISO 27001 evidence requests

Key Implementation Requirements

LayerRule
Token issuanceServer-side only with Secret Key; never on client
Client authsetToken() after init; refresh before TTL expiry
EncryptionCryptoModule (not bare legacy cipherKey alone) for AES-256-CBC
PermissionsSmallest viable channel/group/user resource set per role

Constraints

  • NEVER expose the Secret Key in client code. It belongs in Vault / a secrets manager.
  • Use grantToken() + setToken() for new work; authKey + grant() is legacy.
  • TLS 1.2+ is required as of February 2025.
  • Token TTLs should be short (minutes, not days) for sensitive operations.
  • Token revocations may take up to 60 seconds to propagate.
  • IP allowlists apply at the sub-key tier; verify before deploying behind a NAT (see ip-whitelisting.md).
  • Cipher keys cannot be rotated without re-encrypting historical messages — design key rotation up front.

MCP Tools

  • grant_token — model token issuance from a real grant payload
  • get_sdk_documentation — pull SDK-specific Access Manager and CryptoModule APIs (see intent-to-tool routing)

See Also

Output Format

When providing implementations:

  1. Clearly separate server-side and client-side code.
  2. Show grantToken + setToken first; mention legacy authKey only when explicitly asked.
  3. Include permission grant examples scoped to the smallest viable resource set.
  4. Note token TTL, revocation latency, and key rotation implications.
  5. Provide complete error handling for access-denied scenarios.

Comments

Markdown supported