
Research
Malicious Go “crypto” Module Steals Passwords and Deploys Rekoobe Backdoor
An impersonated golang.org/x/crypto clone exfiltrates passwords, executes a remote shell stager, and delivers a Rekoobe backdoor on Linux.
lmkapp
Advanced tools
You can install using pip:
pip install 'lmkapp[cli,jupyter]'
If you are using Jupyter Notebook 5.2 or earlier, you may also need to enable the nbextension:
jupyter nbextension enable --py [--sys-prefix|--user|--system] lmk
Create a dev environment:
python -m venv venv
Install the python package. This will also build the TS package.
pip install -e ".[dev,jupyter,cli,docs,types]"
To build the docs, run:
pnpm build:docs
To run a development server, run:
pnpm dev:docs
When developing your extensions, you need to manually enable your extensions with the notebook / lab frontend. For lab, this is done by the command:
jupyter labextension develop --overwrite .
pnpm build
For classic notebook, you need to run:
jupyter nbextension install --sys-prefix --symlink --overwrite --py lmk
jupyter nbextension enable --sys-prefix --py lmk
Note that the --symlink flag doesn't work on Windows, so you will here have to run
the install command every time that you rebuild your extension. For certain installations
you might also need another flag instead of --sys-prefix, but we won't cover the meaning
of those flags here.
If you use JupyterLab to develop then you can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the widget.
# Watch the source directory in one terminal, automatically rebuilding when needed
pnpm watch
# Run JupyterLab in another terminal
jupyter lab
After a change wait for the build to finish and then refresh your browser and the changes should take effect.
If you make a change to the python code then you will need to restart the notebook kernel to have it take effect.
To update the version, install bump2version and use it to bump the version. By default it will also create a tag.
pip install bump2version
bumpversion <pre|prekind|patch|minor|major>
Build the python package:
pnpm build:python
Check the built assets:
pnpm pypi-check
Publish to the test index:
pnpm pypi-upload-test
Install from test index:
pip install --extra-index-url https://test.pypi.org/simple/ 'lmkapp[jupyter]==<version>'
Publish to real index:
pnpm pypi-upload
Build the npm package:
pnpm build:publish
Publish the npm package:
pnpm npm-publish
FAQs
Stop watching your code run
We found that lmkapp 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
An impersonated golang.org/x/crypto clone exfiltrates passwords, executes a remote shell stager, and delivers a Rekoobe backdoor on Linux.

Security News
npm rolls out a package release cooldown and scalable trusted publishing updates as ecosystem adoption of install safeguards grows.

Security News
AI agents are writing more code than ever, and that's creating new supply chain risks. Feross joins the Risky Business Podcast to break down what that means for open source security.