Daylila

Cybersecurity · Friday, 21 August 2026

01 · Briefing · what happened

The machine that caught this week's first GitLab attack was never a real one

Cybersecurity 7 min 23 sources

Attackers hit a critical GitLab flaw two days after the fix shipped. What caught them was a decoy server put online for exactly that purpose.

2 days

fix to first attack

GitLab flaw rated 9.4 out of 10

12,100+

Zimbra servers reachable online

with a flaw now being used

155x

rise in password-guessing attacks

first half of 2026

14,530

cameras taken over

Ukraine and Russia, 35 days

At a glance

  • A critical GitLab flaw was attacked about two days after Monday's emergency fix.
  • It was caught by a decoy server run as bait, which no real user has any reason to touch.
  • The flaw can forge the approval stamp that says a human reviewed a code change.
  • Zimbra is under active attack, Citrix patched a near-critical flaw, and US agencies flagged two more already in use.
  • US agencies say the Medusa gang sometimes uses flaws a week before they are public - before any fix exists.
  • A new toolkit hides its remote control inside Microsoft SharePoint and Teams to look like ordinary traffic.
  • Three Rust code packages were poisoned so the malware ran while software was being built, not when it was used.
  • One operator took over 14,530 internet cameras and was found because he left his own folder open.

Forces in play

Speed of attack High

Attackers hit the GitLab flaw two days after the fix. One gang is seen using flaws up to a week before they are public.

Blending in Building

The TWINLOOT toolkit routes its control channel through Microsoft SharePoint and Teams so the traffic looks normal.

Poisoned code supply Building

Three Rust packages were booby-trapped so the code ran while software was being built. Sixteen more were planted in RubyGems under near-miss names.

Stolen passwords High

Huntress logged 81 million login attempts in a fortnight from one campaign, ending in 78 account takeovers.

Early warning working Easing

Decoy machines caught the GitLab attack, Poland's response team flagged Zimbra, and researchers found a camera botnet from the operator's own open folder.

In play WatchTowr — runs the decoy network that caught the first GitLab attack CISA and the FBI — refreshed the Medusa advisory and flagged two more flaws in use Ontinue — disclosed TWINLOOT, built to look like ordinary Microsoft traffic Hunt.io — traced 14,530 hacked cameras to an operator's open folder

How it unfolded

  1. Mon 17 Aug GitLab ships an emergency fix for a 9.4-rated flaw
  2. Tue 18 Aug CISA and the FBI refresh the Medusa ransomware advisory
  3. Wed 19 Aug A decoy network catches the first real attacks on the GitLab flaw
  4. Thu 20 Aug Two more flaws added to the US must-patch list; three Rust packages poisoned

Where this points

Watch whether the gap from fix to attack keeps shrinking below two days. If it does, the useful question stops being how fast you patch and becomes how fast you notice.

Full briefing

The alarm came from a machine nobody uses

GitLab, the code-hosting platform thousands of companies run themselves, shipped an emergency fix on Monday 17 August [1][2]. The flaw is rated 9.4 out of 10 [1]. It let a stranger with no account and no password change or delete public projects and user data [1][2].

The security firm WatchTowr says its honeypot network caught the first real-world attempts to use it [1]. A honeypot is a machine put on the internet as bait. It runs no real work and serves no real users. Nobody has any legitimate reason to touch it, so anything that does is an intruder by definition.

That is the whole trick. There is no judgement call, no “was this normal” - the alarm is the answer.

The gap was about two days from public disclosure to attack [1]. WatchTowr says it reproduced the flaw “within minutes” of disclosure, armed only with the advisory and the patch [1]. No public exploit code had been released [1]. Its principal researcher Jake Knott calls that narrow window the new reality [1].

What worries researchers most is not deletion. The flaw can forge merge records - the approval stamp that says a human reviewed a code change [1]. Mondoo co-founder Patrick Munch notes that in every supply-chain worm tracked this year, attackers had to work around code review [1]. This does it for free.

Anyone running their own GitLab should update to 19.2.4, 19.1.6, 19.0.8 or 18.11.11 [1]. WatchTowr suggests searching web logs for requests containing @gl_introduced [1].

Four more doors, and how long each stayed open

Zimbra, an email suite used by hundreds of millions of people, is under active attack [3]. Poland’s national cyber-response team says it has seen attacks this week on a flaw patched back on 20 July [3][4]. Shadowserver, an internet-scanning watchdog, counts more than 12,100 Zimbra servers still reachable online [3]. It cannot say how many are patched - or how many are decoys [3].

Citrix patched a 9.3-rated flaw in NetScaler on Wednesday [5][6]. NetScaler sits at the public edge of corporate networks and handles remote access, so it is a standing target. Rapid7 expects attackers to move on it shortly for exactly that reason [5].

CISA, the US cyber-defence agency, added two flaws in TrueConf Server, a video-conferencing product, to its must-patch list on Thursday, citing evidence of active use [7].

And researchers at WatchTowr say attackers are using a flaw in MLflow, an open-source tool for running AI models [10]. It lets them reach the internal service that hands a cloud server its own keys, and take them [10].

