Este informe no está traducido al idioma solicitado. Se muestra en su lugar el informe canónico en inglés.

Evaluación de seguridad versionada

ID del informe: SA-A46F14D2

7/8/2026, 1:55:30 AM

reading-logseq-data evaluación de seguridad v9

Informe de certificación de seguridad de la habilidad

Historial de auditorías
Modelo de auditoría: codex Informe histórico
Nombre de la habilidad
reading-logseq-data
Versión
v9
Mantenedor
C0ntr0lledCha0s
Cobertura
4 Archivos escaneados · 1,219 Líneas analizadas
Versión de la política
No disponible

Gravedad máxima de hallazgo confirmada

Medio

2 hallazgos de seguridad confirmados requieren atención.

Contexto de instalación

Evidencia histórica

Este informe podría no describir el artefacto instalable actualmente. Abra la página actual de la Skill para obtener orientación de instalación.

Abrir la página actual de la habilidad

Este informe no bloquea ni autoriza el manifiesto ni el ZIP.

Most static detections in the Markdown and query templates are false positives from documentation backticks, error strings, and Logseq Datalog syntax. The implementation still has real security-sensitive behavior: configurable token-bearing HTTP requests, environment and config secret access, and one CLI subprocess path for user-provided queries. No prompt injection attempt was found in the reviewed files.

Posición del informe

Informe histórico

Abra el historial de auditorías antes de usar este informe para instalar.

Atestación de auditoría

No se puede certificar

La vinculación inmutable requerida está incompleta.

Verificación humana

No verificado

No se ha registrado ninguna verificación humana para este informe.

Cobertura

4 Archivos escaneados · 1,219 Líneas analizadas

15 elementos mostrados para revisión

Limitaciones

Este informe no afirma ninguna ejecución en tiempo de ejecución ni en entorno aislado y no prueba la ausencia de efectos secundarios.

Cadena de evidencias

Sigue la evidencia desde la vinculación del código fuente hasta el contrato de instalación. La evidencia disponible permite la verificación; no constituye una garantía de seguridad.

  1. Fuente

    Vinculación no disponible

  2. Artefacto

    Identidad incompleta

  3. Auditoría

    Completo

  4. Contrato de instalación

    Abrir el manifiesto para verificar

    Abrir el manifiesto

Capacidades observadas

Observado significa que este informe registró evidencia de respaldo. No registrado no prueba que una capacidad esté ausente.

Contiene scripts

Puede ejecutar código incluido con la habilidad.

No registrado por esta auditoría

Acceso a red

Puede conectarse a servicios externos.

Observado en 7 ubicaciones de evidencia

Acceso al sistema de archivos

Puede leer o escribir archivos locales.

No registrado por esta auditoría

Variables de entorno

Puede leer valores del entorno del proceso.

Observado en 9 ubicaciones de evidencia

Comandos externos

Puede invocar comandos o programas fuera de la habilidad.

Observado en 41 ubicaciones de evidencia

