EnergetiScope is pre-1.0 research software. Only the main branch is supported — fixes land
there, and there are no backports to older tags.
| Version | Supported |
|---|---|
main |
✅ |
| tagged releases | ❌ (upgrade to main) |
Please do not open a public issue for a security problem.
Use GitHub's private vulnerability reporting
on this repository. If that is unavailable to you, email
mohsen.seyedkazemi@gmail.com with EnergetiScope security in the subject.
What to expect:
- Acknowledgement within about a week. This is a single-maintainer project; see
CONTRIBUTING.mdfor the honest response-time picture. - An assessment of whether it is exploitable and in what deployment.
- Credit in the fix commit and release notes, unless you prefer to stay anonymous.
EnergetiScope is not an authentication or data-protection system, so the realistic risks are specific. These are in scope and worth reporting:
- The prediction service parses untrusted input.
/predict/from-yamland/infer/from-yamlaccept arbitrary YAML. Parser abuse, resource exhaustion, or anything that escapes the parser is in scope. - Model artifacts are
joblib/pickle files. Loading a.joblibfrom an untrusted source executes arbitrary code — this is inherent to the format, not a bug in this project.ENCODER_PATHandMODEL_PATHmust only ever point at artifacts you trust. Report it if the service can be made to load an artifact from an attacker-controlled path. - The collector holds cluster read credentials.
k8s_collect.pyruns with a ServiceAccount that can read workload specs across namespaces. Anything that leaks those specs, escalates beyond read, or widens the RBAC ink8s/jobs/01-rbac.yamlis in scope. - Collected workload specs are sensitive. Image names, labels, and annotations can reveal internal infrastructure. Report any path that writes them somewhere unintended.
Out of scope: the service ships no authentication and is designed to run inside a cluster behind your own network policy. "The API is unauthenticated" is a documented property, not a vulnerability — but do tell us if the docs fail to make that clear enough.
Do not expose the prediction service directly to the public internet. Put it behind your cluster's network policy and ingress authentication.