security

Mitigate security risks in system design and development.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/ragnarula/cc-plugins --skill security-ragnarula
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: security
Source: https://github.com/ragnarula/cc-plugins/tree/main/sdd/skills/security
Command: npx skills add https://github.com/ragnarula/cc-plugins --skill security-ragnarula

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps engineers design and review systems with a security-first mindset by identifying trust boundaries, potential attack surfaces, and mitigation strategies.

Core Features & Use Cases

  • Threat modeling at the design phase, including identifying assets, attackers, and attack surfaces.
  • Explicit authentication, authorization, data protection, and input-handling considerations.
  • Guidelines for secure defaults, logging, monitoring, and compliance across platforms.

Quick Start

Describe the system's trust boundaries and data flows. Identify 2–3 threat scenarios and propose mitigations. Provide a concise checklist for security requirements in design and review.

Frequently Asked Questions about security

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify trust boundaries and attack surfaces in my system design?

Trust boundaries define where data flows between components with different privilege levels. Map your system's data flows, identify where external input enters, and mark transitions between trusted and untrusted zones. This reveals attack surfaces where threats can exploit the design.

What is threat modeling and when should I apply it?

Threat modeling is a structured process to identify assets, potential attackers, and attack vectors in your system. Apply it early in design to systematically discover security gaps before implementation, then use it during reviews to validate mitigations across authentication, authorization, and data protection.

How do I establish secure defaults and logging for compliance?

Secure defaults mean restrictive permissions, encryption enabled by default, and explicit opt-in for risky features. Add comprehensive logging for authentication attempts, authorization decisions, and sensitive data access. Together they satisfy compliance requirements and enable detection of attacks.

What security considerations apply to input handling and data protection?

Validate and sanitize all external input to prevent injection attacks. Classify data by sensitivity, encrypt data in transit and at rest, and enforce access controls. Document data flows and retention policies to reduce exposure.

Can I use this approach for architectural security reviews?

Yes. Conduct architectural reviews by examining trust boundaries, authentication and authorization mechanisms, data classification, and logging practices. Apply threat modeling to evaluate whether the design mitigates identified attack scenarios.

What's the difference between thinking defensively versus thinking like an attacker?

Defensive thinking assumes systems work as intended. Attacker-oriented thinking assumes systems will be exploited and designs around that. Threat modeling bridges the gap by systematically considering attacker goals, capabilities, and available attack vectors.