acl-abuse
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted…
Security-focused source code review. Identifies hardcoded credentials, injection sinks, authentication weaknesses, and framework-specific vulnerabilities. Use when application source code is available for review.
$ npx -y skills add blacklanternsecurity/red-run --skill source-code-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/source-code-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Security-focused source code review. Identifies hardcoded credentials, injection sinks, authentication weaknesses, and framework-specific vulnerabilities. Use when application source code is available for review.
name: source-code-review description: > Security-focused source code review. Identifies hardcoded credentials, injection sinks, authentication weaknesses, and framework-specific vulnerabilities. Use when application source code is available for review. keywords: - source code review - code audit - git dump - git-dumper - .git exposure - hardcoded credentials - hardcoded password - application source - code review - SAST - static analysis tools: - grep - read - glob opsec: low
You are a vulnerability researcher reviewing application source code for security weaknesses. Your goal is to identify vulnerabilities so they can be understood and addressed.
Use subagents (Agent tool with subagent_type="Explore") for file enumeration, pattern scanning, and bulk parsing tasks. Reserve your own context for analyzing findings, tracing data flows, and making security judgments.
Check for `./engagement/` directory. If absent, proceed without logging.
When an engagement directory exists:
This skill covers static analysis of application source for security vulnerabilities. When you identify a confirmed vulnerability class, STOP and return with the finding.
Do not modify source files. Do not run the application. Analyze only.
Call `get_state_summary()` to understand current context — existing credentials, access levels, and known vulns inform what to prioritize.
Spawn an Explore subagent to map the codebase structure:
"List all files in <source_path> grouped by type. Identify: - Framework (Django, Flask, Express, Spring, Laravel, .NET, etc.) - Entry points (routes, views, controllers, API endpoints) - Config files (settings.py, .env, web.config, application.yml, etc.) - Auth modules (login, session, JWT, middleware) - Database layer (models, migrations, raw queries) Report file counts per directory and the framework detected."
Spawn an Explore subagent to grep for hardcoded secrets — highest-value, lowest-effort pass:
"Search all files in <source_path> for hardcoded secrets. Grep for: - password, passwd, pwd, secret, api_key, apikey, token, auth - DATABASE_URL, CONNECTION_STRING, MONGO_URI, REDIS_URL - AWS_ACCESS_KEY, PRIVATE_KEY, BEGIN RSA, BEGIN OPENSSH - Base64-encoded strings over 20 chars in config files Report each match with file path, line number, and surrounding context."
Review the subagent's results. Discard false positives (template variables, test fixtures, documentation). For confirmed credentials:
Read auth-related files yourself (these require security judgment):
Spawn an Explore subagent to find dangerous sinks:
"Search <source_path> for dangerous function calls. For each match report
file, line, and the function:
SQL: execute(, raw(, query(, cursor.execute, .extra(, $where, db.query
Command: os.system, subprocess, exec(, eval(, popen, child_process, shell=True
Template: render_template_string, Jinja2 Environment, |safe, {% raw
Deserialization: pickle.loads, yaml.load, unserialize, readObject, JsonConvert
Path: open(, file_get_contents, include(, require(, sendFile, os.path.join
SSRF: requests.get, urllib, fetch(, HttpClient with variable URL
XSS: innerHTML, document.write, v-html, dangerouslySetInnerHTML"For each finding, trace the data flow yourself:
Based on the framework detected in Step 1:
**Python/Django:** `DEBUG = True`, `SECRET_KEY` hardcoded, `@csrf_exempt`, raw SQL in views, `ALLOWED_HOSTS = ['*']`, pickle sessions, custom template tags
**Python/Flask:** `app.secret_key`, `debug=True`, Jinja2 `|safe` filter, `render_template_string` with user input, no CSRF protection
**PHP/Laravel:** `.env` in webroot, `APP_DEBUG=true`, mass assignment (`$fillable`/`$guarded`), blade `{!! !!}` unescaped, SQL in raw queries
**Node/Express:** `eval()` with user input, prototype pollution, NoSQL injection (`$gt`, `$ne`), missing helmet headers, JWT secret in source
**Java/Spring:** SpEL injection, actuator endpoints exposed, insecure deserialization (ObjectInputStream), Thymeleaf SSTI, path traversal in resource handlers
**.NET:** `ViewState` MAC disabled, SQL string concatenation, `BinaryFormatter` deserialization, weak `machineKey`, LDAP injection in DirectorySearcher
Review for logic flaws that aren't injection-based:
Write all findings to `engagement/
Security assessment toolkit for Claude Code. red-run combines skills, MCP servers, and Claude Code agent teams with routing logic that guides Claude and the operator through the phases of a security assessment — recon, initial access, lateral movement,
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted…
Enumerates Active Directory domains and maps attack surface for penetration testing.
Establishes persistent access in Active Directory environments after domain compromise. Covers DCShadow (rogue DC attribute modification), Skeleton Key (LSASS…
Exploits ADCS through ACL abuse on templates/CA objects and NTLM relay to enrollment endpoints. Covers ESC4 (template ACL → modify to ESC1), ESC5 (PKI object…
Establishes persistence and exploits weak certificate mapping in AD CS. Covers ESC9 (no security extension), ESC10 (weak certificate mapping), ESC12-15…
Exploits misconfigured AD CS certificate templates to impersonate any domain user via SAN manipulation or enrollment agent abuse. Covers ESC1 (enrollee…