insecure-defaults
Detects fail-open insecure defaults (hardcoded secrets, weak auth, permissive security) that allow apps to run insecurely in production. Use when auditing security, reviewing config management, or analyzing environment variable handling.
Security Assessment
Detected risks:
About insecure-defaults
The 'insecure-defaults' skill identifies fail-open configurations in applications that can lead to security vulnerabilities when deployed in production. It focuses on detecting hardcoded secrets, weak authentication mechanisms, and overly permissive security settings that allow software to operate with unsafe defaults. By analyzing configuration files, environment variable handling, and code patterns, this skill helps uncover situations where missing or default settings could compromise the integrity and confidentiality of an application. It differentiates between fail-open patterns, which allow the app to run insecurely, and fail-secure patterns, which prevent execution without proper configuration.
Key capabilities of this skill include scanning for fallback secrets, hardcoded credentials, weak default flags, and outdated cryptographic algorithms in code and configuration files. It provides a structured workflow that begins with project discovery, identifying potentially insecure configurations, followed by verification of runtime behavior to understand how defaults are applied. The skill also evaluates the production impact of each finding, helping security teams prioritize critical vulnerabilities and generate detailed evidence-based reports. It emphasizes focusing on production-reachable code while ignoring test fixtures, example files, and build-time configurations that do not affect runtime security.
This skill is particularly useful for security auditors, DevOps engineers, and software developers responsible for code quality and configuration management. It supports pre-deployment checks for secrets management and security compliance, assists in reviewing IaC templates, Docker configurations, and environment variable usage, and helps ensure that applications do not ship with exploitable default settings. By providing guidance on when and how to report insecure defaults, it enables teams to proactively mitigate security risks before production release.
FAQ
When should I use the 'insecure-defaults' skill?
Use it during security audits, configuration reviews, code reviews of environment variable handling, or pre-deployment checks to detect hardcoded secrets, weak defaults, and insecure configurations.
Which types of files or code should I avoid scanning?
Avoid test fixtures, example/template files, development-only tools, documentation examples, and build-time configurations that are replaced during deployment.
Does this skill guarantee detection of all insecure defaults?
No, it identifies common fail-open patterns and insecure defaults based on defined search patterns, but manual verification and code tracing are required to confirm runtime impact.
Is it compatible with multiple programming languages and frameworks?
Yes, it can be applied broadly, but searches and verification should be tailored to the project's language, framework, and conventions.
How does it determine severity?
Severity is critical if production configurations are missing or defaults are used; if production overrides exist, the issue is still a code-level vulnerability but with lower severity.
Install insecure-defaults
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
trailofbits/skills