mirror of
https://github.com/Jeuners/agenttwo-tools.git
synced 2026-09-09 15:02:31 +02:00
Der Server lauscht nur auf 127.0.0.1, hatte aber keine Authentifizierung und mit CORS origin:true jede fremde Origin reflektiert. Da localhost aus jedem Browser-Tab erreichbar ist, konnte damit jede besuchte Webseite über /api/sessions und /api/sessions/:id/messages die komplette Chat-Historie auslesen. Der WebSocket-Upgrade prüfte die Origin ebenfalls nicht — WebSockets unterliegen nicht der Same-Origin-Policy, wodurch fremde Seiten Chats senden, Antworten mitlesen und Kosten auf dem OpenRouter-Key erzeugen konnten (CSWSH). - security.ts: Origin-Allowlist (localhost/127.0.0.1:5173 und :8787, per ALLOWED_ORIGINS erweiterbar) und einfacher In-Memory-Rate-Limiter - CORS auf die Allowlist begrenzt, zusätzlicher onRequest-Hook mit 403 - WebSocket-Handshake weist fremde Origins mit 403 ab - ffmpeg: Containerformat per Magic Bytes bestimmt statt geraten, dazu -protocol_whitelist file — verhindert, dass Demuxer wie concat oder HLS auf lokale Pfade und URLs im hochgeladenen Inhalt zugreifen - Rate-Limits auf /api/stt (10/min) und /api/tts (30/min), Textlänge bei TTS begrenzt, bodyLimit und MAX_AUDIO_BYTES auf 8 MB angeglichen - Fehlerdetails (lokale Pfade, Upstream-Antworten) nur noch ins Server-Log; dafür Fastify-Logger aktiviert, sonst wären sie stillschweigend verworfen Nebenbei: ollama.ts respektiert jetzt OLLAMA_URL statt localhost:11434 hartzukodieren, und ws wandert von devDependencies zu dependencies, da es zur Laufzeit importiert wird. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S1NXUpHbxTusqQmsjrFfbU
22 lines
444 B
JSON
22 lines
444 B
JSON
{
|
|
"name": "server",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "tsx watch src/index.ts",
|
|
"start": "tsx src/index.ts",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@fastify/cors": "^10.0.1",
|
|
"fastify": "^5.2.1",
|
|
"ws": "^8.18.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.13.0",
|
|
"@types/ws": "^8.5.14",
|
|
"tsx": "^4.19.3",
|
|
"typescript": "^5.7.3"
|
|
}
|
|
}
|