security-best-practices
27
总安装量
27
周安装量
#7583
全站排名
安装命令
npx skills add https://github.com/mindrally/skills --skill security-best-practices
Agent 安装分布
claude-code
23
opencode
20
gemini-cli
19
codex
17
antigravity
16
github-copilot
15
Skill 文档
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