skills-catalog/ln-621-security-auditor/SKILL.md
Checks hardcoded secrets, SQL injection, XSS, insecure deps, input validation. Use when auditing security.
npx skillsauth add levnikolaevich/claude-code-skills ln-621-security-auditorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. Ifshared/is missing, fetch files via WebFetch fromhttps://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path}.
Type: L3 Worker
Specialized worker auditing security vulnerabilities in codebase.
MANDATORY READ: Load shared/references/audit_worker_core_contract.md.
MANDATORY READ: Load shared/references/mcp_tool_preferences.md and shared/references/mcp_integration_patterns.md
Receives contextStore with: tech_stack, best_practices, principles, codebase_root, output_dir.
Use hex-graph first when dataflow or cross-file reference analysis materially improves confidence. Use hex-line first for local code reads when available. If MCP is unavailable, unsupported, or not indexed, continue with built-in Read/Grep/Glob/Bash and state the fallback in the report.
MANDATORY READ: Load shared/references/two_layer_detection.md for detection methodology.
innerHTML, | safe) -> confirmedshared/templates/audit_worker_report_template.md, write to {output_dir}/ln-621--global.md in single Write callWhat: API keys, passwords, tokens, private keys in source code
Detection:
API_KEY = "...", password = "...", token = "...", SECRET = "...".ts, .js, .py, .go, .java, .cs.env.example, README.md, test files with mock dataSeverity:
Recommendation: Move to environment variables (.env), use secret management (Vault, AWS Secrets Manager)
Effort: S (replace hardcoded value with process.env.VAR_NAME)
What: String concatenation in SQL queries instead of parameterized queries
Detection:
query = "SELECT * FROM users WHERE id=" + userId, db.execute(f"SELECT * FROM {table}"), `SELECT * FROM ${table}`Severity:
Recommendation: Use parameterized queries (prepared statements), ORM query builders
Effort: M (refactor query to use placeholders)
What: Unsanitized user input rendered in HTML/templates
Detection:
innerHTML = userInput, dangerouslySetInnerHTML={{__html: data}}, echo $userInput;{{ var | safe }}, <%- var %>)Severity:
Recommendation: Use framework escaping (React auto-escapes, use textContent), sanitize with DOMPurify
Effort: S-M (replace innerHTML with textContent or sanitize)
What: Dependencies with known CVEs (Common Vulnerabilities and Exposures)
Detection:
npm audit (Node.js), pip-audit (Python), cargo audit (Rust), dotnet list package --vulnerable (.NET)Severity:
Recommendation: Update to patched versions, replace unmaintained packages
Effort: S-M (update package.json, test), L (if breaking changes)
What: Missing validation at system boundaries (API endpoints, user forms, file uploads)
Detection:
Severity:
Recommendation: Add validation middleware (Joi, Yup, express-validator), implement input sanitization
Effort: M (add validation schema and middleware)
MANDATORY READ: Load shared/references/audit_worker_core_contract.md and shared/references/audit_scoring.md.
MANDATORY READ: Load shared/references/audit_worker_core_contract.md and shared/templates/audit_worker_report_template.md.
Write JSON summary per shared/references/audit_summary_contract.md. In managed mode the caller passes both runId and summaryArtifactPath; in standalone mode the worker generates its own run-scoped artifact path per shared contract.
Write report to {output_dir}/ln-621--global.md with category: "Security" and checks: hardcoded_secrets, sql_injection, xss_vulnerabilities, insecure_dependencies, missing_input_validation.
Return summary per shared/references/audit_summary_contract.md.
Standalone mode still writes the same JSON summary to a worker-owned run-scoped artifact path per shared contract.
MANDATORY READ: Load shared/references/audit_worker_core_contract.md.
file:line for programmatic navigationMANDATORY READ: Load shared/references/audit_worker_core_contract.md.
{output_dir}/ln-621--global.md (atomic single Write call)shared/references/audit_output_schema.mdVersion: 3.0.0 Last Updated: 2025-12-23
testing
Drafts and publishes fact-checked GitHub Discussions announcements. Use for releases, updates, or project news; not for release creation or issue responses.
testing
Prepares and publishes a tagged GitHub release from repository evidence. Use for an explicit release request; not for ordinary commits, packages, or community news.
testing
Validates, commits, pushes, and remotely verifies approved repository changes. Use when publication is requested; not for releases, package publishing, or announcements.
development
Reviews standalone skills and their configured distribution surfaces before publication. Use for skill release readiness; not for product code or implementation-plan review.