One-click install
npx skills add https://github.com/tswr/engineering-mastery-plugin --skill security-tswr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: security
Source: https://github.com/tswr/engineering-mastery-plugin/tree/main/skills/security
Command: npx skills add https://github.com/tswr/engineering-mastery-plugin --skill security-tswr

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Security defects are the most expensive to fix, causing data breaches, compliance violations, and permanent loss of user trust. Unlike functional bugs, security flaws are actively exploited by adversaries, requiring proactive, adversary-aware coding practices rather than just bug avoidance.

Core Features & Use Cases

  • STRIDE Threat Modeling: Systematically identify attack surfaces and potential threats before building systems that handle sensitive data or untrusted input.
  • Adversary-Aware Input Validation: Enforce allowlist-only validation, canonicalization, and size limits at all trust boundaries to block injection and traversal attacks.
  • Language-Specific Vulnerability Mitigations: Reference guides for C++, Python, Rust, and Java covering memory safety, deserialization risks, injection patterns, and secure cryptography usage.
  • Use Case: When building a payment processing API, use this skill to implement secure authentication, prevent SQL injection, enforce least-privilege access controls, and audit dependencies for supply chain risks.

Quick Start

Use the security skill to review the new user authentication endpoint for injection vulnerabilities, insecure session handling, and missing authorization checks.

Frequently Asked Questions about security

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

FAQPage Schema
How do I prevent injection vulnerabilities in my authentication endpoint code?

To prevent injection vulnerabilities, enforce allowlist-only input validation, canonicalization, and size limits at all trust boundaries to effectively block injection and traversal attacks.

What is STRIDE threat modeling and when do I need it for secure coding?

STRIDE threat modeling systematically identifies attack surfaces and potential threats before building systems, essential when designing software that handles sensitive data or untrusted input.

Does this secure coding guidance work with C++, Python, Rust, and Java?

Yes, this provides language-specific vulnerability mitigations for C++, Python, Rust, and Java, covering memory safety, deserialization risks, injection patterns, and secure cryptography usage.

How to audit dependencies for supply chain security risks?

To audit dependencies for supply chain security risks, review external libraries to identify known vulnerabilities, enforce least-privilege access controls, and mitigate exploitable defects during code reviews.

What's the best way to design secure code for a payment processing API?

The best way to design a payment processing API is to implement secure authentication, prevent SQL injection, enforce least-privilege access controls, and audit dependencies for supply chain risks.

Why does secure coding require adversary-aware input validation?

Secure coding requires adversary-aware input validation because security flaws are actively exploited by adversaries, demanding proactive coding practices rather than just functional bug avoidance.