PhenoVector – Behavioural Genome Engine for Running Processes
PhenoVector is a fully local, lightweight behavioural‑genome engine that derives structured “genome vectors” for running system processes. It performs safe on‑device telemetry collection using psutil, computes >20 behaviour‑driven gene scores, assigns risk levels, and provides an optional Streamlit dashboard for visual exploration.
All capabilities described here match the actual source code: features.py, genes.py, genome.py, and app.py.
🔍 What PhenoVector Does
1. Collects Runtime Behaviour Features
From each process (features.py):
- CPU percentage
- RSS memory
- Thread count
- Open file handles
- Network connections
- Executable entropy (first 200kB)
- Lifetime & CPU time
- System process / temp executable identification
2. Computes Behavioural Gene Scores
Each behaviour feature is normalised via PopulationStats and transformed into 20+ genes (genes.py):
- resource_abuse
- entropy
- impersonation
- exfiltration
- tracking
- persistence
- mutation
- stealth
- latency
- syscall_diversity
- burst_density
- thread_intensity
- registry_touch
- io_intensity
- network_activity
- file_entropy
- handle_abuse
- injection_sus
- dll_sideload
Every gene strictly returns a float in [0,1].
3. Produces Per‑Process Genome Objects
genome.py returns a structured ProcessGenome:
- identity: pid, name, exe
- behaviour features
- gene vector (dict)
- risk_score (0–1)
- risk_level (
benign,suspicious,high)
4. Optional Visual Dashboard
app.py provides:
- PCA/t‑SNE process clustering
- Radar charts of gene profiles
- IsolationForest anomaly scoring
- PID whitelisting
- Raw genome table & JSON export
📦 Installation
pip install phenovector
🚀 Quick Usage
from phenovector.genome import analyze_system
genomes = analyze_system(limit=100)
for g in genomes:
print(g.pid, g.name, g.risk_score, g.risk_level)
print(g.genes)
📊 Run the Streamlit UI
streamlit run -m phenovector.app
📄 License
APACHE 2.0
Metadata
Release files for phenovector 0.1.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 | |
|---|---|---|---|---|
| phenovector-0.1.0.tar.gz | 18.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| phenovector-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.2 kB
Release files / phenovector-0.1.0.tar.gz
| Download URL | phenovector-0.1.0.tar.gz |
|---|---|
| Size | 18.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
286a0b640534a7b536eaf85fb6ad2191ad32625fea3cfc814f925fdd89d4c3ff
|
|
BLAKE2b-256 checksum How to use checksums |
5dc450ff8093e1fadb4420cf555c98e5f4a362264990f61a10b4defa128175b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / phenovector-0.1.0-py3-none-any.whl
| Download URL | phenovector-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
98da441ae389dc601377a3d8fd87f417c04c84d25b4e66581fe3b72e3911a65e
|
|
BLAKE2b-256 checksum How to use checksums |
42bff3411b142bf18e42cf180dafd4b065e6be53cb2959cf5bf85d4ec464109a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for phenovector 0.1.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.