
Security News
PodRocket Podcast: Inside the Recent npm Supply Chain Attacks
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
@agoric/xsnap
Advanced tools
Snapshotting VM worker based on Moddable's XS Javascript engine
Xsnap is a utility for taking resumable snapshots of a running JavaScript worker, using Moddable’s XS JavaScript engine.
Xsnap provides a Node.js API for controlling Xsnap workers.
const worker = await xsnap();
await worker.evaluate(`
// Incrementer, running on XS.
function handleCommand(message) {
const number = parseInt(new TextDecoder().decode(message), 10);
return new TextEncoder().encode(`${number + 1}`).buffer;
}
`);
await fs.writeFile('bootstrap.xss', worker.makeSnapshotStream());
await worker.close();
Some time later, possibly on a different computer…
const decoder = new TextDecoder();
const worker = await xsnap({
snapshotStream: fs.createFileStream('bootstrap.xss'),
});
const response = await worker.issueCommand('1');
console.log(decoder.decode(response)); // 2
await worker.close();
The parent and child communicate using "commands".
issueCommand
function to send a request
and receive as response from the Node.js parent.handleCommand
function to respond
to commands from the Node.js parent.
handleCommand
may be asynchronous after a fashion: it
may return an object and, before the promise queue becomes empty,
set the result
property of this object to an ArrayBuffer
.
See the evaluate and report test for an example.issueCommand
method to send a
request and receive a response from the XS child.handleCommand
function to
respond to commands from the XS child.FAQs
Snapshotting VM worker based on Moddable's XS Javascript engine
The npm package @agoric/xsnap receives a total of 4,450 weekly downloads. As such, @agoric/xsnap popularity was classified as popular.
We found that @agoric/xsnap demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 10 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.
Security News
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.