Hackers use macOS extended file attributes to hide malicious code

Share:

Hackers are using a novel technique that abuses extended attributes for macOS files to deliver a new trojan that researchers call RustyAttr.

The threat actor is hiding malicious code in custom file metadata and also uses decoy PDF documents to help evade detection.

The new technique is similar to how the Bundlore adware in 2020 hid its payloads in resource forks to hide payloads for macOS. It was discovered in a few malware samples in the wild by researchers at cybersecurity company Group-IB.

Based on their analysis and because they could not confirm any victims, the researchers attribute the samples to the North Korean threat actor Lazarus with moderate confidence. They believe that the attacker may be experimenting with a new malware delivery solution.

The method is uncommon and proved to be efficient against detection, as none of the security agents on the Virus Total platform flagged the malicious files.

Concealing code in file attributes

macOS extended attributes (EAs) represent hidden metadata typically associated with files and directories, that is not directly visible with Finder or the terminal but can be extracted using the ‘xattr’ command for showing, editing, or removing extended attributes.

In the case of RustyAttr attacks, the EA name is ‘test’ and holds a shell script.

The malcious apps storing the EA are built using the Tauri framework, which combines a web frontend (HTML, JavaScript) that can call functions on a Rust backend.

When the application runs, it loads a webpage containing a JavaScript (‘preload.js’) that gets the content from the location indicated in the “test” EA and sends it to the ‘run_command’ function for the shell script to be executed.

Contents of preload.js
Contents of preload.js
Source: Group-IB

To keep user suspicion low during this process, some samples launch decoy PDF files or display error dialogs.

Decoy PDF hides malicious background activity
Decoy PDF hides malicious background activity
Source: Group-IB

The PDF is fetched from a pCloud instance for public file sharing that also contains entries with names related to cryptocurrency investment topics, which aligns with Lazarus’ targets and goals.

The few samples of RustyAttr apps Group-IB found all pass detection tests on Virus Total and the applications were signed using a leaked certificate, which Apple has since revoked, but were not notarized.

App certificate details
App certificate details
Source: Group-IB

Group-IB was not able to retrieve and analyze the next-stage malware but discovered that the staging server connects to a known endpoint in Lazarus infrastructure to attempt to fetch it.

Execution flow
Execution flow
Source: Group-IB

Experimenting with macOS evasion

The case reported by Group-IB is very similar to another recent report from SentinelLabs, which observed the North Korean threat actor BlueNoroff experimenting with similar yet distinct techniques for evasion in macOS.

BlueNoroff used cryptocurrency-themed phishing to lure targets to download a malicious app that was signed and notarized.

The apps used a modified ‘Info.plist’ file to stealthily trigger a malicious connection to the attacker-controlled domain from where the second-stage payload is retrieved.

It is unknown if the campaigns are related, but it is common for separate activity clusters to use the same information on how to effectively breach macOS systems without triggering alarms.

Bill Toulas

Leave a Comment

Your email address will not be published. Required fields are marked *

loader-image
London, GB
12:22 pm, Jun 30, 2025
weather icon 29°C
L: 28° | H: 31°
clear sky
Humidity: 50 %
Pressure: 1018 mb
Wind: 9 mph E
Wind Gust: 0 mph
UV Index: 0
Precipitation: 0 mm
Clouds: 0%
Rain Chance: 0%
Visibility: 10 km
Sunrise: 4:46 am
Sunset: 9:21 pm
DailyHourly
Daily ForecastHourly Forecast
Today 10:00 pm
weather icon
28° | 31°°C 0 mm 0% 11 mph 50 % 1017 mb 0 mm/h
Tomorrow 10:00 pm
weather icon
22° | 32°°C 0 mm 0% 9 mph 68 % 1016 mb 0 mm/h
Wed Jul 02 10:00 pm
weather icon
15° | 22°°C 0.2 mm 20% 12 mph 82 % 1022 mb 0 mm/h
Thu Jul 03 10:00 pm
weather icon
14° | 26°°C 0 mm 0% 8 mph 81 % 1028 mb 0 mm/h
Fri Jul 04 10:00 pm
weather icon
16° | 27°°C 0 mm 0% 11 mph 62 % 1029 mb 0 mm/h
Today 1:00 pm
weather icon
28° | 29°°C 0 mm 0% 8 mph 50 % 1017 mb 0 mm/h
Today 4:00 pm
weather icon
29° | 30°°C 0 mm 0% 11 mph 44 % 1016 mb 0 mm/h
Today 7:00 pm
weather icon
28° | 28°°C 0 mm 0% 9 mph 37 % 1015 mb 0 mm/h
Today 10:00 pm
weather icon
25° | 25°°C 0 mm 0% 2 mph 42 % 1014 mb 0 mm/h
Tomorrow 1:00 am
weather icon
23° | 23°°C 0 mm 0% 4 mph 54 % 1015 mb 0 mm/h
Tomorrow 4:00 am
weather icon
22° | 22°°C 0 mm 0% 4 mph 66 % 1014 mb 0 mm/h
Tomorrow 7:00 am
weather icon
23° | 23°°C 0 mm 0% 7 mph 68 % 1015 mb 0 mm/h
Tomorrow 10:00 am
weather icon
27° | 27°°C 0 mm 0% 6 mph 50 % 1015 mb 0 mm/h
Name Price24H (%)
Bitcoin(BTC)
€91,877.62
-0.38%
Ethereum(ETH)
€2,097.70
0.18%
Tether(USDT)
€0.85
-0.01%
XRP(XRP)
€1.86
-0.46%
Solana(SOL)
€128.28
-0.45%
USDC(USDC)
€0.85
0.00%
Dogecoin(DOGE)
€0.140803
0.62%
Shiba Inu(SHIB)
€0.000009
-1.22%
Pepe(PEPE)
€0.000009
3.31%
Scroll to Top