Security audit workflow - vulnerability scan β verification
npx skills add Mindrally/skills --skill "security-best-practices"
Install specific skill from multi-skill repository
# Description
Security best practices for backend development, microservices, and secure coding patterns with emphasis on input validation and authentication
# SKILL.md
name: security-best-practices
description: Security best practices for backend development, microservices, and secure coding patterns with emphasis on input validation and authentication
Security Best Practices
Apply these security principles when developing backend services, microservices, and any code handling sensitive data or external inputs.
Input Validation and Sanitization
- Apply input validation and sanitization rigorously, especially on inputs from external sources
- Validate all user inputs at the boundary of your application
- Use allowlists over denylists when validating input
- Sanitize data before storing or displaying to prevent injection attacks
- Implement strict type checking and schema validation
Authentication and Authorization
- Use secure defaults for JWT, cookies, and configuration settings
- Implement proper token expiration and refresh mechanisms
- Store secrets securely using environment variables or secret management services
- Never hardcode credentials or API keys in source code
- Use secure password hashing algorithms (bcrypt, Argon2)
Permission Boundaries
- Isolate sensitive operations with clear permission boundaries
- Apply the principle of least privilege throughout the system
- Implement role-based access control (RBAC) where appropriate
- Audit and log access to sensitive resources
- Use separate service accounts for different components
Resilience and Protection
- Implement retries, exponential backoff, and timeouts on all external calls
- Deploy circuit breakers and rate limiting for service protection
- Consider distributed rate-limiting to prevent abuse across services (e.g., using Redis)
- Implement request throttling to prevent denial of service
- Use connection pooling with appropriate limits
Secure Configuration
- Use HTTPS/TLS for all network communications
- Configure secure HTTP headers (HSTS, CSP, X-Frame-Options)
- Disable verbose error messages in production
- Keep dependencies updated and scan for vulnerabilities
- Use secure defaults and fail securely
Error Handling
- Implement comprehensive error handling throughout the application
- Never expose stack traces or internal details to end users
- Log security-relevant events with appropriate detail
- Propagate context appropriately for debugging while maintaining security
- Handle authentication and authorization failures gracefully
Secrets Management
- Use environment variables or dedicated secrets managers
- Rotate credentials and keys regularly
- Implement proper key management practices
- Avoid logging sensitive information
- Use encryption at rest for sensitive data storage
SQL Injection Prevention
- Use parameterized queries or prepared statements
- Never concatenate user input into SQL queries
- Use ORM features that automatically escape values
- Validate and sanitize all database inputs
- Limit database user permissions
Cross-Site Scripting (XSS) Prevention
- Escape all output rendered in HTML
- Use Content Security Policy headers
- Sanitize user-generated content before display
- Use framework-provided escaping functions
- Avoid innerHTML and similar dangerous APIs
Cross-Site Request Forgery (CSRF) Prevention
- Implement CSRF tokens for state-changing operations
- Verify origin and referer headers
- Use SameSite cookie attribute
- Require re-authentication for sensitive actions
- Implement proper session management
API Security
- Implement API authentication (JWT, API keys, OAuth)
- Use rate limiting to prevent abuse
- Validate request content types
- Implement request size limits
- Log API access for auditing
Dependency Security
- Regularly audit dependencies for vulnerabilities
- Use lockfiles to ensure consistent versions
- Remove unused dependencies
- Monitor security advisories for your stack
- Implement automated vulnerability scanning in CI/CD
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.