Now shipping: Microsoft Build 2026 - June 2–3, 2026 / San Francisco and online

https://build.microsoft.com/

#msbuild #devconference #microsoft #ai #cloud #dotnet #windowsdev #azure

Microsoft Build, June 2-3, 2026 / San Francisco and online

Go deep on real code and real systems with the teams building and scaling AI at Microsoft Build, June 2–3, 2026, in San Francisco and online.

PlugX Meeting Invitation via MSBuild and GDATA

Pulse ID: 69a757e4036551f15fbe4574
Pulse Link: https://otx.alienvault.com/pulse/69a757e4036551f15fbe4574
Pulse Author: Tr1sa111
Created: 2026-03-03 21:51:32

Be advised, this data is unverified and should be considered preliminary. Always do further verification.

#CyberSecurity #InfoSec #MSBuild #OTX #OpenThreatExchange #PlugX #bot #Tr1sa111

LevelBlue - Open Threat Exchange

Learn about the latest cyber threats. Research, collaborate, and share threat intelligence in real time. Protect yourself and the community against today's emerging threats.

LevelBlue Open Threat Exchange

PlugX Meeting Invitation via MSBuild and GDATA

A recent PlugX campaign utilized phishing emails with a 'Meeting Invitation' lure to deploy malware through DLL side-loading. The infection chain begins with a zip file containing a malicious .csproj file and MSBuild executable. The .csproj file downloads three components: a legitimate G DATA Antivirus executable, a malicious Avk.dll (PlugX variant), and an encrypted AVKTray.dat file. The malware uses DLL side-loading, API hashing, and XOR encryption for obfuscation. It establishes persistence via the Run registry key and communicates with a command and control server. The campaign showcases PlugX's continued evolution while maintaining its core characteristics, highlighting its ongoing relevance in cyber-espionage operations.

Pulse ID: 69a3ce16b33dca316675f3f3
Pulse Link: https://otx.alienvault.com/pulse/69a3ce16b33dca316675f3f3
Pulse Author: AlienVault
Created: 2026-03-01 05:26:46

Be advised, this data is unverified and should be considered preliminary. Always do further verification.

#CyberSecurity #Email #Encryption #Espionage #ICS #InfoSec #MSBuild #Malware #OTX #OpenThreatExchange #Phishing #PlugX #RAT #ZIP #bot #cyberespionage #AlienVault

LevelBlue - Open Threat Exchange

Learn about the latest cyber threats. Research, collaborate, and share threat intelligence in real time. Protect yourself and the community against today's emerging threats.

LevelBlue Open Threat Exchange

PlugX Meeting Invitation via MSBuild and GDATA

Pulse ID: 69a19ec30f2a3dc1cd0a8bbc
Pulse Link: https://otx.alienvault.com/pulse/69a19ec30f2a3dc1cd0a8bbc
Pulse Author: CyberHunter_NL
Created: 2026-02-27 13:40:19

Be advised, this data is unverified and should be considered preliminary. Always do further verification.

#CyberSecurity #InfoSec #MSBuild #OTX #OpenThreatExchange #PlugX #bot #CyberHunter_NL

LevelBlue - Open Threat Exchange

Learn about the latest cyber threats. Research, collaborate, and share threat intelligence in real time. Protect yourself and the community against today's emerging threats.

LevelBlue Open Threat Exchange
#TIL If a #NuGet package, such as System.CommandLine, provides satellite assemblies for localized strings, you can bundle only selected ones. To do this, add a line in your #CsProj like this:
<SatelliteResourceLanguages>fr;de;he;uk</SatelliteResourceLanguages>
BTW, I don't know how to skip bundling them at all, maybe an empty tag will suffice. #DotNet #CSharp #MSBuild #Programming
Getting more information in MSBuild binlogs with property tracking - Gérald Barré

Learn how to enable MSBuild property tracking to get detailed information about property changes in your build logs.

Meziantou's blog
Retrieve method source file location at runtime using Portable PDBs in .NET - Gérald Barré

Learn how to retrieve the source file path and line number for any method at runtime using Portable PDBs in .NET.

Meziantou's blog

Kaspirin: история о том, как ограничения помогли ускорить разработку

Бывало, открываешь код-ревью — и чувствуешь себя археологом. Каждый кусок кода — как артефакт из разных времен: тут блестит бронзовая монетка, там торчит бивень мамонта, а чуть дальше — отпечатки времен .NET 4, пережившие три рефакторинга. Все это чудом взаимодействует, но порой страшно тронуть — вдруг вся конструкция рассыплется. Эта история знакома многим командам. Мы привыкли думать, что хороший фреймворк — это гибкий фреймворк. Что чем больше у него возможностей, тем лучше. И действительно: гибкость помогает выйти на рынок, быстрее выпустить первую версию, подстроиться под новые требования. Но в какой-то момент эта гибкость начинает мешать. Мы в команде разработки пользовательского интерфейса поняли это, когда наш общий код перестал быть общим: его было слишком много, он жил своей жизнью, и никто уже не знал, что в нем есть и как оно работает. С этого начался Kaspirin — наш внутренний фреймворк, который мы создали не для расширения возможностей, а чтобы навести порядок и убрать лишнюю вариативность. Название придумалось само собой: смесь Kaspersky и aspirin — лекарство от головной боли, вызванной избыточной гибкостью.

https://habr.com/ru/articles/968752/

#Kaspirin #kaspersky #фреймворк #figma #wpf #интерфейс_пользователя #ui #msbuild

Kaspirin: история о том, как ограничения помогли ускорить разработку

Бывало, открываешь код-ревью — и чувствуешь себя археологом. Каждый кусок кода — как артефакт из разных времен: тут блестит бронзовая монетка, там торчит бивень мамонта, а чуть дальше — отпечатки...

Хабр
If you thought #MSBuild was complicated, meet #gradle - here is a thread on how to execute code after build finished.
https://github.com/gradle/gradle/issues/20151
Build finished event now deprecated · Issue #20151 · gradle/gradle

Starting in Gradle 7.4, both the Gradle.buildFinished and BuildListener.buildFinished are deprecated. Apparently, it was not possible to get these methods to work with the configuration caching fea...

GitHub