Elementos de revisión de capacidades (13)
Alto
Python subprocess.run
result = subprocess.run(
The client runs a PATH-resolved logseq CLI command with caller-provided Datalog query content and graph or token options. It avoids shell=True, but executing a local CLI against private graph data is security-sensitive.
Medio
Python HTTP libraries
req = urllib.request.Request(
The client makes an HTTP POST to self.url/api and includes an Authorization bearer token. The endpoint is configurable, so token-bearing network access is security-relevant.
Medio
Python HTTP libraries
with urllib.request.urlopen(req, timeout=30) as response:
The client makes an HTTP POST to self.url/api and includes an Authorization bearer token. The endpoint is configurable, so token-bearing network access is security-relevant.
Medio
Python environment access
self.token = token or os.environ.get("LOGSEQ_API_TOKEN", "")
Reads LOGSEQ_API_TOKEN from the environment, which is a sensitive credential. The token is later used in an Authorization header.
Medio
Python environment access
self.token = os.environ.get(var_name, "")
Reads an environment variable whose name is supplied by configuration. If the config is untrusted, this can expose an unintended token value to the client.
Medio
Configuration library
token = http_config.get("token", "")
Reads a token value from local configuration. Tokens are sensitive and are later sent to the configured API endpoint.
Bajo
Python HTTP libraries
import urllib.request
The urllib import supports real HTTP calls later in the same client. The network use is intended for Logseq, but it is still a true network capability.
Bajo
Python environment access
self.url = url or os.environ.get("LOGSEQ_API_URL", "http://127.0.0.1:12315")
Reads LOGSEQ_API_URL from the environment, which can redirect where API calls are sent. This is legitimate configuration, but it changes the network trust boundary.
Bajo
Python environment access
self.graph_path = graph_path or os.environ.get("LOGSEQ_GRAPH_PATH", "")
Reads LOGSEQ_GRAPH_PATH from the environment for CLI access to a local graph. This is intended configuration, but it grants access to local note data.
Bajo
Configuration library
http_config = config.get("http", {})
Loads HTTP configuration from .claude/logseq-expert/env.json in the current working directory. Project-local configuration can influence endpoint and token handling.
Bajo
Configuration library
self.url = http_config.get("url", self.url)
Allows the config file to override the API URL. This is intended setup behavior, but an untrusted config could redirect token-bearing requests.
Bajo
Configuration library
cli_config = config.get("cli", {})
Loads CLI configuration from the same local config file. The value is legitimate configuration but affects graph access behavior.
Bajo
Configuration library
self.graph_path = cli_config.get("graphPath", "")
Allows the config file to set graphPath for CLI access. This can point the client at local graph data selected by configuration.

Hallazgos de riesgos

Las preocupaciones de seguridad confirmadas están separadas de los elementos que aún deben revisarse.

Preocupaciones de seguridad confirmadas (2)

RISK-001 Medio
Configurable API Endpoint Receives Token
The client loads the API URL and token from environment or local config, then sends a bearer token to self.url/api. A malicious or unsafe configuration could redirect Logseq credentials and query payloads to an unintended endpoint.
The URL, token loading, and Authorization header are explicit in the client. Exploitation depends on attacker control of environment or local config, so the risk is contextual.
RISK-002 Medio
Unescaped Search Text In Datalog Query
The fallback search query inserts query_text directly inside a quoted Datalog string. Crafted text containing quotes or query syntax could alter the generated query or expose more graph data than intended.
The f-string directly interpolates user search text into query syntax without escaping or parameters. The impact is limited to Logseq query behavior, not shell execution.

Medidas correctivas

Esta auditoría registra correcciones sugeridas. Aplicarlas es responsabilidad de la persona encargada del mantenimiento.

  1. FIX-001
    Alto
    The CLI fallback runs a PATH-resolved logseq executable.
    Resolve a trusted executable path, document the command, and require explicit user choice before CLI fallback runs.
  2. FIX-002
    Medio
    Bearer tokens can be sent to a configurable API URL.
    Restrict the default client to loopback URLs, warn or require confirmation for non-loopback hosts, and document trusted endpoint requirements.
  3. FIX-003
    Medio
    Search text is interpolated directly into a Datalog string.
    Escape string values or rewrite the fallback search query to pass user text through Datalog parameters.
  4. FIX-004
    Medio
    Project-local configuration can control token and graph access.
    Validate .claude/logseq-expert/env.json, reject unexpected keys, and avoid environment-variable indirection from untrusted workspaces.

Evidencia experta

Identidad inmutable del sujeto, metadatos del escáner, coincidencias descartadas y evidencia a nivel de código fuente.

Sujeto del artefacto

Commit de Marketplace
No disponible
Hash del contenido
No disponible
Hash del árbol
No disponible
Ruta del Skill
No disponible
Hash de la carga de auditoría
No disponible

Metadatos del análisis

Modelo de auditoría: codex

Estado del análisis: Completo

El alcance se limita a los archivos, líneas, métodos y pruebas registrados. No se afirma ninguna ejecución en tiempo de ejecución ni en entorno aislado.

Verificar y exportar

El manifiesto y el archivo de bloqueo vinculan los artefactos de instalación a hashes criptográficos. Esta afirmación de integridad es independiente de la evaluación de seguridad.

Atestación de auditoría: not_attestable