Skip to content

fix(api): rimuovi POST /api/monitor e il validatore Clerk residuo - #99

Open
Larslllllll wants to merge 1 commit into
agent-engineering-studio:mainfrom
Larslllllll:fix/remove-clerk-dead-auth-endpoint
Open

fix(api): rimuovi POST /api/monitor e il validatore Clerk residuo#99
Larslllllll wants to merge 1 commit into
agent-engineering-studio:mainfrom
Larslllllll:fix/remove-clerk-dead-auth-endpoint

Conversation

@Larslllllll

Copy link
Copy Markdown

Problema

POST /api/monitor/{aoi_id} è dichiarato "protetto" ma la protezione è codice morto:

  • src/limen/api/auth.py è il vecchio validatore JWT di Clerk che non è più in uso.
  • require_user restituisce {} quando settings.clerk.enabled è False, che è il default.
  • Quindi l'endpoint è aperto a chiunque anche con CLERK__ENABLED=true: può far partire sweep MAF a ripetizione consumando budget LLM.

Soluzione

Rimuovere l'endpoint HTTP e il validatore residuo. Il lancio manuale di uno sweep ha già due superfici adeguate a chi gestisce il sistema:

  • CLI: uv run limen monitor-once
  • Tool MCP run_monitor in src/limen/mcp/tools.py (fail-closed su MCP_ADMIN_TOKEN)

Cambiamenti

  • ELIMINATO src/limen/api/endpoints/monitor.py
  • ELIMINATO src/limen/api/auth.py
  • Rimosso monitor da endpoints/__init__.py
  • Rimossi MonitorRequest/MonitorResponse da schemas.py
  • Rimosso ClerkSettings da config/settings.py
  • Rimosso blocco CLERK__ da .env.example
  • Rimosso pyjwt[crypto] da pyproject.toml
  • ELIMINATO tests/unit/test_clerk_auth.py
  • Rimossi 4 test di integrazione che dipendevano da /api/monitor
  • Aggiornato README.md, CLAUDE.md, docs/api.md

Verifica

```bash
grep -rn "api/monitor|MonitorRequest|MonitorResponse|clerk|Clerk|import jwt|from jwt" src tests

atteso: nessun risultato

```

Closes #70
Part of #69

L'endpoint era dichiarato protetto da Clerk JWT ma il validatore
restituiva {} quando CLERK__ENABLED=false (il default), lasciandolo
completamente aperto: chiunque poteva far partire sweep MAF a ripetizione
e consumare budget LLM.

Cambiamenti:
- ELIMINATO src/limen/api/endpoints/monitor.py
- ELIMINATO src/limen/api/auth.py (vecchio validatore JWT Clerk)
- Rimosso monitor dal router in endpoints/__init__.py
- Rimosso MonitorRequest e MonitorResponse da schemas.py
- Rimosso ClerkSettings da config/settings.py
- Rimosso blocco CLERK__ da .env.example
- Rimosso pyjwt[crypto] da pyproject.toml
- ELIMINATO tests/unit/test_clerk_auth.py
- Rimossi 4 test di integrazione che dipendevano da /api/monitor
- Aggiornato README.md, CLAUDE.md, docs/api.md

Closes agent-engineering-studio#70
Part of agent-engineering-studio#69
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.

fix(api): POST /api/monitor è protetto dal validatore Clerk morto — rimuovere endpoint e api/auth.py

1 participant