
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
strong-daemon
Advanced tools
Requires Node.js v4.8.7
$ npm install strong-daemon
const { StrongDaemon } = require('strong-daemon');
var daemon = new StrongDaemon(
102,
null,
() => { console.log('tick', 'tock') }
);
daemon.start(); // Will print 'tick' 'tock' every ~102 ms
..
/* (!) Note that multiple 'start' call without previous 'stop' will throw error */
daemon.start(); // First call made after ~102ms
daemon.start(false);// First call made after ~102ms
daemon.start(true); // First call made immediately;
..
daemon.start();
daemon.isRunning(); // true
daemon.stop();
daemon.isRunning(); // false
daemon.start();
var daemon = new StrongDaemon(
102,
null,
console.log,
['tick', 'tock']
);
this
usage:const worker = {
data: {},
updateData(source) {
this.data = source.data;
}
}
var daemon = new StrongDaemon(
102,
worker, /* So `this` will be handled properly on `updateData` call */
worker.updateData,
[data_source]
);
daemon.start();
const worker = {
data: {},
source: {...},
updateData() {
this.data = this.source.data()
}
}
var daemon = new StrongDaemon(
101,
null, /* `this.source` will be undefined while daemon will call `updateData` */
worker.updateData
);
/* Error - `this.source` is undefined */
daemon.start();
/* your-lib.js */
const { getInstance } = require('strong-daemon');
// :(
const non_mockable_daemon = new StrongDaemon(...args);
// :)
const mockable_daemon = getInstance(...args);
/* test-your-lib.js */
const D = require('strong-daemon');
D.getInstance = () => { return your_mock; }
Alternative way:
/* your-lib.js */
const { StrongDaemon, getClass } = require('strong-daemon');
const non_mockable_daemon = new StrongDaemon(...args)
const MockableStrongDaemon = getClass();
const mockable_daemon = new MockableStrongDaemon(...args);
/* test-your-lib.js */
const D = require('strong-daemon');
D.getClass = () => { return YourMock; }
StrongDaemon
constructor( interval_time, caller, task, task_args=[] )
Arguments:
interval
integer number - interval time of task call in milliseconds. Note this is not guarntee to call task every interval, it works exactly the same as setInterval(..).unref()
caller
object | null - task's
caller context (in case if task will use 'this' keyword)task
function - task that will be called every interval
[task_args]
Array - list of arguments task will be called with.start( immediate_call )
Start daemon.
Arguments:
immediate_call
- boolean, is task should be called immediately after start call. Default false.stop()
Stop daemon (can be resterted by calling start
).
isRunning()
Returns:
interval
getter for provided interval_time
caller
getter for provided caller
task
getter for provided task
args
getter for provided args
([] returned if not provided])
getInstance
Provided for mocking purposes.
StrongDaemon
constructorgetClass
Provided for mocking purposes.
FAQs
Object wrapper for setInterval
The npm package strong-daemon receives a total of 2 weekly downloads. As such, strong-daemon popularity was classified as not popular.
We found that strong-daemon 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.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.