
Research
/Security News
Weaponizing Discord for Command and Control Across npm, PyPI, and RubyGems.org
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
Use cross-platform IPC paths in Node.js.
In Node.js - instead of using TCP - you also can take IPC2 to communicate to services like
or to interconnect Node.js apps, Electron frontends/backends and so on.
This can lead to large speed gains.
On unixoid operating systems - e.g. Linux and OS X - we use Unix domain sockets that are referred by file descriptors.
Windows has named pipes for it, living in the root directory of the NPFS3, mounted under the special path \\.\pipe\.
To mitigate these differences and to to support writing portable code, xpipe was born...
npm install xpipe
// CommonJS (CJS) require
const xpipe = require('xpipe');
// ECMAScript Modules (ESM) import
import xpipe from 'xpipe';
let prefix = xpipe.prefix;
console.log(`prefix: ${prefix}`);
// [empty string] on Linux and macOS
// "//./pipe/" on Windows
let ipcPath = xpipe.eq('/tmp/my.sock');
console.log(`ipcPath: ${ipcPath}`);
// Returns a cross-platform IPC path:
// "/tmp/my.sock" on Linux and OS X
// "//./pipe/tmp/my.sock" on Windows
Every Windows API/kernel ever has accepted "/" as a path separator. So has every version of MS-DOS beginning with DOS 2.0 (the first version to support subdirectories).
It's only been in command lines that "/" was not allowed when it had already been used as a switch delimiter in MS-DOS 1.0 (introduced by IBM).
This behaviour could be bypassed (at least on modern Windows systems) by including the path in double quotation marks:
Further articles:
xpipe stands for xp (cross-platform) IPC path equalizer ↩
inter-process communication, see https://en.wikipedia.org/wiki/Inter-process_communication ↩
named pipe file system (in-memory) ↩
on Windows "/" without a leading drive letter represents the root of the current drive ↩
FAQs
Use cross-platform IPC paths in Node.js.
The npm package xpipe receives a total of 68,717 weekly downloads. As such, xpipe popularity was classified as popular.
We found that xpipe demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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
/Security News
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
Security News
Socket now integrates with Bun 1.3’s Security Scanner API to block risky packages at install time and enforce your organization’s policies in local dev and CI.
Research
The Socket Threat Research Team is tracking weekly intrusions into the npm registry that follow a repeatable adversarial playbook used by North Korean state-sponsored actors.