Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
[![Build Status](https://travis-ci.org/rla/dom-eee.svg)](https://travis-ci.org/rla/dom-eee)
Supported environments:
This example uses Cheerio:
var cheerio = require('cheerio');
var eee = require('dom-eee');
var html = '<ul><li>item1</li><li>item2 <span>with span</span></li></ul>';
var $ = cheerio.load(html);
var result = eee($.root(),
{
items: {
selector: 'li',
type: 'collection',
extract: { text: { selector: ':self' } },
filter: { exists: 'span' }
}
},
{ env: 'cheerio', cheerio: $ });
console.log(result);
Prints:
{ items: [ { text: 'item2 with span' } ] }
The system works by evaluating an object-formatted DSL expression. The syntax of the DSL and its semantics is described below.
ObjectExpression
:
{
"prop1": Expression,
"prop2": Expression
}
ObjectExpression
returns an object with given properties.
Property values are described by further a Expression
(s).
Expression
is either CollectionExpression
or
SingleExpression
, returning a value described by it.
CollectionExpression:
{
"type": "collection",
"selector": CSSSelector,
"extract": ObjectExpression,
"filter": FilterExpression
}
CollectionExpression
returns an array of items. Items are extracted
by applying extract
expression to each element matched by the
selector
CSS rule. If the rule matches no elements then an empty
array is returned.
Optionally, the filter
property might be set. Then the array of
raw elements is first filtered through the FilterExpression
.
SingleExpression
:
{
"type": "single",
"selector": CSSSelector,
"property": String,
"attribute": String
}
Properties property
and attribute
are optional. If present
the extracted value is either a property or an attribute of the
node matched by the selector
. If not present, the text contents
of the element is returned. If selector
matches nothing then
null is returned.
Property type
is optional. When not set, single
is assumed as
the default.
FilterExpression
:
{
"exists": CSSSelector
}
An element passes a FilterExpression
if it has elements that match
the CSS rule in the exists
property.
Run npm test
.
The MIT License.
FAQs
[![Build Status](https://travis-ci.org/rla/dom-eee.svg)](https://travis-ci.org/rla/dom-eee)
The npm package dom-eee receives a total of 0 weekly downloads. As such, dom-eee popularity was classified as not popular.
We found that dom-eee 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
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.