insecure-defaults

Detect fail-open insecure defaults like hardcoded secrets and weak authentication in application code.

2|Updated Jul 25, 2026
One-click install
npx skills add https://github.com/ankaboot-source/boucle --skill insecure-defaults-ankaboot-source
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: insecure-defaults
Source: https://github.com/ankaboot-source/boucle/tree/main/.jcode/skills/trailofbits/insecure-defaults
Command: npx skills add https://github.com/ankaboot-source/boucle --skill insecure-defaults-ankaboot-source

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Applications often ship with fail-open defaults—hardcoded secrets, fallback credentials, disabled authentication, or permissive CORS—that let them run insecurely in production when configuration is missing. This Skill finds those vulnerabilities before attackers do. ## Core Features & Use Cases - Fail-Open Detection: Identifies fallback secrets, hardcoded credentials, weak crypto (MD5/SHA1/DES/ECB), permissive access defaults, and debug features enabled by default. - Fail-Safe Distinction: Traces code paths to distinguish exploitable defaults from fail-secure patterns that crash safely when configuration is missing. - Production Impact Verification: Confirms whether findings actually reach production by checking deployment configs, Dockerfiles, and environment variable handling. - Use Case: During a pre-deployment security audit, run this Skill to scan src/auth/, config files, and IaC templates, producing evidence-backed findings like a hardcoded JWT secret fallback with its exploitation path. ## Quick Start Audit this repository for insecure defaults such as hardcoded secrets, fallback credentials, and fail-open security settings, and report each finding with its production impact.

Frequently Asked Questions about insecure-defaults

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find hardcoded secrets in my codebase?

Search for fallback patterns like `env.get('KEY') or 'default'` and `process.env.X || 'value'`, plus hardcoded password and API key assignments. This Skill automates that search and verifies whether each match is actually exploitable at runtime.

What is the difference between fail-open and fail-secure defaults?

Fail-open defaults let the application run insecurely when configuration is missing, such as a fallback JWT secret. Fail-secure patterns crash on startup when required configuration is absent, making them safe. This Skill traces code paths to tell them apart.

Does this flag test files and example configurations?

No. The Skill explicitly skips test fixtures, example files with `.example` or `.sample` suffixes, documentation examples, and development-only tools. It focuses on production-reachable code paths.

When should I not use insecure defaults detection?

Avoid using it on build-time configuration replaced during deployment, crash-on-missing fail-secure code, or explicitly justified permissive settings. When uncertain, trace the code path to confirm whether the app runs with the default.

How are findings reported after a security audit?

Each finding includes the location, the vulnerable pattern, verification of runtime behavior, production impact assessment, and an exploitation scenario. This evidence-backed format supports prioritization and remediation tracking.