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.
███████╗██████╗ ██████╗ ███████╗ ██████╗
██╔════╝██╔══██╗ ██╔══██╗██╔════╝██╔═══██╗
█████╗ ██████╔╝ ██║ ██║███████╗██║ ██║
██╔══╝ ██╔══██╗ ██║ ██║╚════██║██║ ██║
███████╗██████╔╝ ██████╔╝███████║╚██████╔╝
╚══════╝╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝
Un programa de línea de comandos para preparar y empujar reportes de lectura desde el api de enerBit al MDM.
Se distribuye como un paquete de Python ejecutable.
Crear un ambiente virtual de Python para aislar la instalación del paquete de otros paquetes.
python3 -m venv venv
source ./venv/Scripts/activate
Instalar paquete usando pip (asegurarse de tener activo el ambiente virtual).
python -m pip install enerbitdso
Comprobar la instalación con el comando de ayuda
enerbitdso --help
El comando es enerbitdso
.
Se tiene una ayuda usando la opción --help
.
Esta explica los sub-comandos y las opciones disponibles de cada uno.
Esta herramienta usa las variables de entorno para configurar su ejecución.
enerbitdso usages fetch
Consulta los consumos usando el API para DSO de enerBit para un conjunto de fronteras.
Para ejecutar este sub-comando se requieren tres variables de entorno configuradas con sus respectivos valores.
https://dso.enerbit.me/
pedro.perez@example.com
mIClaVeSUperseCRETa
Para configurar estas variables de entorno se pueden ejecutar los siguientes comandos en la terminal de PowerShell:
$env:ENERBIT_API_BASE_URL='https://dso.enerbit.me/'
$env:ENERBIT_API_USERNAME='pedro.perez@example.com'
$env:ENERBIT_API_PASSWORD='mIClaVeSUperseCRETa'
Las fronteras a consultar se pueden especificar como una lista al final del comando separadas por espacios:
> enerbitdso usages fetch Frt00000 Frt00001
También se puede usar un archivo de texto con un código de frontera por línea usando la opción --frt-file
y pasando la ubicación de dicho archivo.
> enerbitdso usages fetch --frt-file "D://Mi CGM/misfronteras.txt"
Donde el archivo D://Mi CGM/misfronteras.txt
tiene un contenido así:
Frt00000
Frt00001
El intervalo de tiempo se define a través de los parámetros de tipo fecha --since
y --until
(desde y hasta, respectivamente).
Por defecto, se consultan los 24 periodos del día de ayer.
Para consultar los periodos entre 2023-04-01 a las 09:00 y el 2023-04-05 a las 17:00:
> enerbitdso usages fetch Frt00000 Frt00001 --since 20230401 --until 20230405
Para que el formato de salida sea CSV (valores separados por coma) se puede usar el parámetro --out-format
con el valor csv
(por defecto se usa jsonl
que es una línea de JSON por cada registro).
> enerbitdso usages fetch Frt00000 Frt00001 --since 20230401 --until 20230405 --out-format csv
Tanto en sistemas Linux, macOS y Windows se puede usar el operador de redirección >
para enviar a un archivo la salida de un comando.
En este caso el comando seria así:
> enerbitdso usages fetch --frt-file "D://Mi CGM/misfronteras.txt" --since 20230401 --until 20230405 --out-format csv > "D://Mi CGM/mi_archivo_de_salida.csv"
También tiene opción --help
que muestra la ayuda particular de este sub-comando.
> enerbitdso usages fetch --help
Usage: enerbitdso usages fetch [OPTIONS] [FRTS]...
╭─ Arguments ────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ frts [FRTS]... List of frt codes separated by ' ' [default: None] │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * --api-base-url TEXT [env var: ENERBIT_API_BASE_URL] [default: None] [required] │
│ * --api-username TEXT [env var: ENERBIT_API_USERNAME] [default: None] [required] │
│ * --api-password TEXT [env var: ENERBIT_API_PASSWORD] [default: None] [required] │
│ --since [%Y-%m-%d|%Y%m%d] [default: (yesterday)] │
│ --until [%Y-%m-%d|%Y%m%d] [default: (today)] │
│ --timezone TEXT [default: America/Bogota] │
│ --out-format [csv|jsonl] Output file format [default: jsonl] │
│ --frt-file PATH Path file with one frt code per line [default: None] │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Para poder hacer uso de la librería DSO se debe hacer lo siguiente
Para ello se debe importar el constructor de la siguiente forma:
from enerbitdso.enerbit import DSOClient
La inicialización se debe hacer asi:
ebconnector = enerbit.DSOClient(
api_base_url="https://dso.enerbit.me/",
api_username="usuario_del_DSO",
api_password="contraseña_del_DSO",
)
Al tener el objeto ya se pueden realizar consultas de la siguiente forma:
usage_records = ebconnector.fetch_schedule_usage_records_large_interval(
frt_code=frt_code, since=since, until=until
)
Tambien se puede hacer una consulta de perfiles de la siguiente forma:
schedule_records = ebconnector.fetch_schedule_measurements_records_large_interval(
frt_code=frt_code, since=since, until=until
)
FAQs
enerBit DSO (Distribution System Operator) API client
We found that enerbitdso demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers 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.