Sometimes there is nothing left to patch

CISA, the FBI and the US health department refreshed their advisory on the Medusa ransomware gang on Tuesday [8][9]. The original went out in March 2025; this is a year of further investigation folded in [8][9]. Confirmed victims rose from more than 300 to more than 500 as of April 2026 [8].

One line is worth sitting with. The agencies say Medusa exploits “newly announced exploits within 24 hours” - and has been seen using them up to a week before the flaw was publicly disclosed [8].

If that is right, patching cannot be the whole answer, because for part of that week no patch existed. Something has to notice the intruder instead.

The intruder built to look like your own software

Which is exactly what one new toolkit is designed to defeat. Researchers at Ontinue disclosed TWINLOOT, a hidden program that runs its entire remote-control channel through Microsoft’s own services [11].

Instructions are left as files in SharePoint Online. Live operator access is relayed through Microsoft Teams servers [11]. The traffic is driven by a headless copy of the victim’s own Edge browser, which Ontinue says makes it “virtually indistinguishable from legitimate network activity” [11]. It also shows fake lock screens to harvest Windows passwords [11].

Google reported the same instinct in three suspected Russian spying groups, tracked as UNC6293, UNC7005 and UNC5976 [12][13]. They have moved to abusing genuine sign-in flows - the real Google screens that ask you to let an app in [12][13]. Targets are academics, aerospace, defence, government and think tanks in Europe and the US [12][13]. Each campaign hit fewer than 100 people, with under 10 actually compromised [12].

Google’s point is blunt: because the sign-in page is real, victims may not recognise it as phishing at all [12].

Still, mostly, a password

The security firm Huntress recorded a 155-fold rise in password-spraying attacks in the first half of 2026 [14]. Password spraying tries one common password against thousands of accounts, slowly, to stay under lockout limits. In mid-June alone Huntress logged over 81 million login attempts from one campaign against a Microsoft admin tool [14]. It ended in 78 account takeovers in a fortnight [14]. The figures are Huntress’s own, published on BleepingComputer [14].

The human version is smaller and sharper. A Huntress researcher was approached on X after Black Hat and Def Con by someone posing as a senior CoinDesk marketing executive, asking for help with a made-up conference [15]. The researcher did not fall for it, so the same person came back the next day with a second lure, then a third pretext [15]. If you attend a big industry event, expect the follow-up messages to include a few that are not real [15].

Poisoned before the code ever ran

Someone took over the account behind arrayref, a widely used building block for Rust programs, and pushed a booby-trapped release [16][17]. Two sibling packages, internment and append-only-vec, went the same way inside a 23-minute window [16]. The Rust project pulled all three, 86 to 107 minutes after publication [17].

The nasty part is when it ran. The malicious code sat in a build script, so simply compiling a project that used it was enough [16][17]. Nothing had to call the library at all [17].

Download figures are counted two ways here. BleepingComputer puts arrayref alone at more than 53 million downloads over 90 days [16]. The Hacker News totals 245 million across all three packages [17]. There is no fix and no CVE number - the industry’s standard label for a known flaw - so developers are told to pin arrayref at 0.3.9 or earlier [17].

The same week, 16 packages were planted in RubyGems, the package library Ruby programmers pull from, under near-miss names like brumdler and activesupmport [18]. They steal browser logins, crypto wallets and seed phrases [18]. The trick is nothing more than a typo: names one slip of a finger away from real ones. All 16 have been pulled [18].

A quieter week for scheduled patches it was not. Atlassian and Splunk together shipped fixes for over 250 flaws [19]. Cisco patched 15, four of them critical in its Crosswork software. Three of those four carry the maximum rating, 10 out of 10 [20].

14,000 cameras, and the folder the attacker left open

The under-covered story is a mirror of the lead. Researchers at Hunt.io say one operator compromised more than 14,530 Dahua internet cameras across Ukraine and Russia between 17 June and 22 July [21]. Most fell to guessed passwords [21].

On 1,923 of them the attacker planted a second account, username and password p2pwn and p2password [21]. It is stored apart from the admin login. It survives a password change, and on most firmware it survives a factory reset [21].

Hunt.io found all this because the operator left their working folder open on a web server - 407 MB of logs, credentials and captured images, 2,616 files in all [21]. The defenders’ tripwire caught GitLab. Here the attacker built their own.

Elsewhere: Bitdefender detailed SilkParasite, a China-linked spying operation that ran for nearly a year against government bodies across Central Asia, using seven malware families [22]. And Australian aparthotel chain Quest told guests their names and contact details leaked through a third-party database provider, with dates of birth in a small number of records [23].

02 · Lesson · why it matters

The alarm that never has to guess

Take away every legitimate reason to touch a thing, and any hand that reaches for it has answered the question before anyone asks it.

How it works

  1. Most alarms must judge whether activity was normal
  2. That judgement is where the false alarms come from
  3. A decoy has no legitimate use at all
  4. So there is nothing to judge - any touch is real
  5. But it only says someone is inside
  6. Not how they got in, or what else they reached

The twist

