cliffracer-backdoor
A live debug console inside a running cliffracer service, and the client that connects to it.
from cliffracer import CliffracerService
from cliffracer_backdoor import BackdoorExtension
class Orders(CliffracerService):
backdoor = BackdoorExtension(enabled=True, port=0)
Then, from a shell on the same host:
cliffracer-backdoor 127.0.0.1:<port>
port=0 asks the OS for a free port. The bound port is written to the logs and
reported in /health under this extension's name.
Settings also come from the environment, with the prefix CLIFFRACER_BACKDOOR_:
CLIFFRACER_BACKDOOR_ENABLED, _PORT, _PASSWORD.
Turning it on is a deliberate act
enabled defaults to False. The console evaluates arbitrary Python inside the
service process, which makes it a remote code execution endpoint. Turn it on
where you want that and leave it off elsewhere.
It binds the literal address 127.0.0.1. A name that resolves to both loopback
families would make start_server bind two sockets, and under port=0 each
would get a different ephemeral port, so the port reported in /health would
answer on only one of them.
The client reports failure
cliffracer-backdoor host:port opens a socket to the endpoint before
connecting. When nothing is listening it prints one line to stderr and exits
non-zero.
The probe is what gives the command its exit status. BackdoorClient.connect
shells out to nc and then telnet, and when both are missing it prints
instructions and returns normally.
Inside the console
service is the live instance. inspect_service(), inspect_nats() and
show_handlers() summarise it. await service.some_rpc() calls a handler
directly. help_backdoor() lists the rest.
Extending it
ServiceInspector and NATSInspector build the console's namespace. Subclass
either, or pass your own callables, to show an operator whatever your service
should show.
Installed from PyPI, versioned in lockstep with cliffracer.
Metadata
Release files for cliffracer-backdoor 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| cliffracer_backdoor-1.0.0.tar.gz | 14.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cliffracer_backdoor-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.3 kB
Release files / cliffracer_backdoor-1.0.0.tar.gz
| Download URL | cliffracer_backdoor-1.0.0.tar.gz |
|---|---|
| Size | 14.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f6751b75c7a90d637765b9c1bf476df1d26a077b85e5678464f593428beb87e
|
|
BLAKE2b-256 checksum How to use checksums |
b2719c744d56a70189017b2b8bc0f18e5f69e1a932e9b91f20f656780d4d05b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / cliffracer_backdoor-1.0.0-py3-none-any.whl
| Download URL | cliffracer_backdoor-1.0.0-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1076ac783e9df3500e75bb6ccb3b012f5a4a898a5f7f56e4b5f2d6133f1ddd3
|
|
BLAKE2b-256 checksum How to use checksums |
21f5bc2250f8e384cf7639d1e0a897649e5088bd9347b44275b5ae0c8ffd78ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for cliffracer-backdoor 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.