fix(security): require API key for production score endpoint#9
Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 58 minutes and 51 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Motivation
/api/scoreendpoint without authentication, enabling unauthenticated remote abuse of GPU/LLM resources.Description
isAuthorizedcheck inapp/api/score/route.tsthat requiresSCORE_API_KEYand acceptsx-api-keyorAuthorization: Bearer <key>, returning503for misconfiguration and401for unauthorized requests.scorePitchso existing scoring behavior is preserved for authorized calls.docker-compose.ymlto requireSCORE_API_KEYfor thewebservice at startup (SCORE_API_KEY: ${SCORE_API_KEY:?SCORE_API_KEY must be set}).SCORE_API_KEYto.env.exampleand extendedtests/api/score.test.tswith tests covering production misconfiguration and unauthorized access.Testing
npm test -- --run tests/api/score.test.tsand the suite passed (8 tests).pytest -q tests/infra/test_docker_compose.pybut it failed in this environment because thedockerCLI is not available, so compose config validation could not be executed.Codex Task