Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
larvituser-api
Advanced tools
REST http API module wrapper around the user library larvituser
npm i larvituser-api
In the file index.js:
const UserApi = require('larvituser-api'),
db = require('larvitdb');
let userApi;
db.setup({'db': 'options'}); // See https://github.com/larvit/larvitdb for details
userApi = new UserApi({
'db': db, // Must be a configured database instance
'appOptions': {}, // Will be passed directly to larvitbase. For more info see: https://github.com/larvit/larvitbase
'intercom': undefined, // Or instance of larvitamintercom. For more info see: https://github.com/larvit/larvitamintercom
'mode': undefined, // DataWriter mode, see larvituser for more info: https://github.com/larvit/larvituser
});
userApi.start(function (err) {
if (err) throw err;
console.log('API up and running!');
});
Then just start the file from shell:
node index.js
200 OK
[
{"someRole": "some regex string"},
{"someRole": "another regex string for the same role"},
{"anotherRole": "with some othe regex string"}
]
Create or replace one or more role rights. If a role already exists it will be replaced. If it did not exist, it will be created.
[
{"someRole": "some regex string"},
{"anotherRole": "with some othe regex string"}
]
204 No Content
Delete one or more roles rights by role and regex string.
[
{"firstRoleToBeRemoved": "firstRolesRegex"},
{"secondRoleToBeRemoved": "secondRolesRegex"}
]
204 No Content
Fetch a specific user
One, and exactly one of the following is allowed:
200 OK
{
"uuid": "uuid string",
"username": "string",
"fields": {
"fieldName1": ["field value 1", "field value 2"],
"some other field": ["other fields value"]
}
}
404 Not Found
"no matching user found"
Obtain a user by username and password. Do not use this if your connection is not secure!
{
"username": "string",
"password": "string"
}
200 OK
{
"uuid": "uuid string",
"username": "string",
"fields": {
"fieldName1": ["field value 1", "field value 2"],
"some other field": ["other fields value"]
}
}
404 Not Found
"no matching user found"
Create or replace a specific user, defined by uuid.
Some considerations:
{
"uuid": "uuid string", // If left out a new user will be created and a random uuid given to it
"username": "foo",
"password": "bar" or false,
"fields": {
"name": "Bosse",
"lastname": "Bengtsson"
}
}
200 OK
{
"uuid": "uuid string",
"username": "foo",
"fields": {
"name": ["Bosse"],
"lastname": ["Bengtsson"]
}
}
Modify an existing user
Some considerations:
{
"uuid": "uuid string",
"username": "foo",
"password": "bar" or false,
"fields": {
"name": "Bosse",
"lastname": "Bengtsson"
}
}
200 OK
{
"uuid": "uuid string",
"username": "foo",
"fields": {
"name": ["Bosse"],
"lastname": ["Bengtsson"]
}
}
Remove a user from the database
{
"uuid": "uuid string"
}
200 OK
"acknowledged"
Fetch a list of users.
This is all optional, will only fetch users that matches all criterias.
200 OK
{
"totalHits": 392,
"hits": [
{
"uuid": "uuid string",
"username": "bosse",
"fields": {
"field1": ["field value 1"]
}
},
{
"uuid": "uuid string",
"username": "bengan",
"fields": {
"field1": ["foo"],
"field": ["bar"]
}
}
]
}
FAQs
REST api built on top of larvituser
The npm package larvituser-api receives a total of 4 weekly downloads. As such, larvituser-api popularity was classified as not popular.
We found that larvituser-api demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.