skills/council/cipher/protocol-analysis/SKILL.md
Use when analyzing cryptographic protocol security by modeling state machines, enumerating transitions, and identifying desynchronization, replay, downgrade, and session binding vulnerabilities. Covers protocol handshakes, session management, and negotiation integrity. Do not use for implementation-level crypto review (use crypto-review) or post-quantum assessment (use pqc-readiness).
npx skillsauth add dtsong/my-claude-setup protocol-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Model cryptographic protocols as state machines, enumerate state transitions, and identify vulnerabilities including desynchronization, replay attacks, downgrade attacks, and session binding failures.
Reads protocol specifications, message sequence diagrams, and implementation source code. Does not modify files or execute code. Does not interact with live protocol endpoints or perform active testing.
No user-provided values are used in commands or file paths. All inputs are treated as read-only analysis targets.
Define the protocol as a state machine for each participant:
For each state transition, document:
Analyze the protocol for synchronization vulnerabilities:
Check that protocol sessions are properly bound:
Analyze the protocol's resistance to version/algorithm downgrade:
Compaction resilience: If context was lost during a long session, re-read the Inputs section to reconstruct what system is being analyzed, then resume from the earliest incomplete step.
[Initial] ──ClientHello──→ [WaitServerHello]
│
ServerHello│
▼
[WaitFinished]
│
Finished│
▼
[Established]
| Current State | Input | Validation | Next State | Output | Notes | |---------------|-------|------------|------------|--------|-------| | Initial | ClientHello | Version check | WaitServerHello | — | Nonce generated | | ... | ... | ... | ... | ... | ... |
| ID | Category | Description | Severity | Recommendation | |----|----------|-------------|----------|----------------| | P1 | Replay | ServerHello lacks nonce binding | High | Include client nonce in server response | | ... | ... | ... | ... | ... |
development
Use when the council needs to surface organizational knowledge buried across multiple internal sources (wikis, design docs, ADRs, past tickets, postmortems, chat archives, code repos). Plans where to look, what to cross-reference, and how to synthesize findings into evidence the council can act on. Do not use for external market research (use competitive-analysis), library evaluation (use library-evaluation), or technology trend assessment (use technology-radar).
testing
Use to convert a Word .docx file to PDF and/or verify its page count. Triggers on: converting docx to pdf, rendering a document, checking how many pages a docx produces, or asserting a page-count constraint (e.g. a resume must stay 2 pages). Wraps LibreOffice headless conversion.
development
Security audit checklist for web applications. Use when reviewing, auditing, or hardening a web app's security posture. Covers rate limiting, auth headers, IP blocking, CORS, security middleware, input validation, file upload limits, ORM usage, and password hashing. Triggers on requests like "review security", "harden this app", "security audit", "check for vulnerabilities", or when building/reviewing API endpoints.
development
Interactive wizard to craft effective prompts using Claude Code best practices