Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@deco-team/deco-server
Advanced tools
A web server that enables installable plugins, structured learning and bidirectional AI interactions.
Deco Server is an easy way to set up a web server that is compatible with the Deco protocol and ecosystem of plugins. The mission of Deco is to create a network of artificially intelligent, bidirectional personal assistants.
Why? I believe the future is networked artificial intelligence profiles. These profiles will be exposed via endpoint, be accessible to others, be able to read and write data, and communicate with other profiles on the internet. Currently, there is no easy way to do this. Deco Server is the first step in that process, because the server makes it easy for websites and applications to build on while enabling the creation of a local Interaction Record to train the artificial intelligence on. This server centralizes user data, enables a new suite of applications, and makes all of the above possible. Everything under your control.
npm i deco
// index.js
import { decoServer } from "deco";
decoServer();
That's all that is required. Your can begin configuring your profile at http://localhost:3456
.
This project is in alpha and is not guaranteed to be secure. Do not store any sensitive information on your server. Do not use in production.
Below is an overview of some of the concepts of a Deco server.
With a Deco server, plugins allow you to extend the capabilities of your server. Plugins can create new tables on your database, create new endpoints, and interact with other plugins. A plugin consists of two files: manifest.json
and app.js
. The manifest outlines the name, version, dependencies, and other meta information including the URI of the app.js
file. The app will export specially named functions:
tables
onInstall
endpoints
Each created endpoint will live at url.com/plugins/[plugin-name]/[endpoint]
.
Non-breaking changes are welcome. We don't have patterns or methods for updates figured out yet.
Plugins should never introduce breaking changes. The idea is that consumer applications may or may not depend on the endpoints and data models created by an application. If new functionality has to be introduced, it's encouraged that a new plugin be created, with an onInstall
migration script migrating old data into the new structure.
I'm still working on the details of this pattern.
Here is the repository for the core plugins.
Core plugins are the minimum plugins required to run a Deco server. These plugins bring core functionality to the server, like users, permissions, notifications, and more.
Deco server supports multiple users. This is great for organizations or families looking to extend control and configuration to others on a single server. Only the owner can create new users. Upon creation, the owner will assign a subdomain, which will serve as the URL subdomain for that user. Each user will require their own database connection, which helps security and makes multi-tenancy easier.
Currently, the server uses password-based authentication. Each user on a server will have their own password. We'd like to expand this to other authentication methods in the future.
We employee a few methods to avoid plugin collisions.
DROP * FROM xyz
, or guess the SQL table names. This also avoids table name collisions, so two apps can make a table called "users" for example./plugins/plugin-name
, which avoids plugin endpoints from colliding with each other.Security is absolutely essential to the success of this project. We won't release a stable version until we're confident it's secure.
Currently there are four methods of accessing data:
Contributions are welcome. Here is what is still needed:
FAQs
A web server that enables installable plugins, structured learning and bidirectional AI interactions.
The npm package @deco-team/deco-server receives a total of 1 weekly downloads. As such, @deco-team/deco-server popularity was classified as not popular.
We found that @deco-team/deco-server demonstrated a healthy version release cadence and project activity because the last version was released less than 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
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.