Published · 6d agoSecurity2 min read
Port 8181: Turning a Logged-In Edge Session Into a Remote-Controlled One
A GitHub research tool injects a DLL into a running Microsoft Edge process and opens a Chrome DevTools Protocol server on port 8181, with no restart and no fresh login.
Not a builder's beat, but builders have a standing stake in it.See today for builders
What happened
- CDP-Enabler creates a TCP socket server on port 8181 for Chrome DevTools Protocol client connections, and calls StartRemoteDebuggingServer on that port.
- CDP-Enabler is a security research tool published on GitHub that injects a DLL into Microsoft Edge to enable Chrome DevTools Protocol debugging on running processes at runtime, without requiring command-line flags or browser restarts.
- The injector loads cdp_inject.dll into the target Edge process via CreateRemoteThread.
- The tool uses signature-based symbol resolution, scanning msedge.dll for required function signatures by byte pattern matching, avoiding the need for PDB files.
- The tool uses window subclassing to execute on Edge's UI thread.
Compiled by The WatchSomething wrong?How this is made
Why it matters
Port 8181 is the TCP port that CDP-Enabler, a Windows research tool published on GitHub, opens on a running Microsoft Edge process to expose Chrome DevTools Protocol debugging [1][2]. It matters because reaching that port hands a CDP client control of a browser that is already open and signed in, and it gets there without the login event a security team would expect to correlate an intrusion against.
The mechanism sidesteps the usual controls. The tool discovers a running Edge process and injects a DLL via CreateRemoteThread [3][13], then uses signature-based symbol resolution to find the functions it needs inside msedge.dll without PDB files [4]. It executes on Edge's UI thread through window subclassing, allocates a TCP server, and calls StartRemoteDebuggingServer on port 8181 [5][6]. No --remote-debugging-port flag and no browser restart are involved [2]. The author reports it was tested against Edge 143.0.3650.96 and that the byte-pattern signatures are version specific [7][8].
Once 8181 answers, any CDP client will do: Chrome's own chrome://inspect, Puppeteer, Playwright, or a custom client [9]. The session on the far end is the one the user already had running, so there is no credential prompt to trip an alarm.
The conventional tell for remote debugging is the command line, and Sysmon logs process creation with the full command line of a process and its parent [10]. Here that line is clean, because CDP is switched on after the process starts. What Sysmon can still record is the injected DLL, since it logs DLL loads with their signatures and hashes [11], and the listener, since it can log network connections with source process and port number [12].
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
CDP-Enabler creates a TCP socket server on port 8181 for Chrome DevTools Protocol client connections, and calls StartRemoteDebuggingServer on that port.
ReportedView cited source - [2]
CDP-Enabler is a security research tool published on GitHub that injects a DLL into Microsoft Edge to enable Chrome DevTools Protocol debugging on running processes at runtime, without requiring command-line flags or browser restarts.
ReportedView cited source - [3]
The injector loads cdp_inject.dll into the target Edge process via CreateRemoteThread.
ReportedView cited source - [4]
The tool uses signature-based symbol resolution, scanning msedge.dll for required function signatures by byte pattern matching, avoiding the need for PDB files.
ReportedView cited source - [6]
After allocating and initializing a TCPServerSocketFactory, the tool calls StartRemoteDebuggingServer on port 8181.
ReportedView cited source
Sources & coverage · 2 publishers
The reporting this story was synthesized from, earliest first. Every link goes to the original.
- learn.microsoft.com6d agoSysmon - Sysinternals | Microsoft Learn



