Cybersecurity · Friday, 21 August 2026
01 · Briefing · what happened
The machine that caught this week's first GitLab attack was never a real one
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
Attackers hit the GitLab flaw two days after the fix. One gang is seen using flaws up to a week before they are public.
The TWINLOOT toolkit routes its control channel through Microsoft SharePoint and Teams so the traffic looks normal.
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.
Huntress logged 81 million login attempts in a fortnight from one campaign, ending in 78 account takeovers.
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.
How it unfolded
- Mon 17 Aug GitLab ships an emergency fix for a 9.4-rated flaw
- Tue 18 Aug CISA and the FBI refresh the Medusa ransomware advisory
- Wed 19 Aug A decoy network catches the first real attacks on the GitLab flaw
- 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
The security firm WatchTowr says its honeypot network caught the first real-world attempts to use it
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
What worries researchers most is not deletion. The flaw can forge merge records - the approval stamp that says a human reviewed a code change
Anyone running their own GitLab should update to 19.2.4, 19.1.6, 19.0.8 or 18.11.11 @gl_introduced
Four more doors, and how long each stayed open
Zimbra, an email suite used by hundreds of millions of people, is under active attack
Citrix patched a 9.3-rated flaw in NetScaler on Wednesday
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
And researchers at WatchTowr say attackers are using a flaw in MLflow, an open-source tool for running AI models
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
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
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
Instructions are left as files in SharePoint Online. Live operator access is relayed through Microsoft Teams servers
Google reported the same instinct in three suspected Russian spying groups, tracked as UNC6293, UNC7005 and UNC5976
Google’s point is blunt: because the sign-in page is real, victims may not recognise it as phishing at all
Still, mostly, a password
The security firm Huntress recorded a 155-fold rise in password-spraying attacks in the first half of 2026
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
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
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
Download figures are counted two ways here. BleepingComputer puts arrayref alone at more than 53 million downloads over 90 days
The same week, 16 packages were planted in RubyGems, the package library Ruby programmers pull from, under near-miss names like brumdler and activesupmport
A quieter week for scheduled patches it was not. Atlassian and Splunk together shipped fixes for over 250 flaws
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
On 1,923 of them the attacker planted a second account, username and password p2pwn and p2password
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
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
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
- Most alarms must judge whether activity was normal
- That judgement is where the false alarms come from
- A decoy has no legitimate use at all
- So there is nothing to judge - any touch is real
- But it only says someone is inside
- 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.
More from Cybersecurity