Skip to content

fix(seguridad): lockfile en sync, fuera localtunnel, receptores en loopback, tests en CI - #3

Merged
DannyBaanks merged 1 commit into
mainfrom
claude/nifty-ramanujan-daxt74
Sep 25, 2026
Merged

DannyBaanks merged 1 commit into
mainfrom
claude/nifty-ramanujan-daxt74

Conversation

@DannyBaanks

@DannyBaanks DannyBaanks commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

What & why

PR 0 de la serie de la auditoría. Arregla los puntos #1, #3, #4 y #11:

Sigue pendiente: toml (high, vía tunnelmole) no tiene versión parcheada. Solo parsea el config local de tunnelmole, que es entrada confiable.

Type of change

  • Bug fix
  • Build / CI

Evidence

Before

  • npm ci → Missing: ws@8.21.3 from lock file (EUSAGE)
  • npm audit --omit=dev → 5 vulnerabilidades (1 moderate, 4 high): axios, hono, toml
  • test/public-listeners-loopback.test.cjs → # pass 0 / # fail 2 (los dos servidores escuchan en ::/0.0.0.0)

After

  • npm ci --dry-run → OK (lockfile en sync)
  • npm audit --omit=dev → 2 high, las dos por toml vía tunnelmole (sin parche publicado)
  • test/public-listeners-loopback.test.cjs → # pass 2 / # fail 0
  • Comprobado que http.get({hostname:'localhost'}) (lo que usa tunnelmole) llega a un servidor que escucha solo en 127.0.0.1

How I tested it

  • OS: Linux (contenedor), Node 22
  • Steps: npm run typecheck:node, el test nuevo antes y después del cambio (rojo → verde), node --test tools/munder/link.test.cjs tools/munder/avatar.test.cjs (9/9). El job Tests corre en macos-latest con módulos nativos compilados.

Checklist

  • Before/after arriba.
  • npm run typecheck pasa.
  • Tests del cambio pasan.
  • Leí el diff.

🤖 Generated with Claude Code


Generated by Claude Code

…opback, tests en CI

- package-lock.json se desincronizó (faltaba ws@8.21.3 de @openai/agents-core)
  y `npm ci` fallaba en CI y en release. Regenerado.
- localtunnel no se importa en ningún lado y arrastraba axios vulnerable
  (varios GHSA high). Eliminado junto con @types/localtunnel.
- hono sube a 4.13.9 (npm audit fix, sin breaking).
- WebhookServer y SlackWebhookServer escuchaban en todas las interfaces;
  tunnelmole reenvía a localhost, así que ahora se bindean a 127.0.0.1
  como ya hacían controlChannel e integrationBroker. Test nuevo.
- CI corre la suite de tests (test:focused + tests del CLI munder).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0141jpRihLcQWr34jq6mvC7b
@github-actions

Copy link
Copy Markdown
Contributor

🚫 This PR is missing its before/after evidence

Every pull request here has to show its work. Screenshots or a short screen recording, before the change and after it.

  • Before — no image or video under that heading
  • After — no image or video under that heading

How to fix it: edit the description, keep the ### Before and ### After headings from the template, and drag an image or video under each. GitHub uploads it inline. This check re-runs the moment you save.

A bug fix with no visible surface still needs it: show the failing behaviour, then the same steps passing. A terminal recording is fine.

Genuinely nothing to show — a CI tweak, a typo, a dependency bump? A maintainer can apply the no-visual-change label. Please don't ask unless it truly has no observable effect.

📖 CONTRIBUTING.md → Evidence is mandatory

DannyBaanks pushed a commit that referenced this pull request Sep 25, 2026
…tunnel, receptores loopback, tests en CI

Conflictos en slack/webhook resueltos conservando el bind a 127.0.0.1.
Todos los tests corriendo en esta máquina antes de direct.
@DannyBaanks
DannyBaanks merged commit edb3450 into main Sep 25, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants