github Python analyzed ef5a4ea

elvisxd/byte

github

Self-hosted AI agent — local LLM with tool calling, WASM sandbox, hybrid RAG on pgvector, MCP, and prompt-injection defenses

maintainer
elvisxd
licence
MIT
first seen
2026-09-12
last seen
2026-09-19
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport streamable-http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit ef5a4ea · analyzer v33 · 1h ago

skills & prompt files 2

danger signals3

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 168

filesystem 53

  • fs elvisxd-byte-ef5a4ea/agent/catalogo.py :75 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/agent/skills.py :21 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/api/main.py :14 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/api/routes/health.py :3 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/api/routes/ofertas.py :13 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/cli/byte_cli.py :17 import shutil
  • fs elvisxd-byte-ef5a4ea/cli/sesion.py :22 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/db/repository.py :16 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/empleo/cazador.py :19 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/empleo/criterio.py :21 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/empleo/memoria.py :17 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/empleo/mercado.py :188 from pathlib import Path
show 28 more
  • fs elvisxd-byte-ef5a4ea/empleo/paginas.py :13 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/empleo/servidor.py :27 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/empleo/upwork.py :318 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/evals/correr.py :16 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/mcp_client/local.py :22 import shutil
  • fs elvisxd-byte-ef5a4ea/paper/comparar.py :16 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/paper/coste.py :23 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/paper/mercado.py :14 import shutil
  • fs elvisxd-byte-ef5a4ea/paper/registro.py :25 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/paper/rubrica.py :27 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/paper/trace.py :259 with open(temporal, "wb") as f:
  • fs elvisxd-byte-ef5a4ea/perfil/actualizar.py :15 from pathlib import Path
  • fs elvisxd-byte-ef5a4ea/perfil/sincronizar.py :20 import shutil
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_alertas.py :9 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_archivos.py :9 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_cli.py :1101 import shutil
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_cv.py :8 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_empleo.py :14 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_evals.py :8 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_git.py :10 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_imagen.py :12 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_mercado.py :9 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_n8n.py :10 import shutil
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_paper.py :9 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_paper_comparacion.py :10 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_paper_datos_vuelta.py :10 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_paper_entorno.py :18 from pathlib import Path
  • fs (weak) elvisxd-byte-ef5a4ea/tests/test_paper_ordenes.py :10 from pathlib import Path

13 more not shown — this panel samples each group; the count above is the real total.

shell / exec 12

  • shell elvisxd-byte-ef5a4ea/paper/mercado.py :15 import subprocess
  • shell elvisxd-byte-ef5a4ea/paper/vigia.py :46 import subprocess
  • shell elvisxd-byte-ef5a4ea/perfil/actualizar.py :13 import subprocess
  • shell elvisxd-byte-ef5a4ea/perfil/sincronizar.py :21 import subprocess
  • shell (weak) elvisxd-byte-ef5a4ea/tests/test_empleo.py :10 import subprocess
  • shell (weak) elvisxd-byte-ef5a4ea/tests/test_git.py :9 import subprocess
  • shell (weak) elvisxd-byte-ef5a4ea/tests/test_n8n.py :11 import subprocess
  • shell (weak) elvisxd-byte-ef5a4ea/tests/test_paper_entorno.py :15 import subprocess
  • shell (weak) elvisxd-byte-ef5a4ea/tests/test_sincronizar.py :10 import subprocess
  • shell elvisxd-byte-ef5a4ea/tools/cv.py :22 import subprocess
  • shell elvisxd-byte-ef5a4ea/tools/git.py :21 import subprocess
  • shell elvisxd-byte-ef5a4ea/tools/github.py :19 import subprocess

network 22

  • net elvisxd-byte-ef5a4ea/agent/llm.py :5 import httpx
  • net elvisxd-byte-ef5a4ea/agent/runner.py :20 import httpx
  • net elvisxd-byte-ef5a4ea/cli/byte_cli.py :25 import httpx
  • net elvisxd-byte-ef5a4ea/empleo/aviso.py :14 import urllib.error
  • net elvisxd-byte-ef5a4ea/empleo/cazador.py :21 import httpx
  • net elvisxd-byte-ef5a4ea/empleo/fuentes.py :25 import urllib.parse
  • net elvisxd-byte-ef5a4ea/evals/correr.py :19 import httpx
  • net elvisxd-byte-ef5a4ea/mcp_client/client.py :25 import httpx
  • net elvisxd-byte-ef5a4ea/mcp_client/local.py :26 import httpx
  • net elvisxd-byte-ef5a4ea/paper/publicar.py :25 import urllib.error
  • net elvisxd-byte-ef5a4ea/paper/trace.py :33 import urllib.error
  • net elvisxd-byte-ef5a4ea/paper/vigia.py :48 import urllib.error
