diff --git a/packages/backend/tests/integration/api/api-security.test.ts b/packages/backend/tests/integration/api/api-security.test.ts index 3dac342..4f87d10 100644 --- a/packages/backend/tests/integration/api/api-security.test.ts +++ b/packages/backend/tests/integration/api/api-security.test.ts @@ -106,6 +106,82 @@ describe('API Security', () => { const body = JSON.parse(response.body); expect(body).toHaveProperty('bodyErrors'); }); + + it('should sanitize XSS attempts in project name', async () => { + const response = await app.inject({ + method: 'POST', + url: '/api/v1/scans', + payload: { + url: `${baseUrl}/test-page`, + name: '', + sync: false, + }, + }); + + // Should either reject (400) or sanitize the input + expect([200, 202, 400]).toContain(response.statusCode); + + // If accepted, verify the script tag is not stored verbatim + if (response.statusCode === 202 || response.statusCode === 200) { + const body = JSON.parse(response.body); + // Name should not contain script tags + expect(JSON.stringify(body)).not.toContain('