Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
The plugin engine used for running python plugins in ImJoy (https://imjoy.io).
This library is mainly based on jupyter notebook server, with additional libraries and convenient settings.
If you don't have a conda environment, download and install Miniconda with Python 3.7 (or Anaconda with Python 3.7 if you prefer a full installation).
Start a Terminal(Mac and Linux) or Anaconda Prompt(Windows), then run the following command:
pip install -U imjoy[jupyter]
The above command will also install jupyter notebook and imjoy-elfinder.
git
or pip
, try to run : conda install -y git pip
before the above command. (Otherwise, please check FAQs.)To use it after the installation:
Run imjoy --jupyter
command in a Terminal or Anaconda Prompt, and keep the window running. You will get a link that looks like http://localhost:8888/?token=caac2d7f2e8e0...ad871fe
from the terminal, please copy it for the next step.
Go to https://imjoy.io, click the 🚀 icon located in the upper-right corner, select Add Jupyter-Engine
and paste the link you got previously, and connect to the plugin engine. Once connected, you can start to run python plugins through the plugin engine.
Please note that if you are trying to use the ImJoy Plugin Engine running on a remote server, please use the ImJoy web App served on your server (http://YOUR_REMOTE_IP:9527
) instead of https://imjoy.io
. This is because most browsers do not allow a web application served through https
to connect to an unsecured server (your remote server). Alternatively, you can use a proxy to enable https
for the plugin engine. Then you will be able to use it with https://imjoy.io
.
import webbrowser
from imjoy_rpc import connect_to_server, launch_plugin
def new_client_join(ws):
viewer = await ws.createWindow(src="https://kaibu.org")
async def main():
api = await connect_to_server(server_url="https://api.imjoy.io/")
api.on('join', new_client_join)
tk = await api.generate_token()
name = api.config['name']
token = tk['token']
url = f"https://imjoy.io/lite?server_url=https://api.imjoy.io&token={token}&name={name}"
print(url)
webbrowser.open(url)
You can track the progress of the project here: https://github.com/imjoy-team/ImJoy/projects/2
Please submit your bug report or feature request to ImJoy/issues
black
for code formatting. git clone git@github.com:imjoy-team/ImJoy-Engine.git
# Enter directory.
cd ImJoy-Engine
# Install all development requirements and package in development mode.
pip3 install -r requirements_dev.txt
tox
to run all tests and lint, including checking that black
doesn't change any files.FAQs
ImJoy Plugin Engine for running Python plugins locally or remotely from ImJoy.io
We found that imjoy demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.