show 10 more
  • net elvisxd-byte-ef5a4ea/rag/embeddings.py :7 import httpx
  • net (weak) elvisxd-byte-ef5a4ea/tests/fakes.py :129 import httpx
  • net (weak) elvisxd-byte-ef5a4ea/tests/test_cli.py :14 import httpx
  • net (weak) elvisxd-byte-ef5a4ea/tests/test_empleo.py :16 import httpx
  • net (weak) elvisxd-byte-ef5a4ea/tests/test_paper_comparacion.py :68 monkeypatch.setattr("urllib.request.urlopen", lambda *a, **k: llamadas.append(a))
  • net (weak) elvisxd-byte-ef5a4ea/tests/test_rag.py :214 """Reemplaza a httpx.AsyncClient dentro de Embedder.embed."""
  • net (weak) elvisxd-byte-ef5a4ea/tests/test_web_fetch.py :125 raise wf.httpx.ConnectError("no hay")
  • net elvisxd-byte-ef5a4ea/tools/code_exec.py :10 import httpx
  • net elvisxd-byte-ef5a4ea/tools/paper.py :16 import urllib.error
  • net elvisxd-byte-ef5a4ea/tools/web_fetch.py :21 import socket

secrets 7

  • secrets elvisxd-byte-ef5a4ea/cli/byte_cli.py :13 import getpass
  • secrets elvisxd-byte-ef5a4ea/empleo/aviso.py :48 "Authorization": f"Bearer {os.environ.get('PANEL_TOKEN', '')}",
  • secrets elvisxd-byte-ef5a4ea/empleo/cazador.py :91 clave = os.environ.get("GMAIL_APP_PASSWORD", "")
  • secrets elvisxd-byte-ef5a4ea/paper/publicar.py :203 "Authorization": f"Bearer {token or os.environ.get('PANEL_TOKEN', '')}",
  • secrets elvisxd-byte-ef5a4ea/paper/trace.py :243 "Authorization": f"Bearer {os.environ.get('PANEL_TOKEN', '')}",
  • secrets elvisxd-byte-ef5a4ea/paper/vigia.py :92 "Authorization": f"Bearer {os.environ.get('PANEL_TOKEN', '')}",
  • secrets (weak) elvisxd-byte-ef5a4ea/tests/test_cli.py :771 import getpass

database 6

  • db elvisxd-byte-ef5a4ea/agent/catalogo.py :73 import sqlite3
  • db elvisxd-byte-ef5a4ea/paper/comparar.py :12 import sqlite3
  • db elvisxd-byte-ef5a4ea/paper/registro.py :21 import sqlite3
  • db elvisxd-byte-ef5a4ea/paper/rubrica.py :24 import sqlite3
  • db (weak) elvisxd-byte-ef5a4ea/tests/test_paper.py :8 import sqlite3
  • db (weak) elvisxd-byte-ef5a4ea/tests/test_relevo.py :9 import sqlite3

declared dependencies 27

  • mcp@>=1.12
  • fastapi@>=0.115
  • uvicorn@>=0.52.4
  • pydantic@>=2.8
  • pydantic-settings@>=2.4
  • structlog@>=24.4
  • itsdangerous@>=2.2
  • slowapi@>=0.1.9
  • httpx@>=0.27
  • jinja2@>=3.1
  • selectolax@>=0.3
  • langgraph@>=1.2
show 15 more
  • langchain-core@>=1.6
  • langchain-ollama@>=1.1
  • langgraph-checkpoint-postgres@>=3.1
  • psycopg@>=3.3.5
  • tavily-python@>=0.8
  • pypdf@>=5.1
  • python-multipart@>=0.0.18
  • argon2-cffi@>=23.1
  • pyjwt@>=2.9
  • email-validator@>=2.2
  • langchain-google-genai@>=4.4.0
  • langchain-openai@>=1.6.2
  • nh3@>=0.2
  • langfuse@>=3.0
  • sentry-sdk@>=2.0