
Research
Namastex.ai npm Packages Hit with TeamPCP-Style CanisterWorm Malware
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.
Expand Error.stack traces into usable objects providing context and highlighting
Providing better stack traces for V8 by giving you full-fledged objects for each frame in the trace.
Creating a nice color trace with context, reversed so that the latest call is printed last:
var trace = require('tracejs').trace;
try {
somethingThatThrowsAnError();
} catch(err) {
var stacktrace = trace(err);
console.error(stacktrace.toString());
}
Iterating through frames and grabbing the constituent files:
var trace = require('tracejs').trace;
try {
somethingThatThrowsAnError();
} catch(err) {
var stacktrace = trace(err);
for(var i = 0, len = stacktrace.frames.length; i < len; ++i) {
console.error(stacktrace.frames[i].filename, stacktrace.frames[i].filedata());
}
}
Creates and returns a Trace object by parsing an Error object.
Holds the original error, the first line of the trace (the message), and the frames that make up the stack trace. Returned by trace.
Members:
frames: an Array of Frame objects.first_line: the first line of the original stack trace -- usually contains the error message, if any.original_error: the original Error object that the Trace was generated from.The default output of Trace#toString looks like the following:

The default printing mode for the trace; an array of [context_lines:int, print_cursor:boolean, highlight_character_color:string`].
Defaults to two lines of context with a cursor, with the character that caused the error appearing red.
Returns the prettified stack trace as a string, using Trace.defaults. reversed defaults to true, meaning the most recent call is displayed last. The remaining arguments are passed to Frame#toString for each frame in Trace#frames.
Contains information about a specific stack frame.
Members:
named_location: The name of the scope where the frame originated; e.g., 'ReadStream.emit'.filename: The filename of the frame.line: The integer line number of the frame.character: The character at which the error occurred in the line of the frame.Returns a string containing the text of the file the frame originated from. Works on both native modules as well as userland modules. Cached and synchronous.
Wraps the output from Frame#get_lines() with information about the file, line number, character, and scope if available.
Returns a string containing context lines surrounding the error line from the file of this frame. If ascii_cursor is true, it will
insert a > at the line where the error occurred, and a space before all other lines. highlight_error_start can be any value that ansi-colors will accept, or false to avoid highlighting the character.
new BSD.
FAQs
Expand Error.stack traces into usable objects providing context and highlighting
The npm package tracejs receives a total of 3,743 weekly downloads. As such, tracejs popularity was classified as popular.
We found that tracejs 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
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.