← ClaudeAtlas

secure-codinglisted

Implementation-level defensive practice - validating input at boundaries, handling secrets, avoiding injection, safe error handling, dependency hygiene, and safe defaults. Use while writing or reviewing code that parses external input, builds queries or commands, handles credentials or tokens, serialises data, or manages permissions. Complements threat-modeling, which decides what to defend, by covering how to implement the defence.
ibrohim1234567881717/game-dev-ai-skills · ★ 0 · Code & Development · score 71
Install: claude install-skill ibrohim1234567881717/game-dev-ai-skills
# Secure Coding ## Purpose `threat-modeling` decides what to defend and `client-server-trust` decides where authority lives. This skill is the implementation layer: the coding practices that stop a correct design from being undermined by the code that implements it. Most exploited vulnerabilities are not exotic. They are a string concatenated into a query, a secret in a config file, an error message that reveals internal structure, or a dependency nobody updated. ## When to use - Writing or reviewing code that reads external input: network, files, user fields, configuration, environment. - Building any command, query, path, URL, or markup from values. - Handling credentials, tokens, keys, or personal data. - Deserialising data from anywhere you do not fully control. - Implementing permission checks. - Adding or upgrading a dependency. ## When NOT to use - Deciding *which* threats matter. Use `threat-modeling` first, or you will harden uniformly and misallocate effort. - Designing authority placement. Use `client-server-trust`. - Designing cryptographic protocols or primitives. Use vetted libraries; if the design genuinely requires new cryptography, it requires a specialist. ## Required context | Fact | Why it matters | |---|---| | Which inputs are attacker-controlled | Everything crossing a trust boundary is | | Which interpreter each value reaches | SQL, shell, HTML, path, and template each need different handling | | Where secrets currently live | Config file