Cicada — Security Audit & Fix Skill

LLM Compatible Skill Domains

A comprehensive security audit skill for LLM coding agents. Runs /cicada to scan your backend, mobile, cloud, and infra code for vulnerabilities — then optionally fixes them.

Covers: Node.js, Python, Go, Ruby, PHP, Java, .NET + Express, Next.js, NestJS, Django, Flask, FastAPI, Gin, Rails, Laravel, Spring Boot + Flutter, React Native + Docker, K8s, AWS, GCP.


One-Line Install

Paste this in your terminal:

bash <(curl -fsSL https://raw.githubusercontent.com/Synthrun/Cicada/main/install.sh)

Or if the repo is local, copy the install.sh to your project and run:

bash path/to/cicada/install.sh

The LLM can also auto-install — just say "install cicada" and it will run install.sh for you.

After install, just type in your LLM chat:

/cicada
Agent What the LLM runs
OPENCODE bash <(curl -fsSL <url>/install.sh) then /cicada
CLAUDE Reads install.sh from context, writes files, runs /cicada
CODEX Reads install.sh, executes it, then /cicada
Cursor / Windsurf Reads skills from .cicada/ automatically after install

Features

  • 16 security domains — auth, password reset, connectors, API/input, secrets, dependencies, web frameworks (10), mobile (2), cloud/infra, GraphQL, WebSocket, file upload, data privacy, crypto, CI/CD supply chain, logging
  • 3 operation modes — report-only, interactive fix, auto-fix all
  • Framework auto-detection — reads config files, runs only relevant checks
  • Fix snippets — every check includes a copy-paste fix in the correct language
  • Timing attack detection — login timing, random keystroke delays, constant-time comparisons
  • Mobile security — Flutter + React Native: deep links, SSL pinning, secure storage, obfuscation
  • Read-only by default — never modifies code unless you explicitly ask

Quick Start

# One line — installs SKILL.md + configs into .cicada/
bash <(curl -fsSL https://raw.githubusercontent.com/Synthrun/Cicada/main/install.sh)

# Then in your LLM chat:
#   /cicada

The skill will ask:

Choose mode:
  1 — Report only (no code changes)
  2 — Interactive fix (ask per finding)
  3 — Auto-fix all (fix everything, confirm once)

Select a mode and the audit proceeds across all 16 domains.


Repository Structure

cicada/
├── SKILL.md               ← Main skill — the security audit engine (2132 lines, 16 domains)
├── AGENTS.md              ← Agent config for CLAUDE / OPENCODE (/cicada)
├── install.sh             ← One-line installer
├── README.md              ← This file
├── .gitignore             ← Standard ignores
├── .env.example           ← Secure env template
├── .cicada                ← Config marker for LLM tool discovery
├── templates/
│   └── report-template.md ← Report output template
└── docs/
    ├── index.html         ← Landing page (HTML)
    ├── style.css          ← Landing page (CSS)
    └── script.js          ← Landing page (JS)

Audit Domains

# Domain What's Checked
1 Auth & Session Login, JWT, OAuth, magic links, timing attacks, MFA
2 Password Reset Token generation, storage, expiry, enumeration protection
3 Connectors API keys, webhooks, DB connections, third-party SDKs
4 API & Input SQL injection, command injection, CORS, rate limiting, headers
5 Secrets & Config .env exposure, hardcoded keys, credential logging
6 Dependencies Outdated packages, HTTPS enforcement, error handling
7 Web Frameworks Express, Next.js, NestJS, Django, Flask, FastAPI, Gin, Rails, Laravel, Spring Boot
8 Mobile Flutter + React Native — deep links, storage, SSL pinning, obfuscation
9 Cloud & Infra Docker, K8s, S3 buckets, IAM, CloudTrail, security groups
10 GraphQL Introspection, query depth, cost analysis, per-resolver auth, batching
11 WebSocket Origin validation, WS auth, rate limiting, replay, idle timeout
12 File Upload Magic bytes, size limits, virus scan, path traversal, zip bombs, EXIF
13 Data Privacy PII classification, GDPR/CCPA, data export/delete, retention, consent
14 Cryptography Weak hashes, ECB mode, static IVs, key rotation, JWK confusion
15 CI/CD Supply Chain Pipeline secrets, lockfiles, dependency confusion, typosquatting, SBOM
16 Logging & Monitoring Log injection, PII in logs, audit trail, alerting, health check leaks

Operation Modes

1 — Report Only (Read-Only)

Best for CI or when you want a document without changes.

1. LLM reads every source file
2. Runs all checks from all 16 domains
3. Generates report.md with every finding + severity + file:line
4. Zero files touched

2 — Interactive Fix

Best when you want to review each fix before applying.

1. Full audit runs
2. For each finding, LLM asks: "Fix this? (y/n/skip-all)"
3. Fixes applied immediately on "y"
4. Final report documents what was fixed and skipped

3 — Auto-Fix All

Best when you trust the skill's fixes and want speed.

1. Full audit runs
2. Summary shown: "3 Critical, 5 High — fix all? (y/n)"
3. Optionally preview diffs
4. All fixes applied
5. Final report documents every change

CI Integration

# .github/workflows/security-audit.yml
name: Security Audit
on: [pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Hardcoded secrets
        run: |
          if grep -rE "['\"][A-Za-z0-9_\-]{32,}['\"]" \
            --include="*.{js,ts,py,go}" \
            --exclude-dir=node_modules --exclude-dir=.git; then
            echo "Potential hardcoded secrets found!"; exit 1
          fi
      - name: Command injection
        run: |
          if grep -rn "exec(\`" --include="*.{js,ts}" --exclude-dir=node_modules; then
            echo "Potential command injection found!"; exit 1
          fi
      - name: Weak RNG for tokens
        run: |
          if grep -rn "Math\.random\|Date\.now" --include="*.{js,ts}" \
            --exclude-dir=node_modules | grep -i "token\|secret\|reset\|magic"; then
            echo "Weak RNG used for tokens!"; exit 1
          fi
      - name: Dep audit
        run: |
          if [ -f package.json ]; then npm audit --audit-level=high; fi

Requirements

  • An LLM coding agent (CODEX, CLAUDE, OPENCODE, Cursor, Windsurf, etc.)
  • A project with source code to audit

License

MIT — use freely, modify, contribute.