
Research
5 Malicious Chrome Extensions Enable Session Hijacking in Enterprise HR and ERP Systems
Five coordinated Chrome extensions enable session hijacking and block security controls across enterprise HR and ERP platforms.
$ npm install -g fornax
or local install
$ npm install fornax --save-dev
Usage: fornax [options] [command]
Options:
-h, --help output usage information
Commands:
start start mock server
init initialize project with .fornax.config.js
all configuration in ./fornax.config.js
| key | description | type | default |
|---|---|---|---|
| port | mock server port | number | 9000 |
| apiPrefix | prefix of server api | string | /api |
| mockRoot | root directory of mock files | string | mock |
| responseInterceptor | handle response before return | function(body) | |
| responseKey | key in reponse body | object | {code: 'code',message: 'msg',data: 'data'} |
| pageKey | params for pagination | object | {skip:'skip',limit:'limit',order:'order',orderBy:'orderBy',pageSize:'pageSize',currentPage:'currentPage'} |
mock
┠─ user
┃ ┠─ _id
┃ ┃ ┖─ order
┃ ┃ ┖─ _rest.js
┃ ┠─ _rest.js
┃ ┖─ _post.js
┠─ order
┃ ┖─ _rest.js
┖─ custmize.js
define template for mockjs
// mock/user/_rest.js
exports.mock = {
'list|80-100': [
{
id: '@id',
username: '@name',
phone: /^1[34578]\d{9}$/,
team: '@word(6)',
address: '@county(true)',
'gender|+1': [0, 1],
email: '@email',
lastip: '@ip',
'status|+1': [0,1],
'createdAt|100000000000-3535782743268': 1
},
],
}
exports.responseInterceptor = function(body, ctx) {
// override global responseInterceptor in config file
return body;
}
pagination: get http://127.0.0.1:9000/api/user?skip=0&limit=10
query the first page and pageSize is 10
the response is
{
code: 200,
msg: "success",
data: {
list: [
{
id: "440000199206017397",
username: "Jeffrey Miller",
phone: "13218261491",
team: "itezre",
address: "浙江省 舟山市 其它区",
gender: 0,
email: "z.hkisnyh@mpxegc.ni",
lastip: "153.69.229.78",
status: 0,
createdAt: 313244937539
},
],
total: 83
}
}
pagination with params: get http://127.0.0.1:9000/api/user?skip=0&limit=10&status=1
get user: get http://127.0.0.1:9000/api/user/440000199206017397
create user: post http://127.0.0.1:9000/api/user
update user: put http://127.0.0.1:9000/api/user/440000199206017397
delete user: delete http://127.0.0.1:9000/api/user/440000199206017397
visis user's order: get http://127.0.0.1:9000/api/user/440000199206017397/order
rewrite get/post/put/delete
// mock/user/_post.js
exports.handle = () => {
return async ctx => {
// koa request handler
ctx.responseInterceptor = function(body, ctx) {
// override global responseInterceptor in config file
}
}
}
customize handler
exports.handle = (router) => {
// koa-router
router.get('/customizeRouter', ctx => {
// koa request handler
ctx.responseInterceptor = function(body, ctx) {
// override global responseInterceptor in config file
}
});
}
FAQs
简单的mock服务
We found that fornax 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
Five coordinated Chrome extensions enable session hijacking and block security controls across enterprise HR and ERP platforms.

Research
Node.js patched a crash bug where AsyncLocalStorage could cause stack overflows to bypass error handlers and terminate production servers.

Research
/Security News
A malicious Chrome extension steals newly created MEXC API keys, exfiltrates them to Telegram, and enables full account takeover with trading and withdrawal rights.