merlin
v2.2.2 open-sourceThe section your link pointed to isn't on merlin's page any more, so we've brought you to the top.
Merlin is a cross-platform post-exploitation command-and-control framework written in Go, enabling attackers to manage compromised systems via HTTP/2.
merlin-server -dotnetBin $HOME/.dotnet/dotnet ./merlinServer -dotnetBin /home/operator/.dotnet/dotnet merlin-server -addr '0.0.0.0:50051' -password 'my_secure_password' -secure -tlsCA '/path/to/ca.crt' -tlsCert '/path/to/server.crt' -tlsKey '/path/to/server.key' merlin-server -debug -extra -trace socks start 9050 make linux-garble SEED=my_unique_seed_value make windows-garble merlin connect mythic://mythic-server:443 agent run sharpgen --module windows/x64/csharp/misc/SharpGen --args 'MyAssembly.dll' merlin connect http://localhost:5000 agent list-jobs merlin server -proto hq merlin remove <agent_id> Invoke-Merlin.ps1 -DLL .\data\bin\merlin.dll
Summary
Merlin is an open-source post-exploitation command-and-control framework, free to use, distributed as a binary you compile and run yourself rather than as a hosted service. It supports mutual TLSmutual TLSMutual TLS, an encrypted connection where both client and server present certificates to prove their identity. It helps services verify who they are communicating with., letting an operator require client certificate verification and supply its own CA, key, and certificate files so agent traffic is authenticated rather than just encrypted. It is built for red teamers and penetration testers running authorized engagements rather than defenders, and it sits in the same category as other C2 frameworks used to manage compromised hosts over HTTP, without the vendor naming a specific peer. Started in 2017 with 22 contributors and 13 tracked releases, it has had no commits in the past year and last released 491 days ago, so treat it as dormant rather than actively maintained.
Merlin is a cross-platform post-exploitation command-and-control framework written in Go, enabling attackers to manage compromised systems via HTTP/2.
How merlin helps
How do I stand up a listener without depending on a third-party certificate authority?
an operator supplies its own CA, key, and certificate files, so the listener can verify agents against a private trust chain instead of a public one
Why did an agent binary I compiled fail to run on the target?
the documented FAQ points to compilation errors and platform quirks like double-clicking the Windows binary doing nothing, both tied to how the agent was built rather than the C2 logic
Why does redirecting output from a shell command through an agent produce nothing?
the FAQ flags input and output redirection pipes as a known limitation, so commands relying on piped redirection need a workaround rather than showing as a bug
Languages
Command line
No command matches.
| option | found in | since | description |
|---|
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Score card
-
Shipping velocity releases a month, last 12 months
-
Documentation quality release-notes rubric, 0–100
-
Breaking-change discipline how rarely a release breaks users, and notice given
-
Maintenance risk quiet time against its own cadence, maintainers
-
Innovation & surface new capabilities, API and MCP surface
- Community health
-
Contributor trend distinct committers, this year against last
-
Maintainer concentration bus factor now against a year ago
-
Issue backlog trend issues closed per issue opened, 12 months
-
Responsiveness median time to a maintainer’s first reply
Nine scores for merlin, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Score cards are part of every paid plan.
See plans → Already subscribed? Sign in →Trajectory
Blank means never measured; nothing here is a filled-in zero.
Peer standings are included with Researcher and Business. See how this tool ranks against its competitors, using data we don't publish anywhere else.
See plans →Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
- Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
- Documentation quality — the release-notes rubric published on the analytics page, unchanged.
- Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
- Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
- Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
- Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
- Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
- Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail merlin puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Checking release-note history…
Releases
20 entries
No entries match these filters.
- October 20263
- November 20231
- July 20221
- April 20222
- February 20221
- December 20211
- August 20211
- April 20211
- February 20211
- September 20201
- August 20191
- April 20191
- January 20191
- July 20181
- May 20181
- March 20181
- December 20171
Project health
Issue, contributor and maintainer activity in Ne0nd0g/merlin, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.
- Contributors 0 −1 vs prior 12 months
- Maintainers 0 +0 joined · −1 left, last 12 months
- Bus factor 0 committers behind half the commits
- Community-filed 100% of issues opened, last 12 months
- Median time to close 2.8 days first maintainer reply 5.9 hours
- Open backlog 17 of 109 issues ever filed
- Issues opened / month 0 · 0 communitymaintainers
- Open backlog 17
- Contributors / month 0
- Commits / month 0
- Stars 5,607
- other 100%
Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this
Articles
1 article · updated Nov 4, 2026Where merlin turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.
Tutorials & guides 1
-
Command and Control Guide to Merlin
In this article, we learn how to use Merlin C2 tool.
2 more quotes
The best things about Merlin are that it compiles to work on any platform and that you can even build it from source.
Run the Merlin server in the folder where agents can call out to it.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can follow every release here.