Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Cyberbrain1(电子脑) aims to free programmers from debugging. It lets you:
Backtrace variable changes.
See every state of program execution, including variables' values
Debug loops with confidence.
Never spend hours stepping through a program, let Cyberbrain tell you what happened.
Read more about existing features, and roadmaps for features to come.
I gave a talk at PyCascades 2021 about Cyberbrain, watch it here.
Cyberbrain consists of a Python library and various editor/IDE integrations. Currently it supports VS Code and Gitpod. See our plan on expanding the support.
To install Cyberbrain:
pip install cyberbrain
code --install-extension laike9m.cyberbrain
You can also install from PyPI , VS Code marketplace or Open VSX .
Or, you can try Cyberbrain online:
Suppose you want to trace a function foo
, just decorate it with @trace
:
from cyberbrain import trace
# As of now, you can only have one @trace decorator in the whole program.
# We may change this in version 2.0, see https://github.com/laike9m/Cyberbrain/discussions/73
@trace # Disable tracing with `@trace(disabled=True)`
def foo():
...
Cyberbrain keeps your workflow unchanged. You run a program (from vscode or command line, both work), and a new panel will be opened to visualize how your program executed.
The following gif demonstrates the workflow (click to view the full size image):
Read our documentation to learn more about Cyberbrain's features and limitations.
❗Note on use❗
@trace
as the innermost one.
@app.route("/")
@trace
def hello_world():
x = [1, 2, 3]
return "Hello, World!"
Updated 2020.11
Cyberbrain is new and under active development, bugs are expected. If you met any, please create an issue. At this point, you should NOT use Cyberbrain in production. We'll release 1.0 when it's ready for production.
Major features planned for future versions are listed below. It may change over time.
Version | Features |
---|---|
1.0 | Code & trace interaction (#7), API specification |
2.0 | Multi-frame tracing (👉 I need your feedback for this feature) |
3.0 | async support, remote debugging |
4.0 | Fine-grained symbol tracing |
5.0 | Multi-threading support |
Visit the project's kanban to learn more about the current development schedule.
See the development guide. This project follows the all-contributors specification. Contributions of ANY kind welcome!
Thanks goes to these wonderful contributors ✨
Alex Hall 🤔 | Frost Ming 🐛 📖 | Funloading 💻 | Ikko Ashimine 💻 | Kaustubh Gupta 📝 | Ram Rachum 🤔 | Siyuan Xu 🐛 | Victor Sun 💻 🤔 | dingge2016 💵 💻 | foo bar 💵 |
inkuang 🐛 | laixintao 📖 | yihong 💵 🤔 | 林玮 (Jade Lin) 🐛 🤔 |
Cyberbrain is a huge and complicated project that will last for years, but once finished, it will reshape how people think and do debugging. Your support can help sustain it. Let's make it the best Python debugging tool 🤟!
1: The name of this project originates from Ghost in the Shell, quote:
Cyberization is the process whereby a normal brain is physically integrated with electronic components to produce an augmented organ referred to as a cyberbrain.
FAQs
Python debugging, redefined.
We found that cyberbrain 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
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.