
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
Get the mac address of the current machine you are on
Will run anywhere that the underlying commands are present:
On Windows, getmac is used
On Unix/Linux/Mac, ifconfig is used if present, otherwise ip is used
Other environments are not supported as they provide no way of fetching the mac address.
That means:
If you are building a server app, or a desktop app, and wanting to get the mac address of where the node.js process is run, then this will work as expected.
If you are building a server app, this will only get the mac address of the server. There is no way to get a web browser user's mac address without installing software on their computer.
If you are building an electron app, you can run this on the server-side then communicate it to the client side.
This library will not run in web browsers / on the client-side / in webpack / in browserify / in angular / in react / in jQuery / in HTML. It will only run on node.js environments, which the web browser is not.
npm install --save getmacgetmac-noderequire('getmac')This package is published with the following editions:
getmac aliases getmac/index.js which uses Editions to automatically select the correct edition for the consumers environmentgetmac/source/index.coffee is coffeescript source code with require for modulesgetmac/edition-esnext/index.js is coffeescript compiled for node.js with require for modulesgetmac/edition-node-0.10/index.js is coffeescript compiled for node.js >=0.10 with require for modulesInstall globally npm install -g getmac, then run with getmac-node
Install locally npm install --save getmac, then use like so:
// Fetch the computer's mac address
require('getmac').getMac(function(err, macAddress){
if (err) throw err
console.log(macAddress)
})
// Fetch the computer's mac address for a specfici interace
require('getmac').getMac({iface: 'eth0'}, function(err, macAddress){
if (err) throw err
console.log(macAddress)
})
// Validate that an address is a mac address
if ( require('getmac').isMac("e4:ce:8f:5b:a7:fc") ) {
console.log('valid mac')
}
else {
console.log('invalid mac')
}
Discover the release history by heading on over to the HISTORY.md file.
Discover how you can contribute by heading on over to the CONTRIBUTING.md file.
These amazing people are maintaining this project:
No sponsors yet! Will you be the first?
These amazing people have contributed code to this project:
Discover how you can contribute by heading on over to the CONTRIBUTING.md file.
Unless stated otherwise all works are:
and licensed under:
FAQs
Get the MAC address of the current machine you are on.
We found that getmac demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.