0.1.93 • Published 2 days ago

@ijstech/node v0.1.93

Weekly downloads
20
License
AGPL-3.0
Repository
github
Last release
2 days ago

@ijstech/node

Secure Node Server

Node.js is one of the most popular application frameworks in use today especially in cloud and web-based applications. A typical Node.js application may contain hundreds or thousands of 3rd party developed npm packages. These NPM packages enable developers to be extremely productive in developing solutions and it is a key reason why the use of Node.js is so attractive to developers. However, in a traditional Node.js implementation, these NPM packages come at a security cost.

In a traditional Node.js architecture, each of the NPM packages are allowed access to local server resources including sensitive capabilities such as uploading and downloading external files. As NPM packages are updated, security issues can be introduced to compromise the system. According to this study (https://www.zdnet.com/article/hacking-20-high-profile-dev-accounts-could-compromise-half-of-the-npm-ecosystem/), it would only take the hacking of 20 high-profile dev accounts to compromise half of the npm ecosystem. Thus, using npm packages, the traditional way will expose the applications to security risks that cannot be tolerated in mission critical systems.

@ijstech/node allows developers to use NPM packages with fewer concerns as logic runs on isolated VMs. @ijstech/node is also a complete secure application development framework featuring the following:

  • A default secure server which supports SSL protocol by default, and using only minimum set of code reviewed npm packages
  • An isolated VM which creates a completely isolated runtime environment for application logics:
    • each VM instance runs on separate thread
    • restrict the code from accessing server resources (e.g. open new ports, access local files etc)
    • set memory limits / safe against heap overflow DoS attacks
    • set CPU limits, release the VM instance if runtime duration exceeds the limit
  • A bunch of packages (https://www.npmjs.com/org/ijstech) which is using the VM security model to wrap third-party npm packages to provide common functionalities in a secure way

Usage

Step 1: Create a new folder

mkdir demo
cd demo

Step 2: Initialize a worker/router plugin

npx @ijstech/plugin init <worker/router> <name>
e.g.: npx @ijstech/plugin init worker @scom/demo1

Step 3: Install package dependencies

npm i

for npm 9.x

npm i --install-links=false

or

docker-compose up install

Step 4: Run unit test

npm run test

or

docker-compose up test

Step 5: Build plugin

npm run build

or

docker-compose up build
0.1.93

2 days ago

0.1.92

2 months ago

0.1.91

2 months ago

0.1.90

2 months ago

0.1.89

2 months ago

0.1.87

3 months ago

0.1.88

3 months ago

0.1.86

4 months ago

0.1.85

4 months ago

0.1.80

8 months ago

0.1.81

7 months ago

0.1.82

7 months ago

0.1.83

7 months ago

0.1.84

7 months ago

0.1.74

9 months ago

0.1.75

9 months ago

0.1.76

8 months ago

0.1.77

8 months ago

0.1.78

8 months ago

0.1.79

8 months ago

0.1.70

10 months ago

0.1.71

10 months ago

0.1.72

9 months ago

0.1.73

9 months ago

0.1.64

11 months ago

0.1.65

11 months ago

0.1.66

10 months ago

0.1.67

10 months ago

0.1.68

10 months ago

0.1.69

10 months ago

0.1.58

1 year ago

0.1.59

12 months ago

0.1.63

11 months ago

0.1.60

11 months ago

0.1.61

11 months ago

0.1.62

11 months ago

0.1.52

1 year ago

0.1.53

1 year ago

0.1.54

1 year ago

0.1.55

1 year ago

0.1.56

1 year ago

0.1.57

1 year ago

0.1.50

1 year ago

0.1.51

1 year ago

0.1.49

1 year ago

0.1.47

1 year ago

0.1.48

1 year ago

0.1.15

2 years ago

0.1.41

1 year ago

0.1.42

1 year ago

0.1.43

1 year ago

0.1.44

1 year ago

0.1.45

1 year ago

0.1.46

1 year ago

0.1.40

1 year ago

0.1.38

1 year ago

0.1.39

1 year ago

0.1.30

1 year ago

0.1.31

1 year ago

0.1.32

1 year ago

0.1.33

1 year ago

0.1.34

1 year ago

0.1.35

1 year ago

0.1.36

1 year ago

0.1.37

1 year ago

0.1.27

1 year ago

0.1.28

1 year ago

0.1.29

1 year ago

0.1.20

1 year ago

0.1.21

1 year ago

0.1.22

1 year ago

0.1.23

1 year ago

0.1.24

1 year ago

0.1.25

1 year ago

0.1.26

1 year ago

0.1.16

2 years ago

0.1.17

1 year ago

0.1.18

1 year ago

0.1.19

1 year ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.12

2 years ago

0.1.13

2 years ago

0.1.14

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.9

2 years ago

0.1.6

2 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.1

3 years ago