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('