Every other alarm has to decide whether what it saw was normal. A decoy never has to decide anything, because nothing about it was ever normal to touch.

Where you've seen this

Map-making

a street that does not exist, printed so a copied map names itself

Mailing lists

a fake name and address added, so any post to it proves the list was sold

Leaked documents

a tiny wording change per recipient, whose only job is to identify who passed it on

An unlisted number

given to nobody, so a call to it can only have come from a leak

The catch

A decoy is a tripwire, never a defence - it covers almost nothing, and an intruder who never touches it stays invisible.

Full lesson

The server that was never real

On Wednesday, something on the internet tried to interfere with the public projects on a GitLab server.

The server had no projects. It had no users. It was put online as bait, by a security firm, for exactly this. Nobody had any business touching it at all.

That is how anyone knew, two days after GitLab’s emergency fix went out, that the flaw was already being used against real companies.

What every other alarm has to do first

An ordinary detector has a hard question to answer before it can say anything: was that normal?

A login at three in the morning is an intruder, or an engineer who could not sleep. A big download is theft, or a backup. Software that reaches out to an unfamiliar address is a break-in, or an update.

The detector has to judge. Everyone already knows how that goes - too strict and the analysts drown, too loose and the real one slips past. That is the familiar problem, and it is not the interesting part.

The interesting part is that the question can be deleted.

Removing the reason, not improving the guess

A decoy does not answer “was that normal” better than other tools. It arranges things so there is no normal to compare against.

A spreadsheet named for the payroll that no process ever opens. An administrator account nobody signs into. A customer record for a person who does not exist. A server with nothing on it.

None of them has a legitimate user. So the alarm stops being a judgement about the activity and becomes a plain fact about the place: someone reached for a thing that only a stranger would reach for.

This is why a single hit counts. Most alarms need corroboration because most alarms are wrong. This one needs none, because it has almost no way to be wrong in that direction.

The arithmetic behind that is worth naming. When the thing you are hunting is rare, even a very accurate detector rings mostly false, simply because there are so many innocent events to mistake. A decoy does not beat that arithmetic. It steps outside it, because there is no innocent population on a thing nobody has any reason to use.

What it cannot tell you

It says someone is inside. That is the whole message.

Not how they got in. Not what else they touched. Not how long they have been there, and not, if the decoy belongs to a research firm rather than to you, whether you in particular were hit.

It is also not the same as keeping a record an intruder cannot quietly alter. That kind of record speaks afterwards, about what was changed and by whom, once you already know to look. A decoy speaks at the time, and says only that someone is here. One protects the honesty of the account. The other reports the fact of the visit. A system can have either without the other.

The cost of setting one is close to nothing. The coverage is close to nothing too. It is a tripwire, and a tripwire is never a defence - it is a thing that speaks once, if you are lucky enough that the intruder walked into it.

The other half of this week is the counter-case. A newly described toolkit routes its instructions through the same file-sharing and meeting services the company already runs. It is driven by the staff member’s own browser. Its traffic sits inside the ordinary traffic and cannot be picked out of it. Suspected Russian groups have moved to abusing genuine sign-in screens for the same reason. Both are built to be indistinguishable from the legitimate. Against an attacker working that hard to look normal, a decoy is one of the few things that does not care how normal you look. It still only speaks if they happen to touch it.

The same trick, in older trades

Mapmakers print a street that was never built. Anyone whose map has that street copied yours.

A mailing list carries one invented name at a real address, so a letter arriving for a person who does not exist proves the list was sold. A publisher changes a word or two in each copy of a sensitive document, and the change has no purpose except to name whoever passed it on. A phone number given to nobody. None of these catches wrongdoing by being clever about it. They arrange the world so that only one explanation is available.

Who can afford to leave things lying around

Running decoys across the whole internet means owning machines that produce nothing, in enough places, for long enough to be found. That is not free, and it is not evenly available.

So the knowledge of who is being attacked, and how quickly, accumulates with the firms and watchdogs that can afford equipment which does no work. What happens next is a choice: they publish the advisory, the blog post, the exact string to search your own logs for. That choice is why a two-day gap is public knowledge rather than private inventory. But the ordering underneath it stays what it is. Some people learn first, and the rest of us learn because they decided to say.

What we are actually counting

Almost nothing in your life sits on a machine where you could place one of these. Your email, your medical records, the systems your employer runs. Someone else decides whether a piece of bait sits beside them, and you will never see it.

When you do find out you were caught in a breach, it is often because a stranger’s decoy was touched. Or because an attacker left a folder open on their own server, as one did this week with fourteen thousand hijacked cameras.

Which quietly means the break-ins we hear about are a filtered sample - weighted towards the intruders careless enough to grab something they had no reason to want. Those are the ones being counted. The others are still out there, being normal.

03 · Lab · your turn

Where the Tripwire Goes

Rehearse the trade between alarms that watch real activity and decoys that no legitimate user has any reason to touch.

04 · Hope · carry this

Three poisoned Rust packages were gone within two hours of appearing, and sixteen more were pulled from another library the same week. The clean-up is learning to move at the speed of the attack.

Across the beats