| name | security-basics |
| description | > Use when this capability is needed. |
Security Basics
OWASP Top 10 Quick Reference
- Injection - SQL, NoSQL, OS, LDAP injection
- Broken Authentication - Weak session management
- Sensitive Data Exposure - Missing encryption
- XML External Entities (XXE) - XML parser attacks
- Broken Access Control - Missing authorization
- Security Misconfiguration - Default configs, verbose errors
- XSS - Cross-Site Scripting
- Insecure Deserialization - Untrusted data execution
- Vulnerable Components - Outdated dependencies
- Insufficient Logging - Missing audit trails
Input Validation
Always Validate
- User input (forms, query params)
- File uploads (type, size, content)
- API request bodies
- URL parameters
Validation Patterns
const allowedFields = ['name', 'email', 'age'];
const sanitized = pick(input, allowedFields);
const schema = z.object({
email: z.string().email(),
age: z.number().min(0).max(150),
name: z.string().min(1).max(100)
});
SQL Injection Prevention
const query = `SELECT * FROM users WHERE id = ${userId}`;
const query = 'SELECT * FROM users WHERE id = ?';
db.query(query, [userId]);
await User.findOne({ where: { id: userId } });
XSS Prevention
element.innerHTML = userInput;
element.textContent = userInput;
import DOMPurify from 'dompurify';
element.innerHTML = DOMPurify.sanitize(userInput);
<div>{userInput}</div>
<div dangerouslySetInnerHTML={{__html: userInput}} />
Authentication Checklist
Authorization Checklist
Security Headers
Content-Security-Policy: default-src 'self'
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
Secrets Management
- Never commit secrets to version control
- Use environment variables
- Rotate secrets regularly
- Use secrets managers (AWS Secrets Manager, Vault)
- Different secrets per environment
Dependency Security
npm audit
pip-audit
bundler-audit
npm update
dependabot/renovate for automation
Code Review Security Checklist
Converted and distributed by TomeVault — claim your Tome and manage your conversions.