{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-65e4cb31c85eb9a9", "name": "TODO/FIXME marker in shipping code \u2014 tests/e2e-playwright/tests/parallel/databases/encryption/encryption.spec.ts:13", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 tests/e2e-playwright/tests/parallel/databases/encryption/encryption.spec.ts:13"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ec74b382bf7a887f", "name": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/fixtures/base.ts:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/fixtures/base.ts:88"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3032fca51965977", "name": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/browser.teardown.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/browser.teardown.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7275680cafe94662", "name": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/browser.setup.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/browser.setup.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cbd7d879ae1b867", "name": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/electron.teardown.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/electron.teardown.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9886bdc950666268", "name": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/electron.setup.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/electron.setup.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9b7659f89e7d5e8a", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch-jira-tickets.js:241", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch-jira-tickets.js:241"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0ba85840dceae5e", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-api-client.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-api-client.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-291a5b2cd148ba6a", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-native-modules-linux.js:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-native-modules-linux.js:95"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a72d41b976741728", "name": "Stray `console.log` in TS/JS \u2014 scripts/update-version.js:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-version.js:88"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97d5756cb34e0aa0", "name": "Stray `console.log` in TS/JS \u2014 scripts/ts-error-check.ts:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ts-error-check.ts:174"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d965bfe5a479184", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/hash/POST-databases-id-hash-get_fields.test.ts:20", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/hash/POST-databases-id-hash-get_fields.test.ts:20"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6d999bd50f42da0a", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/hash/DELETE-databases-id-hash-fields.test.ts:24", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/hash/DELETE-databases-id-hash-fields.test.ts:24"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e06ed2a93d1d640", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/z-set/PATCH-databases-id-zSet.test.ts:24", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/z-set/PATCH-databases-id-zSet.test.ts:24"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-982c88f93272aed1", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/z-set/DELETE-databases-id-zSet-members.test.ts:23", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/z-set/DELETE-databases-id-zSet-members.test.ts:23"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-644bfc0340e275f2", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/z-set/POST-databases-id-zSet.test.ts:27", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/z-set/POST-databases-id-zSet.test.ts:27"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-95eb1a43ef400a3a", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/_init/WS-notifications-global-sync.test.ts:46", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/_init/WS-notifications-global-sync.test.ts:46"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-97ad17654918e791", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/ai/assistant/POST-ai-assistant-chats-id-messages.test.ts:", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/ai/assistant/POST-ai-assistant-chats-id-messages.test.ts:28"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c9f2c8473d58f8e2", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/enterprise/POST-redis-enterprise-cluster-get_dbs.test.ts:", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/enterprise/POST-redis-enterprise-cluster-get_dbs.test.ts:7"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d078542219473377", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/custom-tutorials/POST-custom-tutorials.test.ts:125", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/custom-tutorials/POST-custom-tutorials.test.ts:125"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0f7dcca0fb8e5069", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/list/DELETE-databases-id-list-elements.test.ts:25", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/list/DELETE-databases-id-list-elements.test.ts:25"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2a61a742b9c81437", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/list/POST-databases-id-list-get_elements.test.ts:23", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/list/POST-databases-id-list-get_elements.test.ts:23"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b4654b0fc59b054e", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/cli/POST-databases-id-cli-uuid-send_command.test.ts:606", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/cli/POST-databases-id-cli-uuid-send_command.test.ts:606"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87e84ad753445d95", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/sentinel/POST-redis_sentinel-databases.test.ts:119", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/sentinel/POST-redis_sentinel-databases.test.ts:119"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c54086ac41b5c80", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/string/PUT-databases-id-string.test.ts:240", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/string/PUT-databases-id-string.test.ts:240"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6c0b97929fa1802", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/cloud/autodiscovery/POST-cloud-autodiscovery-get_database", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/cloud/autodiscovery/POST-cloud-autodiscovery-get_databases.test.ts:35"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80a7e24627cf0489", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/ws/pub-sub/pub-sub.test.ts:308", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/ws/pub-sub/pub-sub.test.ts:308"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-01d6810f6d8811ea", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-clone-id.test.ts:342", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-clone-id.test.ts:342"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-236bf0751c205bd1", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-test.test.ts:158", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-test.test.ts:158"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87d067f9d65ad7ab", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases.test.ts:153", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases.test.ts:153"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-639f93434dc4cbb1", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-test-id.test.ts:46", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-test-id.test.ts:46"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-68396e8e060d69b4", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/PATCH-databases-id.test.ts:606", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/PATCH-databases-id.test.ts:606"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c599a277d744004c", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-export.test.ts:220", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-export.test.ts:220"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-098a69bf1f4ff150", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.test.ts:466"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f4ed47523a5db13c", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/keys/POST-databases-id-keys.test.ts:35", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/keys/POST-databases-id-keys.test.ts:35"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aabf71e06210fe66", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/keys/DELETE-databases-id-keys.test.ts:105", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/keys/DELETE-databases-id-keys.test.ts:105"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c7e1305efcaf34e", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/rejson-rl/PATCH-databases-id-rejson_rl-arrappend.test.ts:", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/rejson-rl/PATCH-databases-id-rejson_rl-arrappend.test.ts:126"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a7a0ba7183920c50", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/rejson-rl/POST-databases-id-rejson_rl-get.test.ts:233", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/rejson-rl/POST-databases-id-rejson_rl-get.test.ts:233"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35f22e17954d0fea", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/bulk-actions/POST-databases-id-bulk_actions-import-tutori", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/bulk-actions/POST-databases-id-bulk_actions-import-tutorial_data.test.ts:38"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2a2906de8b85a83f", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/set/DELETE-databases-id-set-members.test.ts:24", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/set/DELETE-databases-id-set-members.test.ts:24"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a47d56c48ba029ee", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/set/POST-databases-id-set-get_members.test.ts:24", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/set/POST-databases-id-set-get_members.test.ts:24"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a4a4c37e2864cf30", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database-analysis/POST-databases-id-analysis.test.ts:21", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database-analysis/POST-databases-id-analysis.test.ts:21"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-03876af41d5929da", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/api/test/helpers/cloud.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/test/helpers/cloud.ts:55"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab342f4449c34f5", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/helpers/test.ts:130", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/helpers/test.ts:130"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a9308067d71b3073", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/api/scripts/default-commands.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/scripts/default-commands.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22db89c5bf82bfe2", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/api/scripts/postinstall-generate-client.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/scripts/postinstall-generate-client.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a9d3c3629dff39c", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/common/transformers/redis-string/redis-string-to-ascii.transfo", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/common/transformers/redis-string/redis-string-to-ascii.transformer.ts:11"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a6d7ad8d9b318b8", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/constants/recommendations.ts:2", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/constants/recommendations.ts:2"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f0b536ce33bf24f8", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/__mocks__/redis-client.ts:31", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/__mocks__/redis-client.ts:31"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-de9ac6391cb1b213", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/catch-redis-errors.ts:126", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/catch-redis-errors.ts:126"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dab6e2fa25e4854f", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/cli-helper.ts:80", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/cli-helper.ts:80"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47ef516def44e26c", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/hosting-provider-helper.ts:122", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/hosting-provider-helper.ts:122"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0bffe6822b89d1a9", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/cli-helper.spec.ts:392", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/cli-helper.spec.ts:392"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ff87173cab7e905", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/api/src/utils/cli-helper.spec.ts:386", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/src/utils/cli-helper.spec.ts:386"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7e54c468ce2cba4", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis-enterprise/redis-enterprise.service.ts:40", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis-enterprise/redis-enterprise.service.ts:40"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4577c02de15018a8", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/recommendation/recommendation.service.ts:10", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/recommendation/recommendation.service.ts:10"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3cf86ee69892fb8b", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/notification/notification.gateway.ts:42", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/notification/notification.gateway.ts:42"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f21ac5d2e6eb6fc4", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/notification/repositories/local.notification.repositor", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/notification/repositories/local.notification.repository.ts:25"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef094b30ec63d1a3", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/ai/query/utils/context.util.ts:9", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/ai/query/utils/context.util.ts:9"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46ee99d076cd2ff7", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/ai/query/repositories/local.ai-query.message.repositor", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/ai/query/repositories/local.ai-query.message.repository.ts:42"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-39ac6045d4bf72c0", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/encryption/encryption.module.ts:20", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/encryption/encryption.module.ts:20"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7423fa858e9831d1", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/encryption/encryption.service.ts:59", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/encryption/encryption.service.ts:59"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-61ac667cf1409884", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/encryption/model.encryptor.ts:45", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/encryption/model.encryptor.ts:45"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af1f630a8180ffe3", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/ca-certificate.service.ts:31", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/ca-certificate.service.ts:31"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a026964469dabce", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/client-certificate.service.ts:35", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/client-certificate.service.ts:35"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e7af9b939439374e", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.ca-certificate.reposito", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.ca-certificate.repository.ts:69"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ca52074c231660be", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.ca-certificate.reposito", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.ca-certificate.repository.spec.ts:109"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f43369b7c1e222f", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.client-certificate.repo", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.client-certificate.repository.spec.ts:118"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7c45744730099b2", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.client-certificate.repo", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.client-certificate.repository.ts:70"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2280f2eec75adb0d", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/auth/cloud-auth.service.ts:176", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/auth/cloud-auth.service.ts:176"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-51af2c2f4683f57b", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/auth/cloud-auth.service.spec.ts:234", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/auth/cloud-auth.service.spec.ts:234"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17d5022a7ac2f265", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/user/cloud-user.api.service.ts:192", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/user/cloud-user.api.service.ts:192"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0dd5245899df86eb", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/job/exceptions/cloud-job-unexpected-error.except", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/job/exceptions/cloud-job-unexpected-error.exception.ts:19"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac224dac82a66de3", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/job/jobs/import-free-database.cloud-job.ts:71", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/job/jobs/import-free-database.cloud-job.ts:71"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ea242208302f4ff", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/profiler/models/redis.observer.ts:48", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/profiler/models/redis.observer.ts:48"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b35223a6858a1826", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/profiler/models/log-file.spec.ts:64", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/profiler/models/log-file.spec.ts:64"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d58179c3053a7b66", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/profiler/providers/redis-observer.provider.ts:49", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/profiler/providers/redis-observer.provider.ts:49"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-94d839a6767e7ba6", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/redis.client.storage.spec.ts:453", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/redis.client.storage.spec.ts:453"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-244acd73dedd5ec9", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/local.redis.client.factory.ts:32", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/local.redis.client.factory.ts:32"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5af56280ff757b9", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/redis.client.factory.ts:193", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/redis.client.factory.ts:193"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-53001100a0c1cc11", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/client/redis.client.ts:260", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/client/redis.client.ts:260"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dace8cf9d2236adf", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/client/node-redis/node-redis.client.ts:43", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/client/node-redis/node-redis.client.ts:43"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-db01df1fcf5d3aee", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/client/ioredis/ioredis.client.ts:100", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/client/ioredis/ioredis.client.ts:100"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06338eef0c9d6154", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/connection/node.redis.connection.strategy.ts:104", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/connection/node.redis.connection.strategy.ts:104"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b503107543a0b851", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/utils/sentinel.util.ts:52", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/utils/sentinel.util.ts:52"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d0988d9e03b333db", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/database.module.ts:62", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/database.module.ts:62"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c0adbffce253e10", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/database.service.ts:198", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/database.service.ts:198"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a14e561c845d31ec", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/providers/database.factory.spec.ts:224", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/providers/database.factory.spec.ts:224"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-221b30a9800e1e40", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/repositories/stack.databases.repository.ts:56", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/repositories/stack.databases.repository.ts:56"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ecb6d0447ed18195", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/workbench/workbench.service.ts:162", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/workbench/workbench.service.ts:162"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d7e5723683987a37", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/workbench/repositories/local-command-execution.reposit", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/workbench/repositories/local-command-execution.repository.ts:49"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-408abb003112bc67", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/feature/local.features-config.service.ts:48", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/feature/local.features-config.service.ts:48"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a16b46853f044576", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/feature/local.feature.service.ts:91", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/feature/local.feature.service.ts:91"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46d823d3d25df8ef", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/feature/providers/feature-flag/strategies/feature.flag", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/feature/providers/feature-flag/strategies/feature.flag.strategy.ts:81"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5df260c1e81f60ee", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database-import/database-import.service.ts:137", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database-import/database-import.service.ts:137"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-97435dbf391c0938", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.ts:75", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.ts:75"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1eeab6f985f0499a", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.ts:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ae41dc6eac1aae39", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/client/api/v2/responses/pipeline.responses.ts:4", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/client/api/v2/responses/pipeline.responses.ts:4"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-122360a58375a84f", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/client/api/v1/transformers/statistics.transformers", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/client/api/v1/transformers/statistics.transformers.ts:181"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b4be96b311198c03", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/models/rdi-pipeline.ts:8", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/models/rdi-pipeline.ts:8"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aae17cca93e9981e", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/models/rdi-dry-run.ts:9", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/models/rdi-dry-run.ts:9"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b4a76f04159e76de", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/providers/rdi.client.factory.ts:20", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/providers/rdi.client.factory.ts:20"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2f0e521fc52fd919", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database-recommendation/scanner/strategies/search-JSON", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database-recommendation/scanner/strategies/search-JSON.strategy.ts:23"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d3da516f17d18ee6", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/bulk-actions/bulk-actions.analytics.spec.ts:112", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/bulk-actions/bulk-actions.analytics.spec.ts:112"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f420cc8d40290d0c", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/bulk-actions/providers/bulk-actions.provider.ts:63", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/bulk-actions/providers/bulk-actions.provider.ts:63"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a1af49289b9c59f7", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database-analysis/providers/database-analysis.provider", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database-analysis/providers/database-analysis.provider.ts:145"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5968657b3cae8cb6", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/hash/hash.service.ts:108", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/hash/hash.service.ts:108"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc3991f02521cde9", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/hash/hash.service.spec.ts:406", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/hash/hash.service.spec.ts:406"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab7c392a7465edac", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/z-set/z-set.service.spec.ts:618", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/z-set/z-set.service.spec.ts:618"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b9f2650802cbc923", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/redisearch/dto/search.redisearch.dto.ts:31", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/redisearch/dto/search.redisearch.dto.ts:31"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a5a85e5e1abba3f7", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.ts:410", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.ts:410"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-475ee0d8d701124f", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/browser-history/repositories/local.browser-his", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/browser-history/repositories/local.browser-history.repository.ts:154"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ed24421f6e709e1", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/set/set.service.spec.ts:254", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/set/set.service.spec.ts:254"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92f64598bd9ca382", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/config/default.ts:57", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/config/default.ts:57"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0fdbb0d03faa3e01", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/slices/browser/rejson.ts:277", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/slices/browser/rejson.ts:277"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8785d5651489d951", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/constants/keyboardShortcuts.tsx:4", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/constants/keyboardShortcuts.tsx:4"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e5ccb7a758c3f46", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/commands.ts:67", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/commands.ts:67"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-18e11d25774088cc", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/tests/decompressors/decompressors.spec.ts:132", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/tests/decompressors/decompressors.spec.ts:132"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-79309210fd010214", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 redisinsight/ui/src/utils/tests/formatters/markdown/remarkSanitize", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 redisinsight/ui/src/utils/tests/formatters/markdown/remarkSanitize.spec.ts:19"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c9eb7d03e9196489", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/monaco/monacoRedisMonarchTokensProvider.ts:85", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/monaco/monacoRedisMonarchTokensProvider.ts:85"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fddc292acace4db0", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/oauth/cloudSsoUtm.tsx:49", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/oauth/cloudSsoUtm.tsx:49"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0d9b9324f44e254d", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/charts/bar-chart/BarChart.tsx:182", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/charts/bar-chart/BarChart.tsx:182"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f12df68c449ae2cb", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/layout/page/page-heading.styles.ts:75", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/layout/page/page-heading.styles.ts:75"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-03a430e7b9c9363c", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/layout/page/page.styles.ts:85", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/layout/page/page.styles.ts:85"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c67fb54cc16cd28a", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/display/accordion/RiAccordion.tsx:10", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/display/accordion/RiAccordion.tsx:10"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e374d840a9bdc629", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/theme/index.ts:2", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/theme/index.ts:2"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9459f2789e944969", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/link/link.types.ts:3", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/link/link.types.ts:3"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d138fab0aecd616", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/popover/RiPopover.tsx:73", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/popover/RiPopover.tsx:73"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8e685fa29f962d3", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/icons/RiIcon.tsx:26", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/icons/RiIcon.tsx:26"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c613b2e9e8496f9", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/forms/combo-box/AutoTag.tsx:141", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/forms/combo-box/AutoTag.tsx:141"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0d186b0a27d11a8", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/rdi-deploy-error-content/Rd", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/rdi-deploy-error-content/RdiDeployErrorContent.tsx:50"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-957f1acd9bde58cc", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteM", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMessages.tsx:274"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2f89d8daf1a0eae", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/encryption-error-content/En", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/encryption-error-content/EncryptionErrorContent.tsx:19"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-430db17b4ba4ef55", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/default-error-content/Defau", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/default-error-content/DefaultErrorContent.tsx:8"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-761751106948314a", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/components/code-block/CodeBlock.stories.tsx:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/components/code-block/CodeBlock.stories.tsx:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c733776feb6fca9", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/triggers/insights-trigger/InsightsTrigger.styles.ts:", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/triggers/insights-trigger/InsightsTrigger.styles.ts:11"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7f057711032f5ac6", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/triggers/copilot-trigger/CopilotTrigger.styles.ts:16", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/triggers/copilot-trigger/CopilotTrigger.styles.ts:16"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c74207db73e2c94", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/database-list-options/DatabaseListOptions.styles.ts:", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/database-list-options/DatabaseListOptions.styles.ts:23"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-751b8e24c39abc4a", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/group-badge/GroupBadge.tsx:19", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/group-badge/GroupBadge.tsx:19"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5dbad720f60b0c86", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/auto-refresh/AutoRefresh.tsx:250", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/auto-refresh/AutoRefresh.tsx:250"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2d82da59278bcce9", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/oauth/oauth-sso/oauth-autodiscovery/OAuthAutodiscove", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/oauth/oauth-sso/oauth-autodiscovery/OAuthAutodiscovery.tsx:124"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-239bb660afb85d8c", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/bottom-group-components/components/bottom-group-mini", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/bottom-group-components/components/bottom-group-minimized/ButtonGroupMinimized.styles.ts:18"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ccb936bac9b66a3", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/query/hooks/useMonacoRedisEditor.ts:44", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/query/hooks/useMonacoRedisEditor.ts:44"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1073d0d5e07a7db6", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/instance-header/components/ShortInstanceInfo.styles.", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/instance-header/components/ShortInstanceInfo.styles.ts:7"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cb9e884c48fc6066", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/monaco-editor/MonacoEditor.tsx:119", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/monaco-editor/MonacoEditor.tsx:119"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8383b3e5b135a1a8", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/En", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/EnablementArea.tsx:179"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0fc12810ac20bbc8", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/co", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/InternalPage/InternalPage.tsx:139"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91a7b3927ced0259", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/packages/ri-explain/src/parser.ts:190", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/packages/ri-explain/src/parser.ts:190"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-920e79211aba9945", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/packages/redisgraph/src/graphd3.ts:1289", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/packages/redisgraph/src/graphd3.ts:1289"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d868ccb76c3e297a", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/packages/redisgraph/src/Graph.tsx:84", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/packages/redisgraph/src/Graph.tsx:84"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-97789795ce3c1c9d", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/pub-sub/components/subscribe-information/SubscribeInforma", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/pub-sub/components/subscribe-information/SubscribeInformation.styles.tsx:10"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4e4b260b4e279670", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/pub-sub/components/patternsInfo/PatternsInfo.styles.tsx:9", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/pub-sub/components/patternsInfo/PatternsInfo.styles.tsx:9"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-244cb2700d3b4b18", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/workbench/utils/suggestions.ts:235", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/workbench/utils/suggestions.ts:235"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7cf9b0d895e08806", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/workbench/utils/tests/test-cases/common.ts:134", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/workbench/utils/tests/test-cases/common.ts:134"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ce62bb9ddb20dcd", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/workbench/components/wb-view/WBViewWrapper.tsx:243", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/workbench/components/wb-view/WBViewWrapper.tsx:243"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9de304dffcede52c", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/home/components/form/KeyFormatSelector.tsx:35", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/home/components/form/KeyFormatSelector.tsx:35"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-283ea8ee5a0e6bc4", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/home/components/form/DatabaseForm.spec.tsx:153", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/home/components/form/DatabaseForm.spec.tsx:153"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a43dbb60a089cc2", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionForm.spec.tsx:42", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionForm.spec.tsx:42"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1459406b4012861f", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/rdi/pipeline-management/components/navigation/cards/jobs/", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/rdi/pipeline-management/components/navigation/cards/jobs/JobNameForm.tsx:22"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ddd46277d575452a", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/rdi/statistics/StatisticsPage.tsx:130", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/rdi/statistics/StatisticsPage.tsx:130"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b91fa87830b6ccae", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/vector-search/constants/notifications.ts:49", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/vector-search/constants/notifications.ts:49"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5512b6a5c8f692f", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/vector-search/utils/generateFtCreateCommand.ts:1", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/vector-search/utils/generateFtCreateCommand.ts:1"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f4901e3d194b1e1e", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/pages/vector-search/components/field-type-modal/FieldTypeModal.storie", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/pages/vector-search/components/field-type-modal/FieldTypeModal.stories.tsx:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c473ac8e1656d53", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/pages/vector-search/components/pick-sample-data-modal/PickSampleDataM", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/pages/vector-search/components/pick-sample-data-modal/PickSampleDataModal.stories.tsx:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5420a2f5f785c9cc", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/pages/vector-search/components/index-list/IndexList.stories.tsx:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/pages/vector-search/components/index-list/IndexList.stories.tsx:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b24ef13285e69bff", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/vector-search/context/create-index-page/CreateIndexPageCo", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/vector-search/context/create-index-page/CreateIndexPageContext.types.ts:19"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-885bbb296a615269", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/components/keys-header/KeysHeader.tsx:150", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/components/keys-header/KeysHeader.tsx:150"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a2be70e63de21be3", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/components/key-list/KeyList.spec.tsx:151", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/components/key-list/KeyList.spec.tsx:151"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ea747585949c1f7", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/components/bulk-actions/BulkDelete/BulkDeleteFoot", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/components/bulk-actions/BulkDelete/BulkDeleteFooter/BulkDeleteFooter.tsx:149"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4920ceee0742b34e", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/modules/key-details-header/components/key-details", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/modules/key-details-header/components/key-details-header-name/KeyDetailsHeaderName.tsx:196"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28811500e94a81be", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/services/resourcesService.ts:31", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/services/resourcesService.ts:31"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eafd98c5cc5b40aa", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/styles/globalStyles.ts:10", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/styles/globalStyles.ts:10"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ca0bb33bdbe4a86", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/desktop/index.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/desktop/index.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9a17d8a452622757", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/desktop/src/utils/wrapErrorSensitiveData.ts:3", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/desktop/src/utils/wrapErrorSensitiveData.ts:3"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f72f2921ad7b96f6", "name": "TODO/FIXME marker in shipping code \u2014 redisinsight/desktop/src/utils/resolveHtmlPath.ts:27", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/desktop/src/utils/resolveHtmlPath.ts:27"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-583113dee1d22091", "name": "Stray `console.log` in TS/JS \u2014 redisinsight/desktop/src/lib/extensions/extensions.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/desktop/src/lib/extensions/extensions.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-67f2d7ca61e565b9", "name": "TODO/FIXME marker in shipping code \u2014 .github/generate-build-summary.js:68", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 .github/generate-build-summary.js:68"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9968a8b7dac7cc24", "name": "Stray `console.log` in TS/JS \u2014 .github/generate-build-summary.js:124", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .github/generate-build-summary.js:124"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eaeb774407a3099d", "name": "TODO/FIXME marker in shipping code \u2014 .github/generate-checksums-summary.js:20", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 .github/generate-checksums-summary.js:20"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b91ef4b1c0fc7bd0", "name": "Stray `console.log` in TS/JS \u2014 .github/generate-checksums-summary.js:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .github/generate-checksums-summary.js:75"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e87aabe0aba1755", "name": "Stray `console.log` in TS/JS \u2014 .github/deps-licenses-report.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .github/deps-licenses-report.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-838af49f6272c7da", "name": "Privileged port 211 in use", "shortDescription": {"text": "Privileged port 211 in use"}, "fullDescription": {"text": "Port 211 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c81fdb97c8950836", "name": "Privileged port 212 in use", "shortDescription": {"text": "Privileged port 212 in use"}, "fullDescription": {"text": "Port 212 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54245a1f108b904d", "name": "Privileged port 213 in use", "shortDescription": {"text": "Privileged port 213 in use"}, "fullDescription": {"text": "Port 213 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1a7430fc976b1477", "name": "Privileged port 221 in use", "shortDescription": {"text": "Privileged port 221 in use"}, "fullDescription": {"text": "Port 221 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-356a48ebc4f5a822", "name": "Privileged port 222 in use", "shortDescription": {"text": "Privileged port 222 in use"}, "fullDescription": {"text": "Port 222 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5bf9b220e972cc7f", "name": "Privileged port 223 in use", "shortDescription": {"text": "Privileged port 223 in use"}, "fullDescription": {"text": "Port 223 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d7580faabd15865c", "name": "Privileged port 231 in use", "shortDescription": {"text": "Privileged port 231 in use"}, "fullDescription": {"text": "Port 231 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-92db0195398ba3a4", "name": "Privileged port 232 in use", "shortDescription": {"text": "Privileged port 232 in use"}, "fullDescription": {"text": "Port 232 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fbaeb1cc42a00380", "name": "Privileged port 233 in use", "shortDescription": {"text": "Privileged port 233 in use"}, "fullDescription": {"text": "Port 233 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9cbb0e0a0d4ac3db", "name": "Privileged port 135 in use", "shortDescription": {"text": "Privileged port 135 in use"}, "fullDescription": {"text": "Port 135 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c767bfcd79aebdef", "name": "Privileged port 445 in use", "shortDescription": {"text": "Privileged port 445 in use"}, "fullDescription": {"text": "Port 445 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3291b9e0b726cf9c", "name": "Privileged port 808 in use", "shortDescription": {"text": "Privileged port 808 in use"}, "fullDescription": {"text": "Port 808 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1f1c29e268f02e5d", "name": "Privileged port 123 in use", "shortDescription": {"text": "Privileged port 123 in use"}, "fullDescription": {"text": "Port 123 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-924eb787c0c6411d", "name": "Docker base image is tag-pinned but not digest-pinned: node:24.16.0-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:24.16.0-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb3267907aa2c5b4", "name": "Dockerfile runs as root: tests/e2e/rte/redis-enterprise/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: tests/e2e/rte/redis-enterprise/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c67aa68ddd2ab856", "name": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:8.0.2-17", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:8.0.2-17"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea5285e32305348b", "name": "Dockerfile runs as root: tests/e2e/rte/oss-cluster-7/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-cluster-7/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ad553ce510b61bd", "name": "Docker base image is tag-pinned but not digest-pinned: redislabs/rejson:1.0.8", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/rejson:1.0.8"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4175fab3bd5c74fd", "name": "Docker base image is tag-pinned but not digest-pinned: redislabs/redisearch:2.0.13", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redisearch:2.0.13"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b95f2ed523f564c", "name": "Docker base image is tag-pinned but not digest-pinned: redis:7.0.0", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:7.0.0"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d084b61839e76f4f", "name": "Dockerfile runs as root: tests/e2e/rte/oss-cluster-7-rs/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-cluster-7-rs/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4edd041b3df920aa", "name": "Docker base image is tag-pinned but not digest-pinned: redislabs/rejson:1.0.8", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/rejson:1.0.8"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7de2cea90ab4c6f", "name": "Docker base image is tag-pinned but not digest-pinned: redis:7.0.8", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:7.0.8"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-400f04ed63430120", "name": "Dockerfile ADD downloads remote content without checksum", "shortDescription": {"text": "Dockerfile ADD downloads remote content without checksum"}, "fullDescription": {"text": "Remote build inputs can change or be replaced upstream. Use Dockerfile ADD --checksum or download with an explicit digest/signature verification step."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-efc04605e8383e7a", "name": "Dockerfile runs as root: tests/e2e/rte/oss-cluster-7-hostname/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-cluster-7-hostname/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d16184ff261e7760", "name": "Docker base image is tag-pinned but not digest-pinned: redis:7.0.0", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:7.0.0"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d123a987c6e139b7", "name": "Dockerfile runs as root: tests/e2e/rte/oss-standalone-tls/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-standalone-tls/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d9451870f8ab132b", "name": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.0.8", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.0.8"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f5ee9bd57e381fb", "name": "Dockerfile runs as root: tests/e2e/rte/oss-sentinel/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-sentinel/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-69c2724611adba20", "name": "Docker base image is tag-pinned but not digest-pinned: redis:5", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:5"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c10f7444a8dafdbc", "name": "Dockerfile runs as root: tests/e2e/rte/oss-standalone-big/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-standalone-big/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-83fb2ec3f11eca9c", "name": "Docker base image uses a mutable or implicit tag: redislabs/redismod", "shortDescription": {"text": "Docker base image uses a mutable or implicit tag: redislabs/redismod"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-301c3c0f340676c3", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/re-crdt/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/re-crdt/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2cd904e06d90a707", "name": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:6.2.8-50", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:6.2.8-50"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0f2fd7c12bbab7b5", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-sent-tls-auth/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-sent-tls-auth/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5ba6ba06cd9e2cc4", "name": "Docker base image is tag-pinned but not digest-pinned: redis:6.2.6-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:6.2.6-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18249b6bd3cf0b51", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/re-clu/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/re-clu/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-da7979bd75dbbe42", "name": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:6.2.8-50", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:6.2.8-50"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc3afec8f2ba395a", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-sent/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-sent/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dfe7e29d0a4ef9a2", "name": "Docker base image is tag-pinned but not digest-pinned: redis:6.2.6-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:6.2.6-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd27df4e13fe7a6d", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-clu/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-clu/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d2395fdb8a95c1c1", "name": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis-cluster:6.2.6", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis-cluster:6.2.6"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f059e6159a1332c2", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/re-st/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/re-st/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f797e2019b1f9aa", "name": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:6.2.8-50", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:6.2.8-50"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ebd9ca262ffbabb", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-clu-tls/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-clu-tls/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ee1d18249750277", "name": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis-cluster:6.0.8", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis-cluster:6.0.8"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9317ac24f6749384", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-6-tls-auth/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-6-tls-auth/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11134bd7bdbb3640", "name": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.0.8", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.0.8"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e845b4a4d719f393", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-6-tls-auth-ssh/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-6-tls-auth-ssh/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-129cc22ee50a9432", "name": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.0.8", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.0.8"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b514d948bf38343", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-big/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-big/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54aec44a9cf0643e", "name": "Docker base image uses a mutable or implicit tag: redislabs/redismod", "shortDescription": {"text": "Docker base image uses a mutable or implicit tag: redislabs/redismod"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e076148ee5e755ff", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-6-tls/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-6-tls/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0e3dcc66976e81b8", "name": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.2.4", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.2.4"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee4365367838f5ff", "name": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-5/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-5/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0f8c27119ae0a57e", "name": "Docker base image is tag-pinned but not digest-pinned: redislabs/redisearch:1.6.15", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redisearch:1.6.15"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8b1fa8987c648c76", "name": "Docker base image is tag-pinned but not digest-pinned: redislabs/rejson:1.0.8", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/rejson:1.0.8"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e09714aef5e8cf31", "name": "Docker base image is tag-pinned but not digest-pinned: redis:5", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:5"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74c18e4b6c2f5aa7", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/re-crdt/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/re-crdt/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/re-crdt/.env` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cf62b0069b14d03b", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-sent-tls-auth/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-sent-tls-auth/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/oss-sent-tls-auth/.env` looks like a runtime dotenv file. It contains secret-looking assignments for TEST_REDIS_PASSWORD, TEST_SENTINEL_MASTER_PASS, TEST_USER_TLS_KEY. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-87cfb91ffbd45106", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/re-clu/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/re-clu/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/re-clu/.env` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6b5a0df7f0daea70", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-sent/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-sent/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/oss-sent/.env` looks like a runtime dotenv file. It contains secret-looking assignments for TEST_REDIS_PASSWORD, TEST_SENTINEL_MASTER_PASS. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-a4158f3097771e5f", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-clu/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-clu/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/oss-clu/.env` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cadfcb4c6bebd58b", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/re-st/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/re-st/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/re-st/.env` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b3c3d625d7fb25a1", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-clu-tls/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-clu-tls/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/oss-clu-tls/.env` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ece03b6861f2f03b", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-5-pass/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-5-pass/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/oss-st-5-pass/.env` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7004b71fcc6e52bf", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/cloud-st/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/cloud-st/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/cloud-st/.env` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5671bd5569d1cb87", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-6-tls-auth/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-6-tls-auth/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/oss-st-6-tls-auth/.env` looks like a runtime dotenv file. It contains secret-looking assignments for TEST_USER_TLS_KEY. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-d87133a93b292580", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-6-tls-auth-ssh/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-6-tls-auth-ssh/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/oss-st-6-tls-auth-ssh/.env` looks like a runtime dotenv file. It contains secret-looking assignments for TEST_USER_TLS_KEY, TEST_SSH_PRIVATE_KEY, TEST_SSH_PRIVATE_KEY_P. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-cb5a7eea1d928627", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-big/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-big/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/oss-st-big/.env` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f72c86fe227a725", "name": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-6-tls/.env", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-6-tls/.env"}, "fullDescription": {"text": "`redisinsight/api/test/test-runs/oss-st-6-tls/.env` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c577191505df5446", "name": "Runtime dotenv file present in repo: redisinsight/ui/.env.test", "shortDescription": {"text": "Runtime dotenv file present in repo: redisinsight/ui/.env.test"}, "fullDescription": {"text": "`redisinsight/ui/.env.test` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f61ccdfd3eb710d", "name": "Insecure pattern 'node_child_process' in scripts/generate-api-client.js:14", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/generate-api-client.js:14"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c53ff1fdd92bbca2", "name": "Insecure pattern 'node_child_process' in scripts/update-version.js:10", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/update-version.js:10"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-77d7dbb31947432d", "name": "Insecure pattern 'node_child_process' in redisinsight/api/config/default.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in redisinsight/api/config/default.ts:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1c1b1a175dfafdad", "name": "Possible secret in redisinsight/api/test/test-runs/docker.build.yml", "shortDescription": {"text": "Possible secret in redisinsight/api/test/test-runs/docker.build.yml"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-9bff790d3c8419d0", "name": "Possible secret in redisinsight/api/test/helpers/constants.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/test/helpers/constants.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-2ca96362496f3e6b", "name": "Insecure pattern 'node_child_process' in redisinsight/api/scripts/postinstall-generate-client.js:18", "shortDescription": {"text": "Insecure pattern 'node_child_process' in redisinsight/api/scripts/postinstall-generate-client.js:18"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9aa43185df1d03b8", "name": "Insecure pattern 'private_key_in_repo' in redisinsight/api/src/common/utils/certificate-import.util.ts:7", "shortDescription": {"text": "Insecure pattern 'private_key_in_repo' in redisinsight/api/src/common/utils/certificate-import.util.ts:7"}, "fullDescription": {"text": "Found a known-risky pattern (private_key_in_repo). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-f5d7587ffa68d686", "name": "Possible secret in redisinsight/api/src/constants/recommendations.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/constants/recommendations.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-18866a1c24cf8042", "name": "Insecure pattern 'private_key_in_repo' in redisinsight/api/src/__mocks__/database-discovery.ts:129", "shortDescription": {"text": "Insecure pattern 'private_key_in_repo' in redisinsight/api/src/__mocks__/database-discovery.ts:129"}, "fullDescription": {"text": "Found a known-risky pattern (private_key_in_repo). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-6baae07497031ee3", "name": "Possible secret in redisinsight/api/src/__mocks__/redis-enterprise.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/__mocks__/redis-enterprise.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-cef2df70e366cca7", "name": "Insecure pattern 'private_key_in_repo' in redisinsight/api/src/__mocks__/certificates.ts:71", "shortDescription": {"text": "Insecure pattern 'private_key_in_repo' in redisinsight/api/src/__mocks__/certificates.ts:71"}, "fullDescription": {"text": "Found a known-risky pattern (private_key_in_repo). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-d7912ae8fb59abfb", "name": "Possible secret in redisinsight/api/src/__mocks__/encryption.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/__mocks__/encryption.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-5dc344d08e7d2772", "name": "Possible secret in redisinsight/api/src/__mocks__/rdi.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/__mocks__/rdi.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-904c29c9dafa7467", "name": "Possible secret in redisinsight/api/src/modules/redis-enterprise/redis-enterprise.service.spec.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/modules/redis-enterprise/redis-enterprise.service.spec.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-c2952d3b25a131d3", "name": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "fullDescription": {"text": "Detected pattern matching private_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-f0ba67cde88f58a0", "name": "Insecure pattern 'node_child_process' in redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.ts:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6028cd42d44be361", "name": "Insecure pattern 'node_child_process' in redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.spec.t", "shortDescription": {"text": "Insecure pattern 'node_child_process' in redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.spec.ts:7"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a273c37ae3fe7b24", "name": "Possible secret in redisinsight/api/src/modules/database-discovery/utils/pre-setup.discovery.util.spec.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/modules/database-discovery/utils/pre-setup.discovery.util.spec.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-666c7e17ee0b1f06", "name": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.spec.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.spec.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-b7f938b9b9d7726f", "name": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v2/transformers/metrics-collections.transformer.spec.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v2/transformers/metrics-collections.transformer.spec.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-da6b5b034277ce1d", "name": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v1/transformers/statistics.transformers.spec.ts", "shortDescription": {"text": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v1/transformers/statistics.transformers.spec.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-7495a260c579bb25", "name": "Insecure pattern 'direct_innerhtml_assignment' in redisinsight/ui/src/utils/monaco/monacoUtils.ts:368", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in redisinsight/ui/src/utils/monaco/monacoUtils.ts:368"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-05606a285074d975", "name": "Possible secret in redisinsight/ui/src/components/input-field-sentinel/InputFieldSentinel.tsx", "shortDescription": {"text": "Possible secret in redisinsight/ui/src/components/input-field-sentinel/InputFieldSentinel.tsx"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-7c2b4967b539590b", "name": "Possible secret in redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx", "shortDescription": {"text": "Possible secret in redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-d25f71f2a1362a10", "name": "Possible secret in redisinsight/ui/src/pages/home/constants/form.ts", "shortDescription": {"text": "Possible secret in redisinsight/ui/src/pages/home/constants/form.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-2715d5568e60aecf", "name": "Possible secret in redisinsight/ui/src/pages/home/components/form/DatabaseForm.spec.tsx", "shortDescription": {"text": "Possible secret in redisinsight/ui/src/pages/home/components/form/DatabaseForm.spec.tsx"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-76eeeef38213e5c6", "name": "Possible secret in redisinsight/ui/src/pages/home/components/cluster-connection/cluster-connection-form/ClusterConnectio", "shortDescription": {"text": "Possible secret in redisinsight/ui/src/pages/home/components/cluster-connection/cluster-connection-form/ClusterConnectionForm.tsx"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-05dfb6792cec0e68", "name": "Possible secret in redisinsight/ui/src/pages/rdi/home/RdiPage.spec.tsx", "shortDescription": {"text": "Possible secret in redisinsight/ui/src/pages/rdi/home/RdiPage.spec.tsx"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-c94afb92bf1f7752", "name": "Possible secret in redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionForm.spec.tsx", "shortDescription": {"text": "Possible secret in redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionForm.spec.tsx"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-1e0c56e00b5063f8", "name": "Possible secret in redisinsight/ui/src/pages/autodiscover-sentinel/constants/constants.ts", "shortDescription": {"text": "Possible secret in redisinsight/ui/src/pages/autodiscover-sentinel/constants/constants.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-8dd3b8d6ad4aa846", "name": "Insecure pattern 'direct_innerhtml_assignment' in redisinsight/ui/src/plugins/pluginImport.spec.ts:15", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in redisinsight/ui/src/plugins/pluginImport.spec.ts:15"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d3cdc066a8561df9", "name": "Insecure pattern 'direct_innerhtml_assignment' in redisinsight/desktop/splash.html:83", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in redisinsight/desktop/splash.html:83"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-30aef35f55cdb1ed", "name": "Insecure pattern 'exec_used' in .github/deps-audit-report.js:65", "shortDescription": {"text": "Insecure pattern 'exec_used' in .github/deps-audit-report.js:65"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b0a40a3825bf4e6", "name": "Insecure pattern 'node_child_process' in .github/deps-audit-report.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in .github/deps-audit-report.js:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9db2ff308a809227", "name": "Insecure pattern 'node_child_process' in .github/deps-licenses-report.js:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in .github/deps-licenses-report.js:5"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c70b087d193f3273", "name": "Insecure pattern 'chmod_777' in .github/workflows/tests-integration.yml:281", "shortDescription": {"text": "Insecure pattern 'chmod_777' in .github/workflows/tests-integration.yml:281"}, "fullDescription": {"text": "Found a known-risky pattern (chmod_777). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8595916441f2224c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/download-artifact@v8 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1f9fb9f69ebbedd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "mxschmitt/action-tmate@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1044d1c8d7fbf49d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "mxschmitt/action-tmate@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e2ea83d58544530", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "joao-zanutto/get-selected@v2.0.0 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c0daf0d512086d7c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6.0.2 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6146d7a6392f605a", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "calibreapp/image-actions@main can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b2da3fc097b912a3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3c7cd7d0b2a6954e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6.0.2 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c888d466662645c4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "mxschmitt/action-tmate@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-266162aa2c525a31", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ca4c078e61c6606", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/github-script@v9 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d21e4b1c64b14892", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/download-artifact@v8 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79a3e49f21ef6173", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/download-artifact@v8 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a75a0225b65257e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fd6bdf426ecbaee9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "mxschmitt/action-tmate@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d989c6dfe6b4cb1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact/merge@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc9e13fa01dd7236", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-925e2df0bfe63ef5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "slackapi/slack-github-action@v3.0.3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-98437c49f75b2464", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "mxschmitt/action-tmate@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cf6580c03226df8e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "mxschmitt/action-tmate@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af9059be621c0b0e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af1cc4febd2d0690", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/download-artifact@v8 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d3c1c81cefb48038", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "mxschmitt/action-tmate@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-635788aaf4e95a7f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "strumwolf/delete-deployment-environment@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8fd9b2d59d803e24", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "mxschmitt/action-tmate@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-762b075233f06fa0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "joao-zanutto/get-selected@v2.0.0 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5356fe4179697534", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6.0.2 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b526726e11aa46b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9537c324f431b926", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2d009f8b37c56a6", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fca6d9867ca7739c", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c8e71fe634f2767", "name": "Very large file: redisinsight/api/test/api/database/POST-databases.test.ts (1508 lines)", "shortDescription": {"text": "Very large file: redisinsight/api/test/api/database/POST-databases.test.ts (1508 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a20e1c7ca5bcb1e", "name": "Very large file: redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.test.ts (1630 lines)", "shortDescription": {"text": "Very large file: redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.test.ts (1630 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-55a7799a7ab6b1cd", "name": "Very large file: redisinsight/api/test/api/database-import/POST-databases-import.test.ts (2559 lines)", "shortDescription": {"text": "Very large file: redisinsight/api/test/api/database-import/POST-databases-import.test.ts (2559 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24f067122e41357c", "name": "Very large file: redisinsight/ui/src/slices/tests/instances/instances.spec.ts (2131 lines)", "shortDescription": {"text": "Very large file: redisinsight/ui/src/slices/tests/instances/instances.spec.ts (2131 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7809ec40defcb05", "name": "Very large file: redisinsight/ui/src/slices/tests/browser/keys.spec.ts (2452 lines)", "shortDescription": {"text": "Very large file: redisinsight/ui/src/slices/tests/browser/keys.spec.ts (2452 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "517 tests / 5030 src (ratio 0.10)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27afe76f282b58a2", "name": "253 TODO/FIXME markers", "shortDescription": {"text": "253 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 44 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 272 placeholder/mock markers across 131 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b54919b425a8ee01", "name": "Agent authority lacks a verifier contract: mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-75437524eebf6bbc", "name": "Commented-code block (5 lines) in .eslintrc.js:197", "shortDescription": {"text": "Commented-code block (5 lines) in .eslintrc.js:197"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28e3d3c1967c5a94", "name": "Commented-code block (7 lines) in tests/e2e-playwright/playwright.config.ts:58", "shortDescription": {"text": "Commented-code block (7 lines) in tests/e2e-playwright/playwright.config.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e16994737f78d0a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch-jira-tickets.js:95", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch-jira-tickets.js:95"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8df8d8bf70b0893", "name": "Commented-code block (18 lines) in redisinsight/api/test/api/enterprise/POST-redis-enterprise-cluster-get_dbs.test.ts:9", "shortDescription": {"text": "Commented-code block (18 lines) in redisinsight/api/test/api/enterprise/POST-redis-enterprise-cluster-get_dbs.test.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-608ca8f85132aeac", "name": "Commented-code block (6 lines) in redisinsight/api/test/api/cloud/autodiscovery/GET-cloud-me-autodiscovery-account.test.", "shortDescription": {"text": "Commented-code block (6 lines) in redisinsight/api/test/api/cloud/autodiscovery/GET-cloud-me-autodiscovery-account.test.ts:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-32bd15e556791cdf", "name": "Commented-code block (8 lines) in redisinsight/api/test/api/database/POST-databases.test.ts:194", "shortDescription": {"text": "Commented-code block (8 lines) in redisinsight/api/test/api/database/POST-databases.test.ts:194"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3cc6a64a371d4a8d", "name": "Legacy-named symbol `someTEST_pipeline_status_v1` in redisinsight/api/test/api/rdi/pipeline/GET-rdi-id-pipeline-status.t", "shortDescription": {"text": "Legacy-named symbol `someTEST_pipeline_status_v1` in redisinsight/api/test/api/rdi/pipeline/GET-rdi-id-pipeline-status.test.ts:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4220f9ecc5b9a1fa", "name": "Commented-code block (5 lines) in redisinsight/api/test/api/redisearch/POST-databases-id-redisearch.test.ts:24", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/api/test/api/redisearch/POST-databases-id-redisearch.test.ts:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d037d6f41ab678f", "name": "Commented-code block (8 lines) in redisinsight/api/test/api/bulk-actions/POST-databases-id-bulk_actions-import-tutorial_", "shortDescription": {"text": "Commented-code block (8 lines) in redisinsight/api/test/api/bulk-actions/POST-databases-id-bulk_actions-import-tutorial_data.test.ts:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6e9277620da1c0be", "name": "Commented-code block (6 lines) in redisinsight/api/src/__mocks__/redis-databases.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in redisinsight/api/src/__mocks__/redis-databases.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2183f47f9134356d", "name": "Commented-code block (5 lines) in redisinsight/api/src/modules/redis-sentinel/redis-sentinel.service.ts:48", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/api/src/modules/redis-sentinel/redis-sentinel.service.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e88f03a4f04851a", "name": "Commented-code block (12 lines) in redisinsight/api/src/modules/cloud/job/jobs/cloud-job.spec.ts:90", "shortDescription": {"text": "Commented-code block (12 lines) in redisinsight/api/src/modules/cloud/job/jobs/cloud-job.spec.ts:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5e313cfc936bbae", "name": "Commented-code block (10 lines) in redisinsight/api/src/modules/profiler/monitor.service.spec.ts:5", "shortDescription": {"text": "Commented-code block (10 lines) in redisinsight/api/src/modules/profiler/monitor.service.spec.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b795d400a5de6599", "name": "Commented-code block (6 lines) in redisinsight/api/src/modules/redis/client/redis.client.ts:218", "shortDescription": {"text": "Commented-code block (6 lines) in redisinsight/api/src/modules/redis/client/redis.client.ts:218"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf2741c9b59253a2", "name": "Commented-code block (13 lines) in redisinsight/api/src/modules/redis/connection/node.redis.connection.strategy.ts:111", "shortDescription": {"text": "Commented-code block (13 lines) in redisinsight/api/src/modules/redis/connection/node.redis.connection.strategy.ts:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a4c5cfd44fe4616", "name": "Commented-code block (5 lines) in redisinsight/api/src/modules/database/database.module.ts:79", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/api/src/modules/database/database.module.ts:79"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-94e31d0db1a0f7e4", "name": "Commented-code block (15 lines) in redisinsight/api/src/modules/browser/hash/hash.service.spec.ts:406", "shortDescription": {"text": "Commented-code block (15 lines) in redisinsight/api/src/modules/browser/hash/hash.service.spec.ts:406"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad058a77ea30329f", "name": "Commented-code block (15 lines) in redisinsight/api/src/modules/browser/z-set/z-set.service.spec.ts:618", "shortDescription": {"text": "Commented-code block (15 lines) in redisinsight/api/src/modules/browser/z-set/z-set.service.spec.ts:618"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d0194c7e8240de5", "name": "Commented-code block (15 lines) in redisinsight/api/src/modules/browser/set/set.service.spec.ts:254", "shortDescription": {"text": "Commented-code block (15 lines) in redisinsight/api/src/modules/browser/set/set.service.spec.ts:254"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e8246a6d56054525", "name": "Commented-code block (5 lines) in redisinsight/ui/vite.config.mjs:96", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/vite.config.mjs:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8268eee991d387fa", "name": "Commented-code block (6 lines) in redisinsight/ui/src/types/redux-mock-store.d.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/types/redux-mock-store.d.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-07b25312d15fa24d", "name": "Commented-code block (5 lines) in redisinsight/ui/src/slices/tests/panels/aiAssistant.spec.ts:64", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/slices/tests/panels/aiAssistant.spec.ts:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-154c81134c27cdc7", "name": "Commented-code block (5 lines) in redisinsight/ui/src/utils/test-utils.tsx:85", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/utils/test-utils.tsx:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ec0afeeb5f5c6ae7", "name": "Commented-code block (7 lines) in redisinsight/ui/src/utils/tests/decompressors/decompressors.spec.ts:134", "shortDescription": {"text": "Commented-code block (7 lines) in redisinsight/ui/src/utils/tests/decompressors/decompressors.spec.ts:134"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a07811c7b563119", "name": "Commented-code block (5 lines) in redisinsight/ui/src/utils/transformers/truncateTTL.ts:18", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/utils/transformers/truncateTTL.ts:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-df4279fa1681ccb8", "name": "Commented-code block (5 lines) in redisinsight/ui/src/utils/transformers/truncateNumber.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/utils/transformers/truncateNumber.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bbe10bd4c36f570e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 redisinsight/ui/src/utils/dom/triggerDownloadFromUrl.ts:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 redisinsight/ui/src/utils/dom/triggerDownloadFromUrl.ts:16"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0a0a3541d8a78bc7", "name": "Commented-code block (10 lines) in redisinsight/ui/src/components/base/utils/OutsideClickDetector.tsx:30", "shortDescription": {"text": "Commented-code block (10 lines) in redisinsight/ui/src/components/base/utils/OutsideClickDetector.tsx:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cdbf8e76570bf533", "name": "Commented-code block (6 lines) in redisinsight/ui/src/components/base/popover/RiPopover.tsx:50", "shortDescription": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/components/base/popover/RiPopover.tsx:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a5caab092c486335", "name": "Commented-code block (5 lines) in redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMess", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMessages.tsx:274"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8e1953f071311431", "name": "Commented-code block (11 lines) in redisinsight/ui/src/components/monaco-editor/useMonacoValidation.ts:12", "shortDescription": {"text": "Commented-code block (11 lines) in redisinsight/ui/src/components/monaco-editor/useMonacoValidation.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89591184f6f918f9", "name": "Commented-code block (6 lines) in redisinsight/ui/src/packages/ri-explain/src/parser.ts:1068", "shortDescription": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/packages/ri-explain/src/parser.ts:1068"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-42a5443190100fb8", "name": "Commented-code block (5 lines) in redisinsight/ui/src/pages/workbench/utils/tests/test-cases/common.ts:304", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/pages/workbench/utils/tests/test-cases/common.ts:304"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-45c1dfa201eba43f", "name": "Commented-code block (6 lines) in redisinsight/ui/src/pages/home/components/manual-connection/manual-connection-form/Man", "shortDescription": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/pages/home/components/manual-connection/manual-connection-form/ManualConnectionFrom.spec.tsx:828"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bec8bf248ba54d2e", "name": "Commented-code block (6 lines) in redisinsight/ui/src/pages/browser/components/keys-header/KeysHeader.tsx:129", "shortDescription": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/pages/browser/components/keys-header/KeysHeader.tsx:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91513bfcfd106e73", "name": "Commented-code block (5 lines) in redisinsight/ui/src/pages/browser/components/add-key/AddKeyVectorSet/AddKeyVectorSet.t", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/pages/browser/components/add-key/AddKeyVectorSet/AddKeyVectorSet.tsx:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef5ecaad57c5c31f", "name": "Legacy-named symbol `BrowserLeftPanelLegacy` in redisinsight/ui/src/pages/browser/components/browser-left-panel/BrowserL", "shortDescription": {"text": "Legacy-named symbol `BrowserLeftPanelLegacy` in redisinsight/ui/src/pages/browser/components/browser-left-panel/BrowserLeftPanel.tsx:9"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e4d8bd908e6275f", "name": "Legacy-named symbol `BrowserLeftPanelLegacy` in redisinsight/ui/src/pages/browser/components/browser-left-panel/BrowserL", "shortDescription": {"text": "Legacy-named symbol `BrowserLeftPanelLegacy` in redisinsight/ui/src/pages/browser/components/browser-left-panel/BrowserLeftPanelLegacy.tsx:47"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ba63d90402a8ed1", "name": "Commented-code block (9 lines) in redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/consum", "shortDescription": {"text": "Commented-code block (9 lines) in redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/consumers-view/ConsumersViewWrapper.tsx:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b127dc3f6e2acc49", "name": "Commented-code block (9 lines) in redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/groups", "shortDescription": {"text": "Commented-code block (9 lines) in redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/groups-view/GroupsViewWrapper.tsx:146"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b40cc22752585931", "name": "Commented-code block (5 lines) in redisinsight/ui/src/pages/browser/modules/key-details/components/vector-set-details/ho", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/pages/browser/modules/key-details/components/vector-set-details/hooks/useSimilaritySearch/useSimilaritySearch.ts:56"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-347ccde00efec929", "name": "Commented-code block (5 lines) in redisinsight/ui/src/services/workbenchStorage.ts:37", "shortDescription": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/services/workbenchStorage.ts:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e9d320ba1de45348", "name": "Commented-code block (7 lines) in .github/generate-build-summary.js:68", "shortDescription": {"text": "Commented-code block (7 lines) in .github/generate-build-summary.js:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-faffef9368bf785d", "name": "Commented-code block (7 lines) in configs/webpack.config.main.prod.ts:40", "shortDescription": {"text": "Commented-code block (7 lines) in configs/webpack.config.main.prod.ts:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ddf78ade659f5ab", "name": "Frontend route `/azure-auth-callback` has no Link/navigate to it \u2014 redisinsight/ui/src/App.tsx", "shortDescription": {"text": "Frontend route `/azure-auth-callback` has no Link/navigate to it \u2014 redisinsight/ui/src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f71b653abdb4968", "name": "Frontend route `/not-found` has no Link/navigate to it \u2014 redisinsight/ui/src/pages/instance/InstancePageRouter.spec.tsx", "shortDescription": {"text": "Frontend route `/not-found` has no Link/navigate to it \u2014 redisinsight/ui/src/pages/instance/InstancePageRouter.spec.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-314d2c25ea398c31", "name": "Frontend route `/:instanceId/vector-search` has no Link/navigate to it \u2014 redisinsight/ui/src/pages/vector-search/compone", "shortDescription": {"text": "Frontend route `/:instanceId/vector-search` has no Link/navigate to it \u2014 redisinsight/ui/src/pages/vector-search/components/keys-browser/components/Footer.stories.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-512ccb0fd0b230ba", "name": "Unused endpoint: GET /settings", "shortDescription": {"text": "Unused endpoint: GET /settings"}, "fullDescription": {"text": "`redisinsight/api/src/modules/settings/settings.controller.ts` declares `GET /settings` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a33f71ee347bec1d", "name": "Unused endpoint: GET /settings/agreements/spec", "shortDescription": {"text": "Unused endpoint: GET /settings/agreements/spec"}, "fullDescription": {"text": "`redisinsight/api/src/modules/settings/settings.controller.ts` declares `GET /settings/agreements/spec` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-689e4ffd880f570d", "name": "Unused endpoint: PATCH /settings", "shortDescription": {"text": "Unused endpoint: PATCH /settings"}, "fullDescription": {"text": "`redisinsight/api/src/modules/settings/settings.controller.ts` declares `PATCH /settings` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bdade6089b936f7b", "name": "Unused endpoint: POST /redis-enterprise/cluster/get-databases", "shortDescription": {"text": "Unused endpoint: POST /redis-enterprise/cluster/get-databases"}, "fullDescription": {"text": "`redisinsight/api/src/modules/redis-enterprise/redis-enterprise.controller.ts` declares `POST /redis-enterprise/cluster/get-databases` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-62931ae0f85e47fc", "name": "Unused endpoint: POST /redis-enterprise/cluster/databases", "shortDescription": {"text": "Unused endpoint: POST /redis-enterprise/cluster/databases"}, "fullDescription": {"text": "`redisinsight/api/src/modules/redis-enterprise/redis-enterprise.controller.ts` declares `POST /redis-enterprise/cluster/databases` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38d4e7aa69f1f0fa", "name": "Unused endpoint: PATCH /notifications/read", "shortDescription": {"text": "Unused endpoint: PATCH /notifications/read"}, "fullDescription": {"text": "`redisinsight/api/src/modules/notification/notification.controller.ts` declares `PATCH /notifications/read` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df6b80b8d7feee49", "name": "Unused endpoint: POST /redis-sentinel/get-databases", "shortDescription": {"text": "Unused endpoint: POST /redis-sentinel/get-databases"}, "fullDescription": {"text": "`redisinsight/api/src/modules/redis-sentinel/redis-sentinel.controller.ts` declares `POST /redis-sentinel/get-databases` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c535d7d5f5a9e39", "name": "Unused endpoint: POST /redis-sentinel/databases", "shortDescription": {"text": "Unused endpoint: POST /redis-sentinel/databases"}, "fullDescription": {"text": "`redisinsight/api/src/modules/redis-sentinel/redis-sentinel.controller.ts` declares `POST /redis-sentinel/databases` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6a2ead44dae38e8", "name": "Unused endpoint: POST /ai/assistant/chats/", "shortDescription": {"text": "Unused endpoint: POST /ai/assistant/chats/"}, "fullDescription": {"text": "`redisinsight/api/src/modules/ai/chat/ai-chat.controller.ts` declares `POST /ai/assistant/chats/` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-36126cecc511db78", "name": "Unused endpoint: GET /ai/assistant/chats/:id", "shortDescription": {"text": "Unused endpoint: GET /ai/assistant/chats/:id"}, "fullDescription": {"text": "`redisinsight/api/src/modules/ai/chat/ai-chat.controller.ts` declares `GET /ai/assistant/chats/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6934b2f8d2723156", "name": "Unused endpoint: POST /ai/assistant/chats/:id/messages", "shortDescription": {"text": "Unused endpoint: POST /ai/assistant/chats/:id/messages"}, "fullDescription": {"text": "`redisinsight/api/src/modules/ai/chat/ai-chat.controller.ts` declares `POST /ai/assistant/chats/:id/messages` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f36b250ac6b08a96", "name": "Unused endpoint: DELETE /ai/assistant/chats/:id", "shortDescription": {"text": "Unused endpoint: DELETE /ai/assistant/chats/:id"}, "fullDescription": {"text": "`redisinsight/api/src/modules/ai/chat/ai-chat.controller.ts` declares `DELETE /ai/assistant/chats/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8329d84d7b6c0c7c", "name": "Unused endpoint: POST /auth", "shortDescription": {"text": "Unused endpoint: POST /auth"}, "fullDescription": {"text": "`redisinsight/api/src/modules/ai/chat/providers/conv-ai.provider.ts` declares `POST /auth` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-afc064028ae39ea9", "name": "Unused endpoint: GET /history", "shortDescription": {"text": "Unused endpoint: GET /history"}, "fullDescription": {"text": "`redisinsight/api/src/modules/ai/chat/providers/conv-ai.provider.ts` declares `GET /history` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cff8da5fbc19c76d", "name": "Unused endpoint: POST /chat", "shortDescription": {"text": "Unused endpoint: POST /chat"}, "fullDescription": {"text": "`redisinsight/api/src/modules/ai/chat/providers/conv-ai.provider.ts` declares `POST /chat` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a7a776760f85a3e7", "name": "Unused endpoint: POST /reset", "shortDescription": {"text": "Unused endpoint: POST /reset"}, "fullDescription": {"text": "`redisinsight/api/src/modules/ai/chat/providers/conv-ai.provider.ts` declares `POST /reset` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84224e0c8421bc80", "name": "Unused endpoint: POST /analytics/send-event", "shortDescription": {"text": "Unused endpoint: POST /analytics/send-event"}, "fullDescription": {"text": "`redisinsight/api/src/modules/analytics/analytics.controller.ts` declares `POST /analytics/send-event` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-462404d077b16677", "name": "Unused endpoint: POST /analytics/send-page", "shortDescription": {"text": "Unused endpoint: POST /analytics/send-page"}, "fullDescription": {"text": "`redisinsight/api/src/modules/analytics/analytics.controller.ts` declares `POST /analytics/send-page` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0a69cf8252ed30e8", "name": "Unused endpoint: GET /slow-logs", "shortDescription": {"text": "Unused endpoint: GET /slow-logs"}, "fullDescription": {"text": "`redisinsight/api/src/modules/slow-log/slow-log.controller.ts` declares `GET /slow-logs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5fa649753a4e821d", "name": "Unused endpoint: DELETE /slow-logs", "shortDescription": {"text": "Unused endpoint: DELETE /slow-logs"}, "fullDescription": {"text": "`redisinsight/api/src/modules/slow-log/slow-log.controller.ts` declares `DELETE /slow-logs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1430ef9b362edab9", "name": "Unused endpoint: GET /slow-logs/config", "shortDescription": {"text": "Unused endpoint: GET /slow-logs/config"}, "fullDescription": {"text": "`redisinsight/api/src/modules/slow-log/slow-log.controller.ts` declares `GET /slow-logs/config` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-08915a7a15cec272", "name": "Unused endpoint: PATCH /slow-logs/config", "shortDescription": {"text": "Unused endpoint: PATCH /slow-logs/config"}, "fullDescription": {"text": "`redisinsight/api/src/modules/slow-log/slow-log.controller.ts` declares `PATCH /slow-logs/config` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3bf4bcaa28d03ad", "name": "Unused endpoint: POST /cli", "shortDescription": {"text": "Unused endpoint: POST /cli"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cli/controllers/cli.controller.ts` declares `POST /cli` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7858147d3e6dea7c", "name": "Unused endpoint: POST /cli/:uuid/send-command", "shortDescription": {"text": "Unused endpoint: POST /cli/:uuid/send-command"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cli/controllers/cli.controller.ts` declares `POST /cli/:uuid/send-command` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc5bf8d766b83f20", "name": "Unused endpoint: POST /cli/:uuid/send-cluster-command", "shortDescription": {"text": "Unused endpoint: POST /cli/:uuid/send-cluster-command"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cli/controllers/cli.controller.ts` declares `POST /cli/:uuid/send-cluster-command` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f98b6d2fd6b8b4e", "name": "Unused endpoint: DELETE /cli/:uuid", "shortDescription": {"text": "Unused endpoint: DELETE /cli/:uuid"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cli/controllers/cli.controller.ts` declares `DELETE /cli/:uuid` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-473bda1c80970506", "name": "Unused endpoint: PATCH /cli/:uuid", "shortDescription": {"text": "Unused endpoint: PATCH /cli/:uuid"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cli/controllers/cli.controller.ts` declares `PATCH /cli/:uuid` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6df77def0e6254da", "name": "Unused endpoint: POST /pub-sub/messages", "shortDescription": {"text": "Unused endpoint: POST /pub-sub/messages"}, "fullDescription": {"text": "`redisinsight/api/src/modules/pub-sub/pub-sub.controller.ts` declares `POST /pub-sub/messages` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90391038f8848257", "name": "Unused endpoint: GET /query-library/:id", "shortDescription": {"text": "Unused endpoint: GET /query-library/:id"}, "fullDescription": {"text": "`redisinsight/api/src/modules/query-library/query-library.controller.ts` declares `GET /query-library/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2eba657e3a0d9865", "name": "Unused endpoint: PATCH /query-library/:id", "shortDescription": {"text": "Unused endpoint: PATCH /query-library/:id"}, "fullDescription": {"text": "`redisinsight/api/src/modules/query-library/query-library.controller.ts` declares `PATCH /query-library/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a8dff1cd217d89ba", "name": "Unused endpoint: DELETE /query-library/:id", "shortDescription": {"text": "Unused endpoint: DELETE /query-library/:id"}, "fullDescription": {"text": "`redisinsight/api/src/modules/query-library/query-library.controller.ts` declares `DELETE /query-library/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc2d629a2a42b0db", "name": "Unused endpoint: POST /query-library/seed", "shortDescription": {"text": "Unused endpoint: POST /query-library/seed"}, "fullDescription": {"text": "`redisinsight/api/src/modules/query-library/query-library.controller.ts` declares `POST /query-library/seed` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4fbdebf93155ee76", "name": "Unused endpoint: GET /certificates/ca", "shortDescription": {"text": "Unused endpoint: GET /certificates/ca"}, "fullDescription": {"text": "`redisinsight/api/src/modules/certificate/ca-certificate.controller.ts` declares `GET /certificates/ca` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0512864a3f327572", "name": "Unused endpoint: DELETE /certificates/ca/:id", "shortDescription": {"text": "Unused endpoint: DELETE /certificates/ca/:id"}, "fullDescription": {"text": "`redisinsight/api/src/modules/certificate/ca-certificate.controller.ts` declares `DELETE /certificates/ca/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ec8d025d0103a09", "name": "Unused endpoint: GET /certificates/client", "shortDescription": {"text": "Unused endpoint: GET /certificates/client"}, "fullDescription": {"text": "`redisinsight/api/src/modules/certificate/client-certificate.controller.ts` declares `GET /certificates/client` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8941e19c63da5efe", "name": "Unused endpoint: DELETE /certificates/client/:id", "shortDescription": {"text": "Unused endpoint: DELETE /certificates/client/:id"}, "fullDescription": {"text": "`redisinsight/api/src/modules/certificate/client-certificate.controller.ts` declares `DELETE /certificates/client/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`redisinsight/api/src/modules/database-settings/database-settings.controller.ts` declares `GET /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a009b1a56794f45", "name": "Unused endpoint: POST /", "shortDescription": {"text": "Unused endpoint: POST /"}, "fullDescription": {"text": "`redisinsight/api/src/modules/database-settings/database-settings.controller.ts` declares `POST /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b30f4c0994a30b4", "name": "Unused endpoint: DELETE /", "shortDescription": {"text": "Unused endpoint: DELETE /"}, "fullDescription": {"text": "`redisinsight/api/src/modules/database-settings/database-settings.controller.ts` declares `DELETE /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-693c601619b960e2", "name": "Unused endpoint: GET /cloud/autodiscovery/account", "shortDescription": {"text": "Unused endpoint: GET /cloud/autodiscovery/account"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/autodiscovery/cloud.autodiscovery.controller.ts` declares `GET /cloud/autodiscovery/account` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-196ee286d37852da", "name": "Unused endpoint: GET /cloud/autodiscovery/subscriptions", "shortDescription": {"text": "Unused endpoint: GET /cloud/autodiscovery/subscriptions"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/autodiscovery/cloud.autodiscovery.controller.ts` declares `GET /cloud/autodiscovery/subscriptions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd85e20d6e0ecff8", "name": "Unused endpoint: POST /cloud/autodiscovery/get-databases", "shortDescription": {"text": "Unused endpoint: POST /cloud/autodiscovery/get-databases"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/autodiscovery/cloud.autodiscovery.controller.ts` declares `POST /cloud/autodiscovery/get-databases` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf3e5fda5d801d05", "name": "Unused endpoint: POST /cloud/autodiscovery/databases", "shortDescription": {"text": "Unused endpoint: POST /cloud/autodiscovery/databases"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/autodiscovery/cloud.autodiscovery.controller.ts` declares `POST /cloud/autodiscovery/databases` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e96dfe71c6beabba", "name": "Unused endpoint: GET /cloud/me/autodiscovery/account", "shortDescription": {"text": "Unused endpoint: GET /cloud/me/autodiscovery/account"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/autodiscovery/me.cloud.autodiscovery.controller.ts` declares `GET /cloud/me/autodiscovery/account` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cc134d3dce0d449", "name": "Unused endpoint: GET /cloud/me/autodiscovery/subscriptions", "shortDescription": {"text": "Unused endpoint: GET /cloud/me/autodiscovery/subscriptions"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/autodiscovery/me.cloud.autodiscovery.controller.ts` declares `GET /cloud/me/autodiscovery/subscriptions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8ddc32c72e46410", "name": "Unused endpoint: POST /cloud/me/autodiscovery/get-databases", "shortDescription": {"text": "Unused endpoint: POST /cloud/me/autodiscovery/get-databases"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/autodiscovery/me.cloud.autodiscovery.controller.ts` declares `POST /cloud/me/autodiscovery/get-databases` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2fcb42e17e989416", "name": "Unused endpoint: POST /cloud/me/autodiscovery/databases", "shortDescription": {"text": "Unused endpoint: POST /cloud/me/autodiscovery/databases"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/autodiscovery/me.cloud.autodiscovery.controller.ts` declares `POST /cloud/me/autodiscovery/databases` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1560b30f9ad3f106", "name": "Unused endpoint: GET /cloud/oauth/callback", "shortDescription": {"text": "Unused endpoint: GET /cloud/oauth/callback"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/auth/cloud-auth.controller.ts` declares `GET /cloud/oauth/callback` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a741ec731833d07", "name": "Unused endpoint: GET /cloud/me/capi-keys", "shortDescription": {"text": "Unused endpoint: GET /cloud/me/capi-keys"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/capi-key/cloud-capi-key.controller.ts` declares `GET /cloud/me/capi-keys` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac40bfb475f01bc0", "name": "Unused endpoint: DELETE /cloud/me/capi-keys/:id", "shortDescription": {"text": "Unused endpoint: DELETE /cloud/me/capi-keys/:id"}, "fullDescription": {"text": "`redisinsight/api/src/modules/cloud/capi-key/cloud-capi-key.controller.ts` declares `DELETE /cloud/me/capi-keys/:id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/18066"}, "properties": {"repository": "redis/RedisInsight", "repoUrl": "https://github.com/redis/RedisInsight", "branch": "main"}, "results": [{"ruleId": "scanner-65e4cb31c85eb9a9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 tests/e2e-playwright/tests/parallel/databases/encryption/encryption.spec.ts:13"}, "properties": {"repobilityId": "81ea90006b4762dc", "scanner": "scanner-primary", "fingerprint": "65e4cb31c85eb9a9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ec74b382bf7a887f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/fixtures/base.ts:88"}, "properties": {"repobilityId": "aabec6b0fdbc593c", "scanner": "scanner-primary", "fingerprint": "ec74b382bf7a887f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3032fca51965977", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/browser.teardown.ts:10"}, "properties": {"repobilityId": "a5fe8aae3f466b96", "scanner": "scanner-primary", "fingerprint": "e3032fca51965977", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7275680cafe94662", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/browser.setup.ts:11"}, "properties": {"repobilityId": "0645711f08555a16", "scanner": "scanner-primary", "fingerprint": "7275680cafe94662", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7cbd7d879ae1b867", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/electron.teardown.ts:11"}, "properties": {"repobilityId": "1d08bf15851feebc", "scanner": "scanner-primary", "fingerprint": "7cbd7d879ae1b867", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9886bdc950666268", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e-playwright/setup/electron.setup.ts:11"}, "properties": {"repobilityId": "094b304a60f35163", "scanner": "scanner-primary", "fingerprint": "9886bdc950666268", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b7659f89e7d5e8a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch-jira-tickets.js:241"}, "properties": {"repobilityId": "e67b0bc34fd612cc", "scanner": "scanner-primary", "fingerprint": "9b7659f89e7d5e8a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0ba85840dceae5e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-api-client.js:17"}, "properties": {"repobilityId": "c624949a3771acfc", "scanner": "scanner-primary", "fingerprint": "a0ba85840dceae5e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-291a5b2cd148ba6a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-native-modules-linux.js:95"}, "properties": {"repobilityId": "8b1e0f7273929303", "scanner": "scanner-primary", "fingerprint": "291a5b2cd148ba6a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a72d41b976741728", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-version.js:88"}, "properties": {"repobilityId": "bfcb644289d2ee29", "scanner": "scanner-primary", "fingerprint": "a72d41b976741728", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97d5756cb34e0aa0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ts-error-check.ts:174"}, "properties": {"repobilityId": "50853e6dd7af6a79", "scanner": "scanner-primary", "fingerprint": "97d5756cb34e0aa0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d965bfe5a479184", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/hash/POST-databases-id-hash-get_fields.test.ts:20"}, "properties": {"repobilityId": "5258d47422d52935", "scanner": "scanner-primary", "fingerprint": "8d965bfe5a479184", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6d999bd50f42da0a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/hash/DELETE-databases-id-hash-fields.test.ts:24"}, "properties": {"repobilityId": "9f0e8fbd13d4fe7f", "scanner": "scanner-primary", "fingerprint": "6d999bd50f42da0a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2e06ed2a93d1d640", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/z-set/PATCH-databases-id-zSet.test.ts:24"}, "properties": {"repobilityId": "591f4442fb79e04b", "scanner": "scanner-primary", "fingerprint": "2e06ed2a93d1d640", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-982c88f93272aed1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/z-set/DELETE-databases-id-zSet-members.test.ts:23"}, "properties": {"repobilityId": "f9971dcab64b0d2a", "scanner": "scanner-primary", "fingerprint": "982c88f93272aed1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-644bfc0340e275f2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/z-set/POST-databases-id-zSet.test.ts:27"}, "properties": {"repobilityId": "5f652895b9dce5f4", "scanner": "scanner-primary", "fingerprint": "644bfc0340e275f2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-95eb1a43ef400a3a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/_init/WS-notifications-global-sync.test.ts:46"}, "properties": {"repobilityId": "feba1eb279282d6b", "scanner": "scanner-primary", "fingerprint": "95eb1a43ef400a3a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-97ad17654918e791", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/ai/assistant/POST-ai-assistant-chats-id-messages.test.ts:28"}, "properties": {"repobilityId": "ea4ac1405a628b56", "scanner": "scanner-primary", "fingerprint": "97ad17654918e791", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c9f2c8473d58f8e2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/enterprise/POST-redis-enterprise-cluster-get_dbs.test.ts:7"}, "properties": {"repobilityId": "0c5c3ee8f8b61e22", "scanner": "scanner-primary", "fingerprint": "c9f2c8473d58f8e2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d078542219473377", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/custom-tutorials/POST-custom-tutorials.test.ts:125"}, "properties": {"repobilityId": "51a8660a7f995ffe", "scanner": "scanner-primary", "fingerprint": "d078542219473377", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0f7dcca0fb8e5069", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/list/DELETE-databases-id-list-elements.test.ts:25"}, "properties": {"repobilityId": "f2d726c3d850d0a3", "scanner": "scanner-primary", "fingerprint": "0f7dcca0fb8e5069", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2a61a742b9c81437", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/list/POST-databases-id-list-get_elements.test.ts:23"}, "properties": {"repobilityId": "1abeaaed60149698", "scanner": "scanner-primary", "fingerprint": "2a61a742b9c81437", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b4654b0fc59b054e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/cli/POST-databases-id-cli-uuid-send_command.test.ts:606"}, "properties": {"repobilityId": "352c66c4e7378292", "scanner": "scanner-primary", "fingerprint": "b4654b0fc59b054e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-87e84ad753445d95", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/sentinel/POST-redis_sentinel-databases.test.ts:119"}, "properties": {"repobilityId": "241b654fdd0509d3", "scanner": "scanner-primary", "fingerprint": "87e84ad753445d95", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5c54086ac41b5c80", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/string/PUT-databases-id-string.test.ts:240"}, "properties": {"repobilityId": "564fffb537d992b7", "scanner": "scanner-primary", "fingerprint": "5c54086ac41b5c80", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f6c0b97929fa1802", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/cloud/autodiscovery/POST-cloud-autodiscovery-get_databases.test.ts:35"}, "properties": {"repobilityId": "b4f495dfd3daf572", "scanner": "scanner-primary", "fingerprint": "f6c0b97929fa1802", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-80a7e24627cf0489", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/ws/pub-sub/pub-sub.test.ts:308"}, "properties": {"repobilityId": "238c537676a9663a", "scanner": "scanner-primary", "fingerprint": "80a7e24627cf0489", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-01d6810f6d8811ea", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-clone-id.test.ts:342"}, "properties": {"repobilityId": "01274be3572e3bd5", "scanner": "scanner-primary", "fingerprint": "01d6810f6d8811ea", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-236bf0751c205bd1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-test.test.ts:158"}, "properties": {"repobilityId": "91a350db5153fa8b", "scanner": "scanner-primary", "fingerprint": "236bf0751c205bd1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-87d067f9d65ad7ab", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases.test.ts:153"}, "properties": {"repobilityId": "c90bd9a0d5587d04", "scanner": "scanner-primary", "fingerprint": "87d067f9d65ad7ab", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-639f93434dc4cbb1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-test-id.test.ts:46"}, "properties": {"repobilityId": "255e5d78a9f75c20", "scanner": "scanner-primary", "fingerprint": "639f93434dc4cbb1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-68396e8e060d69b4", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/PATCH-databases-id.test.ts:606"}, "properties": {"repobilityId": "741d80d5817a4367", "scanner": "scanner-primary", "fingerprint": "68396e8e060d69b4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c599a277d744004c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database/POST-databases-export.test.ts:220"}, "properties": {"repobilityId": "e0a14ea9d3d9c820", "scanner": "scanner-primary", "fingerprint": "c599a277d744004c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-098a69bf1f4ff150", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.test.ts:466"}, "properties": {"repobilityId": "a13493ded8a3cfa2", "scanner": "scanner-primary", "fingerprint": "098a69bf1f4ff150", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f4ed47523a5db13c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/keys/POST-databases-id-keys.test.ts:35"}, "properties": {"repobilityId": "a95f6a6b696c656b", "scanner": "scanner-primary", "fingerprint": "f4ed47523a5db13c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-aabf71e06210fe66", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/keys/DELETE-databases-id-keys.test.ts:105"}, "properties": {"repobilityId": "8c984faee3cfeeee", "scanner": "scanner-primary", "fingerprint": "aabf71e06210fe66", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7c7e1305efcaf34e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/rejson-rl/PATCH-databases-id-rejson_rl-arrappend.test.ts:126"}, "properties": {"repobilityId": "235c4bee7d4b0950", "scanner": "scanner-primary", "fingerprint": "7c7e1305efcaf34e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a7a0ba7183920c50", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/rejson-rl/POST-databases-id-rejson_rl-get.test.ts:233"}, "properties": {"repobilityId": "3f7ad6a6e92e7d67", "scanner": "scanner-primary", "fingerprint": "a7a0ba7183920c50", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-35f22e17954d0fea", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/bulk-actions/POST-databases-id-bulk_actions-import-tutorial_data.test.ts:38"}, "properties": {"repobilityId": "0bb634bc9ff62a58", "scanner": "scanner-primary", "fingerprint": "35f22e17954d0fea", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2a2906de8b85a83f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/set/DELETE-databases-id-set-members.test.ts:24"}, "properties": {"repobilityId": "23efc24cd22c9dc1", "scanner": "scanner-primary", "fingerprint": "2a2906de8b85a83f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a47d56c48ba029ee", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/set/POST-databases-id-set-get_members.test.ts:24"}, "properties": {"repobilityId": "85248c8e9d8e529a", "scanner": "scanner-primary", "fingerprint": "a47d56c48ba029ee", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a4a4c37e2864cf30", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/api/database-analysis/POST-databases-id-analysis.test.ts:21"}, "properties": {"repobilityId": "979a752ebd693256", "scanner": "scanner-primary", "fingerprint": "a4a4c37e2864cf30", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-03876af41d5929da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/test/helpers/cloud.ts:55"}, "properties": {"repobilityId": "e11507281da6a0d8", "scanner": "scanner-primary", "fingerprint": "03876af41d5929da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ab342f4449c34f5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/test/helpers/test.ts:130"}, "properties": {"repobilityId": "aa1f319db2d20ff9", "scanner": "scanner-primary", "fingerprint": "3ab342f4449c34f5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a9308067d71b3073", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/scripts/default-commands.ts:14"}, "properties": {"repobilityId": "72385fd8740184bf", "scanner": "scanner-primary", "fingerprint": "a9308067d71b3073", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-22db89c5bf82bfe2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/scripts/postinstall-generate-client.js:21"}, "properties": {"repobilityId": "9a0d61d98e17af49", "scanner": "scanner-primary", "fingerprint": "22db89c5bf82bfe2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2a9d3c3629dff39c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/common/transformers/redis-string/redis-string-to-ascii.transformer.ts:11"}, "properties": {"repobilityId": "b2ce277d6650841f", "scanner": "scanner-primary", "fingerprint": "2a9d3c3629dff39c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5a6d7ad8d9b318b8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/constants/recommendations.ts:2"}, "properties": {"repobilityId": "511b1bcdc7acafef", "scanner": "scanner-primary", "fingerprint": "5a6d7ad8d9b318b8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f0b536ce33bf24f8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/__mocks__/redis-client.ts:31"}, "properties": {"repobilityId": "07cbaa794feffb4a", "scanner": "scanner-primary", "fingerprint": "f0b536ce33bf24f8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-de9ac6391cb1b213", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/catch-redis-errors.ts:126"}, "properties": {"repobilityId": "efe7419b7a6455ce", "scanner": "scanner-primary", "fingerprint": "de9ac6391cb1b213", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-dab6e2fa25e4854f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/cli-helper.ts:80"}, "properties": {"repobilityId": "2a7cbe4febc7244d", "scanner": "scanner-primary", "fingerprint": "dab6e2fa25e4854f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-47ef516def44e26c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/hosting-provider-helper.ts:122"}, "properties": {"repobilityId": "9308312339c8ecd4", "scanner": "scanner-primary", "fingerprint": "47ef516def44e26c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0bffe6822b89d1a9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/utils/cli-helper.spec.ts:392"}, "properties": {"repobilityId": "7f46dc5e342e8f06", "scanner": "scanner-primary", "fingerprint": "0bffe6822b89d1a9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2ff87173cab7e905", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/src/utils/cli-helper.spec.ts:386"}, "properties": {"repobilityId": "d5c1dc3be9b6e01a", "scanner": "scanner-primary", "fingerprint": "2ff87173cab7e905", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c7e54c468ce2cba4", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis-enterprise/redis-enterprise.service.ts:40"}, "properties": {"repobilityId": "9be31e39c3d0de23", "scanner": "scanner-primary", "fingerprint": "c7e54c468ce2cba4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4577c02de15018a8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/recommendation/recommendation.service.ts:10"}, "properties": {"repobilityId": "510742f1dcefff0d", "scanner": "scanner-primary", "fingerprint": "4577c02de15018a8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3cf86ee69892fb8b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/notification/notification.gateway.ts:42"}, "properties": {"repobilityId": "7ed1a57805656613", "scanner": "scanner-primary", "fingerprint": "3cf86ee69892fb8b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f21ac5d2e6eb6fc4", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/notification/repositories/local.notification.repository.ts:25"}, "properties": {"repobilityId": "a06e5b7d752925fe", "scanner": "scanner-primary", "fingerprint": "f21ac5d2e6eb6fc4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ef094b30ec63d1a3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/ai/query/utils/context.util.ts:9"}, "properties": {"repobilityId": "2392eb968c31d256", "scanner": "scanner-primary", "fingerprint": "ef094b30ec63d1a3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-46ee99d076cd2ff7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/ai/query/repositories/local.ai-query.message.repository.ts:42"}, "properties": {"repobilityId": "55bcaa054b2b1f00", "scanner": "scanner-primary", "fingerprint": "46ee99d076cd2ff7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-39ac6045d4bf72c0", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/encryption/encryption.module.ts:20"}, "properties": {"repobilityId": "9047bfbb0a38e78e", "scanner": "scanner-primary", "fingerprint": "39ac6045d4bf72c0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7423fa858e9831d1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/encryption/encryption.service.ts:59"}, "properties": {"repobilityId": "8a4bf5a0165c8fe1", "scanner": "scanner-primary", "fingerprint": "7423fa858e9831d1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-61ac667cf1409884", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/encryption/model.encryptor.ts:45"}, "properties": {"repobilityId": "04f70c8651cd4f2a", "scanner": "scanner-primary", "fingerprint": "61ac667cf1409884", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-af1f630a8180ffe3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/ca-certificate.service.ts:31"}, "properties": {"repobilityId": "91aded1d8660f20e", "scanner": "scanner-primary", "fingerprint": "af1f630a8180ffe3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5a026964469dabce", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/client-certificate.service.ts:35"}, "properties": {"repobilityId": "95ff29d93b83a0aa", "scanner": "scanner-primary", "fingerprint": "5a026964469dabce", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e7af9b939439374e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.ca-certificate.repository.ts:69"}, "properties": {"repobilityId": "e330dcfb15251752", "scanner": "scanner-primary", "fingerprint": "e7af9b939439374e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ca52074c231660be", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.ca-certificate.repository.spec.ts:109"}, "properties": {"repobilityId": "f41b3d278d819252", "scanner": "scanner-primary", "fingerprint": "ca52074c231660be", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5f43369b7c1e222f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.client-certificate.repository.spec.ts:118"}, "properties": {"repobilityId": "c9efc287b1c86c09", "scanner": "scanner-primary", "fingerprint": "5f43369b7c1e222f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f7c45744730099b2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/certificate/repositories/local.client-certificate.repository.ts:70"}, "properties": {"repobilityId": "dd082a37f4be6bc1", "scanner": "scanner-primary", "fingerprint": "f7c45744730099b2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2280f2eec75adb0d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/auth/cloud-auth.service.ts:176"}, "properties": {"repobilityId": "7adc6290ea96e097", "scanner": "scanner-primary", "fingerprint": "2280f2eec75adb0d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-51af2c2f4683f57b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/auth/cloud-auth.service.spec.ts:234"}, "properties": {"repobilityId": "c8ce8c534ee2e5bd", "scanner": "scanner-primary", "fingerprint": "51af2c2f4683f57b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-17d5022a7ac2f265", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/user/cloud-user.api.service.ts:192"}, "properties": {"repobilityId": "9fcd97422266b3d3", "scanner": "scanner-primary", "fingerprint": "17d5022a7ac2f265", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0dd5245899df86eb", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/job/exceptions/cloud-job-unexpected-error.exception.ts:19"}, "properties": {"repobilityId": "30b844204a9982ad", "scanner": "scanner-primary", "fingerprint": "0dd5245899df86eb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ac224dac82a66de3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/cloud/job/jobs/import-free-database.cloud-job.ts:71"}, "properties": {"repobilityId": "f9d792b78ebfe84b", "scanner": "scanner-primary", "fingerprint": "ac224dac82a66de3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-1ea242208302f4ff", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/profiler/models/redis.observer.ts:48"}, "properties": {"repobilityId": "9bdae980601bf8b4", "scanner": "scanner-primary", "fingerprint": "1ea242208302f4ff", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b35223a6858a1826", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/profiler/models/log-file.spec.ts:64"}, "properties": {"repobilityId": "73a63ac6fc308bcf", "scanner": "scanner-primary", "fingerprint": "b35223a6858a1826", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d58179c3053a7b66", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/profiler/providers/redis-observer.provider.ts:49"}, "properties": {"repobilityId": "db2bf000d8241ffe", "scanner": "scanner-primary", "fingerprint": "d58179c3053a7b66", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-94d839a6767e7ba6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/redis.client.storage.spec.ts:453"}, "properties": {"repobilityId": "c1af6bd5d327a4cf", "scanner": "scanner-primary", "fingerprint": "94d839a6767e7ba6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-244acd73dedd5ec9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/local.redis.client.factory.ts:32"}, "properties": {"repobilityId": "7429c0b0c57ea558", "scanner": "scanner-primary", "fingerprint": "244acd73dedd5ec9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f5af56280ff757b9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/redis.client.factory.ts:193"}, "properties": {"repobilityId": "fc399dcf9b9e4227", "scanner": "scanner-primary", "fingerprint": "f5af56280ff757b9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-53001100a0c1cc11", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/client/redis.client.ts:260"}, "properties": {"repobilityId": "0396cb38de0614f4", "scanner": "scanner-primary", "fingerprint": "53001100a0c1cc11", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-dace8cf9d2236adf", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/client/node-redis/node-redis.client.ts:43"}, "properties": {"repobilityId": "70cef2d5169ad342", "scanner": "scanner-primary", "fingerprint": "dace8cf9d2236adf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-db01df1fcf5d3aee", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/client/ioredis/ioredis.client.ts:100"}, "properties": {"repobilityId": "8e800ce8f64f3743", "scanner": "scanner-primary", "fingerprint": "db01df1fcf5d3aee", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-06338eef0c9d6154", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/connection/node.redis.connection.strategy.ts:104"}, "properties": {"repobilityId": "c07cd9ffe62d05fa", "scanner": "scanner-primary", "fingerprint": "06338eef0c9d6154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b503107543a0b851", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/redis/utils/sentinel.util.ts:52"}, "properties": {"repobilityId": "00977197c9e30e6c", "scanner": "scanner-primary", "fingerprint": "b503107543a0b851", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d0988d9e03b333db", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/database.module.ts:62"}, "properties": {"repobilityId": "e96a983eb604ecea", "scanner": "scanner-primary", "fingerprint": "d0988d9e03b333db", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9c0adbffce253e10", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/database.service.ts:198"}, "properties": {"repobilityId": "8c361b89f4db7e71", "scanner": "scanner-primary", "fingerprint": "9c0adbffce253e10", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a14e561c845d31ec", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/providers/database.factory.spec.ts:224"}, "properties": {"repobilityId": "889077c5d9b36729", "scanner": "scanner-primary", "fingerprint": "a14e561c845d31ec", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-221b30a9800e1e40", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database/repositories/stack.databases.repository.ts:56"}, "properties": {"repobilityId": "4335962dcbb42cc3", "scanner": "scanner-primary", "fingerprint": "221b30a9800e1e40", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ecb6d0447ed18195", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/workbench/workbench.service.ts:162"}, "properties": {"repobilityId": "156495a99201fcce", "scanner": "scanner-primary", "fingerprint": "ecb6d0447ed18195", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d7e5723683987a37", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/workbench/repositories/local-command-execution.repository.ts:49"}, "properties": {"repobilityId": "9d40de263083c8db", "scanner": "scanner-primary", "fingerprint": "d7e5723683987a37", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-408abb003112bc67", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/feature/local.features-config.service.ts:48"}, "properties": {"repobilityId": "e853a0500c306641", "scanner": "scanner-primary", "fingerprint": "408abb003112bc67", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a16b46853f044576", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/feature/local.feature.service.ts:91"}, "properties": {"repobilityId": "4bdb4c25aea4ed66", "scanner": "scanner-primary", "fingerprint": "a16b46853f044576", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-46d823d3d25df8ef", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/feature/providers/feature-flag/strategies/feature.flag.strategy.ts:81"}, "properties": {"repobilityId": "94719f053e2605c8", "scanner": "scanner-primary", "fingerprint": "46d823d3d25df8ef", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5df260c1e81f60ee", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database-import/database-import.service.ts:137"}, "properties": {"repobilityId": "5ac53221d47e41a6", "scanner": "scanner-primary", "fingerprint": "5df260c1e81f60ee", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-97435dbf391c0938", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.ts:75"}, "properties": {"repobilityId": "3ef3be523e627479", "scanner": "scanner-primary", "fingerprint": "97435dbf391c0938", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-1eeab6f985f0499a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.ts:41"}, "properties": {"repobilityId": "fbf7cea39d114551", "scanner": "scanner-primary", "fingerprint": "1eeab6f985f0499a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ae41dc6eac1aae39", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/client/api/v2/responses/pipeline.responses.ts:4"}, "properties": {"repobilityId": "9a1147d5284decf1", "scanner": "scanner-primary", "fingerprint": "ae41dc6eac1aae39", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-122360a58375a84f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/client/api/v1/transformers/statistics.transformers.ts:181"}, "properties": {"repobilityId": "29ba9b9038b36275", "scanner": "scanner-primary", "fingerprint": "122360a58375a84f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b4be96b311198c03", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/models/rdi-pipeline.ts:8"}, "properties": {"repobilityId": "c24dcaed3761ad19", "scanner": "scanner-primary", "fingerprint": "b4be96b311198c03", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-aae17cca93e9981e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/models/rdi-dry-run.ts:9"}, "properties": {"repobilityId": "40a6fa0c28b8b982", "scanner": "scanner-primary", "fingerprint": "aae17cca93e9981e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b4a76f04159e76de", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/rdi/providers/rdi.client.factory.ts:20"}, "properties": {"repobilityId": "11a784ad45b9279e", "scanner": "scanner-primary", "fingerprint": "b4a76f04159e76de", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2f0e521fc52fd919", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database-recommendation/scanner/strategies/search-JSON.strategy.ts:23"}, "properties": {"repobilityId": "72fc944057b86deb", "scanner": "scanner-primary", "fingerprint": "2f0e521fc52fd919", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d3da516f17d18ee6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/bulk-actions/bulk-actions.analytics.spec.ts:112"}, "properties": {"repobilityId": "03fdc3db13151b72", "scanner": "scanner-primary", "fingerprint": "d3da516f17d18ee6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f420cc8d40290d0c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/bulk-actions/providers/bulk-actions.provider.ts:63"}, "properties": {"repobilityId": "8eb21b2c1fc6b25c", "scanner": "scanner-primary", "fingerprint": "f420cc8d40290d0c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a1af49289b9c59f7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/database-analysis/providers/database-analysis.provider.ts:145"}, "properties": {"repobilityId": "fb357bb2347223f3", "scanner": "scanner-primary", "fingerprint": "a1af49289b9c59f7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5968657b3cae8cb6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/hash/hash.service.ts:108"}, "properties": {"repobilityId": "f5b5ab74a9b2f542", "scanner": "scanner-primary", "fingerprint": "5968657b3cae8cb6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-dc3991f02521cde9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/hash/hash.service.spec.ts:406"}, "properties": {"repobilityId": "7189bcbffb2d4f05", "scanner": "scanner-primary", "fingerprint": "dc3991f02521cde9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ab7c392a7465edac", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/z-set/z-set.service.spec.ts:618"}, "properties": {"repobilityId": "7c7ff8163bc3ff75", "scanner": "scanner-primary", "fingerprint": "ab7c392a7465edac", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b9f2650802cbc923", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/redisearch/dto/search.redisearch.dto.ts:31"}, "properties": {"repobilityId": "a2f996b405305f87", "scanner": "scanner-primary", "fingerprint": "b9f2650802cbc923", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a5a85e5e1abba3f7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.ts:410"}, "properties": {"repobilityId": "556cc38e17cec9a0", "scanner": "scanner-primary", "fingerprint": "a5a85e5e1abba3f7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-475ee0d8d701124f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/browser-history/repositories/local.browser-history.repository.ts:154"}, "properties": {"repobilityId": "c9d2634d028eab6b", "scanner": "scanner-primary", "fingerprint": "475ee0d8d701124f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2ed24421f6e709e1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/api/src/modules/browser/set/set.service.spec.ts:254"}, "properties": {"repobilityId": "f0870b710e2b7a69", "scanner": "scanner-primary", "fingerprint": "2ed24421f6e709e1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-92f64598bd9ca382", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/config/default.ts:57"}, "properties": {"repobilityId": "1dd5e009d523cc59", "scanner": "scanner-primary", "fingerprint": "92f64598bd9ca382", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0fdbb0d03faa3e01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/slices/browser/rejson.ts:277"}, "properties": {"repobilityId": "5501658811fde013", "scanner": "scanner-primary", "fingerprint": "0fdbb0d03faa3e01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8785d5651489d951", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/constants/keyboardShortcuts.tsx:4"}, "properties": {"repobilityId": "1d83e7cc7fe399a1", "scanner": "scanner-primary", "fingerprint": "8785d5651489d951", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5e5ccb7a758c3f46", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/commands.ts:67"}, "properties": {"repobilityId": "fa470474fdcb225c", "scanner": "scanner-primary", "fingerprint": "5e5ccb7a758c3f46", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-18e11d25774088cc", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/tests/decompressors/decompressors.spec.ts:132"}, "properties": {"repobilityId": "57019e2b7f1cea06", "scanner": "scanner-primary", "fingerprint": "18e11d25774088cc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-79309210fd010214", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 redisinsight/ui/src/utils/tests/formatters/markdown/remarkSanitize.spec.ts:19"}, "properties": {"repobilityId": "cedd82ff9138395e", "scanner": "scanner-primary", "fingerprint": "79309210fd010214", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-c9eb7d03e9196489", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/monaco/monacoRedisMonarchTokensProvider.ts:85"}, "properties": {"repobilityId": "534ed29349f97ae2", "scanner": "scanner-primary", "fingerprint": "c9eb7d03e9196489", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fddc292acace4db0", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/utils/oauth/cloudSsoUtm.tsx:49"}, "properties": {"repobilityId": "93b26dc8db6e389a", "scanner": "scanner-primary", "fingerprint": "fddc292acace4db0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0d9b9324f44e254d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/charts/bar-chart/BarChart.tsx:182"}, "properties": {"repobilityId": "698e1c661452bba4", "scanner": "scanner-primary", "fingerprint": "0d9b9324f44e254d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f12df68c449ae2cb", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/layout/page/page-heading.styles.ts:75"}, "properties": {"repobilityId": "856b1b306ad20f75", "scanner": "scanner-primary", "fingerprint": "f12df68c449ae2cb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-03a430e7b9c9363c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/layout/page/page.styles.ts:85"}, "properties": {"repobilityId": "d9ba0cfa23e4c6c5", "scanner": "scanner-primary", "fingerprint": "03a430e7b9c9363c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c67fb54cc16cd28a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/display/accordion/RiAccordion.tsx:10"}, "properties": {"repobilityId": "c9330966192293d4", "scanner": "scanner-primary", "fingerprint": "c67fb54cc16cd28a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e374d840a9bdc629", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/theme/index.ts:2"}, "properties": {"repobilityId": "a835e615e198c7a2", "scanner": "scanner-primary", "fingerprint": "e374d840a9bdc629", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9459f2789e944969", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/link/link.types.ts:3"}, "properties": {"repobilityId": "d1f862d2c475f81d", "scanner": "scanner-primary", "fingerprint": "9459f2789e944969", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4d138fab0aecd616", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/popover/RiPopover.tsx:73"}, "properties": {"repobilityId": "f9ec0d83b2bfba19", "scanner": "scanner-primary", "fingerprint": "4d138fab0aecd616", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b8e685fa29f962d3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/icons/RiIcon.tsx:26"}, "properties": {"repobilityId": "4cb82fc685da643e", "scanner": "scanner-primary", "fingerprint": "b8e685fa29f962d3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5c613b2e9e8496f9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/base/forms/combo-box/AutoTag.tsx:141"}, "properties": {"repobilityId": "88393ba405bca68b", "scanner": "scanner-primary", "fingerprint": "5c613b2e9e8496f9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e0d186b0a27d11a8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/rdi-deploy-error-content/RdiDeployErrorContent.tsx:50"}, "properties": {"repobilityId": "49af1e5f9fa53735", "scanner": "scanner-primary", "fingerprint": "e0d186b0a27d11a8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-957f1acd9bde58cc", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMessages.tsx:274"}, "properties": {"repobilityId": "7c6aafb09e45a768", "scanner": "scanner-primary", "fingerprint": "957f1acd9bde58cc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b2f89d8daf1a0eae", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/encryption-error-content/EncryptionErrorContent.tsx:19"}, "properties": {"repobilityId": "0fb7904dc2792845", "scanner": "scanner-primary", "fingerprint": "b2f89d8daf1a0eae", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-430db17b4ba4ef55", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/notifications/components/default-error-content/DefaultErrorContent.tsx:8"}, "properties": {"repobilityId": "15c519acd1880cd7", "scanner": "scanner-primary", "fingerprint": "430db17b4ba4ef55", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-761751106948314a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/components/code-block/CodeBlock.stories.tsx:15"}, "properties": {"repobilityId": "a6255984b2c14560", "scanner": "scanner-primary", "fingerprint": "761751106948314a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c733776feb6fca9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/triggers/insights-trigger/InsightsTrigger.styles.ts:11"}, "properties": {"repobilityId": "45ffd2b0bfb4860e", "scanner": "scanner-primary", "fingerprint": "7c733776feb6fca9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7f057711032f5ac6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/triggers/copilot-trigger/CopilotTrigger.styles.ts:16"}, "properties": {"repobilityId": "529e8db8513420e5", "scanner": "scanner-primary", "fingerprint": "7f057711032f5ac6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9c74207db73e2c94", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/database-list-options/DatabaseListOptions.styles.ts:23"}, "properties": {"repobilityId": "7b57dbbc6fb52407", "scanner": "scanner-primary", "fingerprint": "9c74207db73e2c94", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-751b8e24c39abc4a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/group-badge/GroupBadge.tsx:19"}, "properties": {"repobilityId": "adabde37918ee33a", "scanner": "scanner-primary", "fingerprint": "751b8e24c39abc4a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5dbad720f60b0c86", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/auto-refresh/AutoRefresh.tsx:250"}, "properties": {"repobilityId": "ab40988e91cac2b7", "scanner": "scanner-primary", "fingerprint": "5dbad720f60b0c86", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2d82da59278bcce9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/oauth/oauth-sso/oauth-autodiscovery/OAuthAutodiscovery.tsx:124"}, "properties": {"repobilityId": "d59649f3116e4a5c", "scanner": "scanner-primary", "fingerprint": "2d82da59278bcce9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-239bb660afb85d8c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/bottom-group-components/components/bottom-group-minimized/ButtonGroupMinimized.styles.ts:18"}, "properties": {"repobilityId": "b8f5d0c6ae078666", "scanner": "scanner-primary", "fingerprint": "239bb660afb85d8c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6ccb936bac9b66a3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/query/hooks/useMonacoRedisEditor.ts:44"}, "properties": {"repobilityId": "4d9752672c09c101", "scanner": "scanner-primary", "fingerprint": "6ccb936bac9b66a3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-1073d0d5e07a7db6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/instance-header/components/ShortInstanceInfo.styles.ts:7"}, "properties": {"repobilityId": "d1e5886d91b95421", "scanner": "scanner-primary", "fingerprint": "1073d0d5e07a7db6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-cb9e884c48fc6066", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/monaco-editor/MonacoEditor.tsx:119"}, "properties": {"repobilityId": "9e1ad635296333e2", "scanner": "scanner-primary", "fingerprint": "cb9e884c48fc6066", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8383b3e5b135a1a8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/EnablementArea.tsx:179"}, "properties": {"repobilityId": "d55e7a9884e92871", "scanner": "scanner-primary", "fingerprint": "8383b3e5b135a1a8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0fc12810ac20bbc8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/InternalPage/InternalPage.tsx:139"}, "properties": {"repobilityId": "4593a51c7ab63772", "scanner": "scanner-primary", "fingerprint": "0fc12810ac20bbc8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-91a7b3927ced0259", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/packages/ri-explain/src/parser.ts:190"}, "properties": {"repobilityId": "270df8d2884287ef", "scanner": "scanner-primary", "fingerprint": "91a7b3927ced0259", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-920e79211aba9945", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/packages/redisgraph/src/graphd3.ts:1289"}, "properties": {"repobilityId": "ff2611e23e468568", "scanner": "scanner-primary", "fingerprint": "920e79211aba9945", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d868ccb76c3e297a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/packages/redisgraph/src/Graph.tsx:84"}, "properties": {"repobilityId": "f83f58dbef095c59", "scanner": "scanner-primary", "fingerprint": "d868ccb76c3e297a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-97789795ce3c1c9d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/pub-sub/components/subscribe-information/SubscribeInformation.styles.tsx:10"}, "properties": {"repobilityId": "f60918e0bfbabbad", "scanner": "scanner-primary", "fingerprint": "97789795ce3c1c9d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4e4b260b4e279670", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/pub-sub/components/patternsInfo/PatternsInfo.styles.tsx:9"}, "properties": {"repobilityId": "ebad86781b3ccf47", "scanner": "scanner-primary", "fingerprint": "4e4b260b4e279670", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-244cb2700d3b4b18", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/workbench/utils/suggestions.ts:235"}, "properties": {"repobilityId": "8bcd0849770bd456", "scanner": "scanner-primary", "fingerprint": "244cb2700d3b4b18", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7cf9b0d895e08806", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/workbench/utils/tests/test-cases/common.ts:134"}, "properties": {"repobilityId": "cca448e781de94e2", "scanner": "scanner-primary", "fingerprint": "7cf9b0d895e08806", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5ce62bb9ddb20dcd", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/workbench/components/wb-view/WBViewWrapper.tsx:243"}, "properties": {"repobilityId": "22392f21a4063555", "scanner": "scanner-primary", "fingerprint": "5ce62bb9ddb20dcd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9de304dffcede52c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/home/components/form/KeyFormatSelector.tsx:35"}, "properties": {"repobilityId": "1efb53e5edb8108f", "scanner": "scanner-primary", "fingerprint": "9de304dffcede52c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-283ea8ee5a0e6bc4", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/home/components/form/DatabaseForm.spec.tsx:153"}, "properties": {"repobilityId": "e9ffabbfab4d5008", "scanner": "scanner-primary", "fingerprint": "283ea8ee5a0e6bc4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8a43dbb60a089cc2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionForm.spec.tsx:42"}, "properties": {"repobilityId": "78b91b02a6b93d81", "scanner": "scanner-primary", "fingerprint": "8a43dbb60a089cc2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-1459406b4012861f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/rdi/pipeline-management/components/navigation/cards/jobs/JobNameForm.tsx:22"}, "properties": {"repobilityId": "1579f7c157b8050f", "scanner": "scanner-primary", "fingerprint": "1459406b4012861f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ddd46277d575452a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/rdi/statistics/StatisticsPage.tsx:130"}, "properties": {"repobilityId": "688f827405da627a", "scanner": "scanner-primary", "fingerprint": "ddd46277d575452a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b91fa87830b6ccae", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/vector-search/constants/notifications.ts:49"}, "properties": {"repobilityId": "7bb2daed9519e3d9", "scanner": "scanner-primary", "fingerprint": "b91fa87830b6ccae", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d5512b6a5c8f692f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/vector-search/utils/generateFtCreateCommand.ts:1"}, "properties": {"repobilityId": "4debb9193629619c", "scanner": "scanner-primary", "fingerprint": "d5512b6a5c8f692f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f4901e3d194b1e1e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/pages/vector-search/components/field-type-modal/FieldTypeModal.stories.tsx:59"}, "properties": {"repobilityId": "9a4ca90bec8d1441", "scanner": "scanner-primary", "fingerprint": "f4901e3d194b1e1e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c473ac8e1656d53", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/pages/vector-search/components/pick-sample-data-modal/PickSampleDataModal.stories.tsx:42"}, "properties": {"repobilityId": "c40d63715301d32e", "scanner": "scanner-primary", "fingerprint": "4c473ac8e1656d53", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5420a2f5f785c9cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/ui/src/pages/vector-search/components/index-list/IndexList.stories.tsx:72"}, "properties": {"repobilityId": "4d38ffebdb9497bb", "scanner": "scanner-primary", "fingerprint": "5420a2f5f785c9cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b24ef13285e69bff", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/vector-search/context/create-index-page/CreateIndexPageContext.types.ts:19"}, "properties": {"repobilityId": "daf77743ab6816ee", "scanner": "scanner-primary", "fingerprint": "b24ef13285e69bff", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-885bbb296a615269", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/components/keys-header/KeysHeader.tsx:150"}, "properties": {"repobilityId": "8ed7812f13936766", "scanner": "scanner-primary", "fingerprint": "885bbb296a615269", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a2be70e63de21be3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/components/key-list/KeyList.spec.tsx:151"}, "properties": {"repobilityId": "8ce94d83794f03f7", "scanner": "scanner-primary", "fingerprint": "a2be70e63de21be3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7ea747585949c1f7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/components/bulk-actions/BulkDelete/BulkDeleteFooter/BulkDeleteFooter.tsx:149"}, "properties": {"repobilityId": "06977337f9826015", "scanner": "scanner-primary", "fingerprint": "7ea747585949c1f7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4920ceee0742b34e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/pages/browser/modules/key-details-header/components/key-details-header-name/KeyDetailsHeaderName.tsx:196"}, "properties": {"repobilityId": "b80a9b64917dae1f", "scanner": "scanner-primary", "fingerprint": "4920ceee0742b34e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-28811500e94a81be", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/services/resourcesService.ts:31"}, "properties": {"repobilityId": "d7869455a626d247", "scanner": "scanner-primary", "fingerprint": "28811500e94a81be", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-eafd98c5cc5b40aa", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/ui/src/styles/globalStyles.ts:10"}, "properties": {"repobilityId": "ab2f526f850a5ab2", "scanner": "scanner-primary", "fingerprint": "eafd98c5cc5b40aa", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2ca0bb33bdbe4a86", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/desktop/index.ts:11"}, "properties": {"repobilityId": "c6cff07bf4e26cf0", "scanner": "scanner-primary", "fingerprint": "2ca0bb33bdbe4a86", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9a17d8a452622757", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/desktop/src/utils/wrapErrorSensitiveData.ts:3"}, "properties": {"repobilityId": "81daa8dfe7fae3a0", "scanner": "scanner-primary", "fingerprint": "9a17d8a452622757", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f72f2921ad7b96f6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 redisinsight/desktop/src/utils/resolveHtmlPath.ts:27"}, "properties": {"repobilityId": "8a864ff8284df484", "scanner": "scanner-primary", "fingerprint": "f72f2921ad7b96f6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-583113dee1d22091", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 redisinsight/desktop/src/lib/extensions/extensions.ts:21"}, "properties": {"repobilityId": "ffd87dddfdac1a9e", "scanner": "scanner-primary", "fingerprint": "583113dee1d22091", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-67f2d7ca61e565b9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 .github/generate-build-summary.js:68"}, "properties": {"repobilityId": "ef4d0dc106f46485", "scanner": "scanner-primary", "fingerprint": "67f2d7ca61e565b9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9968a8b7dac7cc24", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .github/generate-build-summary.js:124"}, "properties": {"repobilityId": "3247fde59fa13f2b", "scanner": "scanner-primary", "fingerprint": "9968a8b7dac7cc24", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eaeb774407a3099d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 .github/generate-checksums-summary.js:20"}, "properties": {"repobilityId": "9d501276f8017b29", "scanner": "scanner-primary", "fingerprint": "eaeb774407a3099d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b91ef4b1c0fc7bd0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .github/generate-checksums-summary.js:75"}, "properties": {"repobilityId": "ea6356917db90c17", "scanner": "scanner-primary", "fingerprint": "b91ef4b1c0fc7bd0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e87aabe0aba1755", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .github/deps-licenses-report.js:21"}, "properties": {"repobilityId": "f12ffe6e56af6418", "scanner": "scanner-primary", "fingerprint": "5e87aabe0aba1755", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-838af49f6272c7da", "level": "warning", "message": {"text": "Privileged port 211 in use"}, "properties": {"repobilityId": "96bea2caaed34736", "scanner": "scanner-primary", "fingerprint": "838af49f6272c7da", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7/cluster-create.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c81fdb97c8950836", "level": "warning", "message": {"text": "Privileged port 212 in use"}, "properties": {"repobilityId": "e8292faa56e11ddc", "scanner": "scanner-primary", "fingerprint": "c81fdb97c8950836", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7/cluster-create.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-54245a1f108b904d", "level": "warning", "message": {"text": "Privileged port 213 in use"}, "properties": {"repobilityId": "45a29110a691a0ea", "scanner": "scanner-primary", "fingerprint": "54245a1f108b904d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7/cluster-create.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a7430fc976b1477", "level": "warning", "message": {"text": "Privileged port 221 in use"}, "properties": {"repobilityId": "a85ee51fbfde33b0", "scanner": "scanner-primary", "fingerprint": "1a7430fc976b1477", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-rs/cluster-rs-create.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-356a48ebc4f5a822", "level": "warning", "message": {"text": "Privileged port 222 in use"}, "properties": {"repobilityId": "cadb43b08c2674bd", "scanner": "scanner-primary", "fingerprint": "356a48ebc4f5a822", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-rs/cluster-rs-create.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5bf9b220e972cc7f", "level": "warning", "message": {"text": "Privileged port 223 in use"}, "properties": {"repobilityId": "9e937e802eb2ee64", "scanner": "scanner-primary", "fingerprint": "5bf9b220e972cc7f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-rs/cluster-rs-create.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d7580faabd15865c", "level": "warning", "message": {"text": "Privileged port 231 in use"}, "properties": {"repobilityId": "a72b71ad211a2b62", "scanner": "scanner-primary", "fingerprint": "d7580faabd15865c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-hostname/cluster-create.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92db0195398ba3a4", "level": "warning", "message": {"text": "Privileged port 232 in use"}, "properties": {"repobilityId": "63a597dbbb5fd8d7", "scanner": "scanner-primary", "fingerprint": "92db0195398ba3a4", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-hostname/cluster-create.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fbaeb1cc42a00380", "level": "warning", "message": {"text": "Privileged port 233 in use"}, "properties": {"repobilityId": "1217fc1066070b1e", "scanner": "scanner-primary", "fingerprint": "fbaeb1cc42a00380", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-hostname/cluster-create.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9cbb0e0a0d4ac3db", "level": "warning", "message": {"text": "Privileged port 135 in use"}, "properties": {"repobilityId": "034402d382d67b92", "scanner": "scanner-primary", "fingerprint": "9cbb0e0a0d4ac3db", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.spec.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c767bfcd79aebdef", "level": "warning", "message": {"text": "Privileged port 445 in use"}, "properties": {"repobilityId": "9514b2dc748a2c66", "scanner": "scanner-primary", "fingerprint": "c767bfcd79aebdef", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.spec.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3291b9e0b726cf9c", "level": "warning", "message": {"text": "Privileged port 808 in use"}, "properties": {"repobilityId": "517272659889627a", "scanner": "scanner-primary", "fingerprint": "3291b9e0b726cf9c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.spec.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f1c29e268f02e5d", "level": "warning", "message": {"text": "Privileged port 123 in use"}, "properties": {"repobilityId": "117e44ea15d0bedc", "scanner": "scanner-primary", "fingerprint": "1f1c29e268f02e5d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/utils/tests/comparisons/diff.spec.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-924eb787c0c6411d", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:24.16.0-alpine"}, "properties": {"repobilityId": "764b867d8df3febf", "scanner": "scanner-primary", "fingerprint": "924eb787c0c6411d", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-924eb787c0c6411d", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:24.16.0-alpine"}, "properties": {"repobilityId": "5d90c7be8dc9c234", "scanner": "scanner-primary", "fingerprint": "924eb787c0c6411d", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-eb3267907aa2c5b4", "level": "warning", "message": {"text": "Dockerfile runs as root: tests/e2e/rte/redis-enterprise/Dockerfile"}, "properties": {"repobilityId": "2245e13f70f6c535", "scanner": "scanner-primary", "fingerprint": "eb3267907aa2c5b4", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-c67aa68ddd2ab856", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:8.0.2-17"}, "properties": {"repobilityId": "1c4a39e0b1107f04", "scanner": "scanner-primary", "fingerprint": "c67aa68ddd2ab856", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/redis-enterprise/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ea5285e32305348b", "level": "warning", "message": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-cluster-7/Dockerfile"}, "properties": {"repobilityId": "e2799b4e8dcf6799", "scanner": "scanner-primary", "fingerprint": "ea5285e32305348b", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-9ad553ce510b61bd", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/rejson:1.0.8"}, "properties": {"repobilityId": "06965a20309b7e79", "scanner": "scanner-primary", "fingerprint": "9ad553ce510b61bd", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4175fab3bd5c74fd", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redisearch:2.0.13"}, "properties": {"repobilityId": "866d1e71ac198edd", "scanner": "scanner-primary", "fingerprint": "4175fab3bd5c74fd", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-5b95f2ed523f564c", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:7.0.0"}, "properties": {"repobilityId": "628085278f12d67b", "scanner": "scanner-primary", "fingerprint": "5b95f2ed523f564c", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7/Dockerfile"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-d084b61839e76f4f", "level": "warning", "message": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-cluster-7-rs/Dockerfile"}, "properties": {"repobilityId": "b78a573946ed9281", "scanner": "scanner-primary", "fingerprint": "d084b61839e76f4f", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-4edd041b3df920aa", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/rejson:1.0.8"}, "properties": {"repobilityId": "34154be2b3098c10", "scanner": "scanner-primary", "fingerprint": "4edd041b3df920aa", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-rs/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7de2cea90ab4c6f", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:7.0.8"}, "properties": {"repobilityId": "af1ad1bb17dde230", "scanner": "scanner-primary", "fingerprint": "f7de2cea90ab4c6f", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-rs/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-400f04ed63430120", "level": "warning", "message": {"text": "Dockerfile ADD downloads remote content without checksum"}, "properties": {"repobilityId": "6df0dd6bbabd97f1", "scanner": "scanner-primary", "fingerprint": "400f04ed63430120", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "checksum"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-rs/Dockerfile"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-efc04605e8383e7a", "level": "warning", "message": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-cluster-7-hostname/Dockerfile"}, "properties": {"repobilityId": "61bda7e2737db676", "scanner": "scanner-primary", "fingerprint": "efc04605e8383e7a", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-d16184ff261e7760", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:7.0.0"}, "properties": {"repobilityId": "0507cc70d0945c13", "scanner": "scanner-primary", "fingerprint": "d16184ff261e7760", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-cluster-7-hostname/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d123a987c6e139b7", "level": "warning", "message": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-standalone-tls/Dockerfile"}, "properties": {"repobilityId": "2afc1dfa101f9802", "scanner": "scanner-primary", "fingerprint": "d123a987c6e139b7", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-d9451870f8ab132b", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.0.8"}, "properties": {"repobilityId": "2c71a13a7c12ffd9", "scanner": "scanner-primary", "fingerprint": "d9451870f8ab132b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-standalone-tls/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f5ee9bd57e381fb", "level": "warning", "message": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-sentinel/Dockerfile"}, "properties": {"repobilityId": "937ac033fec9c613", "scanner": "scanner-primary", "fingerprint": "2f5ee9bd57e381fb", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-69c2724611adba20", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:5"}, "properties": {"repobilityId": "8440018e89fdec42", "scanner": "scanner-primary", "fingerprint": "69c2724611adba20", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-sentinel/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c10f7444a8dafdbc", "level": "warning", "message": {"text": "Dockerfile runs as root: tests/e2e/rte/oss-standalone-big/Dockerfile"}, "properties": {"repobilityId": "6d54d98be2aa10f7", "scanner": "scanner-primary", "fingerprint": "c10f7444a8dafdbc", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-83fb2ec3f11eca9c", "level": "warning", "message": {"text": "Docker base image uses a mutable or implicit tag: redislabs/redismod"}, "properties": {"repobilityId": "091c13a7f89e3dee", "scanner": "scanner-primary", "fingerprint": "83fb2ec3f11eca9c", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e/rte/oss-standalone-big/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-301c3c0f340676c3", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/re-crdt/Dockerfile"}, "properties": {"repobilityId": "bd6ef6c6bb840395", "scanner": "scanner-primary", "fingerprint": "301c3c0f340676c3", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-2cd904e06d90a707", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:6.2.8-50"}, "properties": {"repobilityId": "04664a82ef4273e1", "scanner": "scanner-primary", "fingerprint": "2cd904e06d90a707", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/re-crdt/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0f2fd7c12bbab7b5", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-sent-tls-auth/Dockerfile"}, "properties": {"repobilityId": "c2ec3d669066db00", "scanner": "scanner-primary", "fingerprint": "0f2fd7c12bbab7b5", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-5ba6ba06cd9e2cc4", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:6.2.6-alpine"}, "properties": {"repobilityId": "78716c940ea5b5b2", "scanner": "scanner-primary", "fingerprint": "5ba6ba06cd9e2cc4", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-sent-tls-auth/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-18249b6bd3cf0b51", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/re-clu/Dockerfile"}, "properties": {"repobilityId": "dd18c803dc0de70e", "scanner": "scanner-primary", "fingerprint": "18249b6bd3cf0b51", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-da7979bd75dbbe42", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:6.2.8-50"}, "properties": {"repobilityId": "7834e9d7159dd871", "scanner": "scanner-primary", "fingerprint": "da7979bd75dbbe42", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/re-clu/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bc3afec8f2ba395a", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-sent/Dockerfile"}, "properties": {"repobilityId": "0d0e786a10e8dadf", "scanner": "scanner-primary", "fingerprint": "bc3afec8f2ba395a", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-dfe7e29d0a4ef9a2", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:6.2.6-alpine"}, "properties": {"repobilityId": "4bfb069b79cd181e", "scanner": "scanner-primary", "fingerprint": "dfe7e29d0a4ef9a2", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-sent/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd27df4e13fe7a6d", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-clu/Dockerfile"}, "properties": {"repobilityId": "5cf7c0ee368ce5d8", "scanner": "scanner-primary", "fingerprint": "cd27df4e13fe7a6d", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-d2395fdb8a95c1c1", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis-cluster:6.2.6"}, "properties": {"repobilityId": "546887de425448a2", "scanner": "scanner-primary", "fingerprint": "d2395fdb8a95c1c1", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-clu/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f059e6159a1332c2", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/re-st/Dockerfile"}, "properties": {"repobilityId": "c131a4a23a76f01c", "scanner": "scanner-primary", "fingerprint": "f059e6159a1332c2", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-4f797e2019b1f9aa", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redis:6.2.8-50"}, "properties": {"repobilityId": "ae82e02ea3957c7b", "scanner": "scanner-primary", "fingerprint": "4f797e2019b1f9aa", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/re-st/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ebd9ca262ffbabb", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-clu-tls/Dockerfile"}, "properties": {"repobilityId": "16ae1861b0723a47", "scanner": "scanner-primary", "fingerprint": "4ebd9ca262ffbabb", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-3ee1d18249750277", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis-cluster:6.0.8"}, "properties": {"repobilityId": "e14cbb71c4d385bf", "scanner": "scanner-primary", "fingerprint": "3ee1d18249750277", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-clu-tls/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9317ac24f6749384", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-6-tls-auth/Dockerfile"}, "properties": {"repobilityId": "da8358c6518dd61b", "scanner": "scanner-primary", "fingerprint": "9317ac24f6749384", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-11134bd7bdbb3640", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.0.8"}, "properties": {"repobilityId": "d193ec14d0ff47eb", "scanner": "scanner-primary", "fingerprint": "11134bd7bdbb3640", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-6-tls-auth/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e845b4a4d719f393", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-6-tls-auth-ssh/Dockerfile"}, "properties": {"repobilityId": "fd9c8d36bd442fde", "scanner": "scanner-primary", "fingerprint": "e845b4a4d719f393", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-129cc22ee50a9432", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.0.8"}, "properties": {"repobilityId": "b91360ee634ea0d3", "scanner": "scanner-primary", "fingerprint": "129cc22ee50a9432", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-6-tls-auth-ssh/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b514d948bf38343", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-big/Dockerfile"}, "properties": {"repobilityId": "da5999a6ce506b3e", "scanner": "scanner-primary", "fingerprint": "2b514d948bf38343", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-54aec44a9cf0643e", "level": "warning", "message": {"text": "Docker base image uses a mutable or implicit tag: redislabs/redismod"}, "properties": {"repobilityId": "094879a854b3b855", "scanner": "scanner-primary", "fingerprint": "54aec44a9cf0643e", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-big/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e076148ee5e755ff", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-6-tls/Dockerfile"}, "properties": {"repobilityId": "b2cf619a8360e678", "scanner": "scanner-primary", "fingerprint": "e076148ee5e755ff", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-0e3dcc66976e81b8", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: bitnamilegacy/redis:6.2.4"}, "properties": {"repobilityId": "9f803a1a4d6951c5", "scanner": "scanner-primary", "fingerprint": "0e3dcc66976e81b8", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-6-tls/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee4365367838f5ff", "level": "warning", "message": {"text": "Dockerfile runs as root: redisinsight/api/test/test-runs/oss-st-5/Dockerfile"}, "properties": {"repobilityId": "1fc649a885be3e63", "scanner": "scanner-primary", "fingerprint": "ee4365367838f5ff", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-0f8c27119ae0a57e", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/redisearch:1.6.15"}, "properties": {"repobilityId": "8254670ec0b56ebe", "scanner": "scanner-primary", "fingerprint": "0f8c27119ae0a57e", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-5/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8b1fa8987c648c76", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redislabs/rejson:1.0.8"}, "properties": {"repobilityId": "666c30988f82be01", "scanner": "scanner-primary", "fingerprint": "8b1fa8987c648c76", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-5/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-e09714aef5e8cf31", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: redis:5"}, "properties": {"repobilityId": "d9e2f9acb765e66e", "scanner": "scanner-primary", "fingerprint": "e09714aef5e8cf31", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-5/Dockerfile"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-74c18e4b6c2f5aa7", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/re-crdt/.env"}, "properties": {"repobilityId": "df46fee52aed6535", "scanner": "scanner-primary", "fingerprint": "74c18e4b6c2f5aa7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/re-crdt/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cf62b0069b14d03b", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-sent-tls-auth/.env"}, "properties": {"repobilityId": "d79e994df034a527", "scanner": "scanner-primary", "fingerprint": "cf62b0069b14d03b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env", "env_file_with_secret"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-sent-tls-auth/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-87cfb91ffbd45106", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/re-clu/.env"}, "properties": {"repobilityId": "3287b419db3ba414", "scanner": "scanner-primary", "fingerprint": "87cfb91ffbd45106", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/re-clu/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6b5a0df7f0daea70", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-sent/.env"}, "properties": {"repobilityId": "2e60e1ba76c97f9b", "scanner": "scanner-primary", "fingerprint": "6b5a0df7f0daea70", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env", "env_file_with_secret"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-sent/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4158f3097771e5f", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-clu/.env"}, "properties": {"repobilityId": "a62b9a21173933de", "scanner": "scanner-primary", "fingerprint": "a4158f3097771e5f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-clu/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cadfcb4c6bebd58b", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/re-st/.env"}, "properties": {"repobilityId": "8c96bb77f0d2ee9e", "scanner": "scanner-primary", "fingerprint": "cadfcb4c6bebd58b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/re-st/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b3c3d625d7fb25a1", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-clu-tls/.env"}, "properties": {"repobilityId": "be601d905512749f", "scanner": "scanner-primary", "fingerprint": "b3c3d625d7fb25a1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-clu-tls/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ece03b6861f2f03b", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-5-pass/.env"}, "properties": {"repobilityId": "c4c10a91996b32c5", "scanner": "scanner-primary", "fingerprint": "ece03b6861f2f03b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-5-pass/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7004b71fcc6e52bf", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/cloud-st/.env"}, "properties": {"repobilityId": "89f82e1b5ae3ad54", "scanner": "scanner-primary", "fingerprint": "7004b71fcc6e52bf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/cloud-st/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5671bd5569d1cb87", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-6-tls-auth/.env"}, "properties": {"repobilityId": "6dab146080f4f875", "scanner": "scanner-primary", "fingerprint": "5671bd5569d1cb87", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env", "env_file_with_secret"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-6-tls-auth/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d87133a93b292580", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-6-tls-auth-ssh/.env"}, "properties": {"repobilityId": "30482f2370411ff2", "scanner": "scanner-primary", "fingerprint": "d87133a93b292580", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env", "env_file_with_secret"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-6-tls-auth-ssh/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb5a7eea1d928627", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-big/.env"}, "properties": {"repobilityId": "50c85b609dcdf668", "scanner": "scanner-primary", "fingerprint": "cb5a7eea1d928627", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-big/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f72c86fe227a725", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/api/test/test-runs/oss-st-6-tls/.env"}, "properties": {"repobilityId": "833149049fb82844", "scanner": "scanner-primary", "fingerprint": "2f72c86fe227a725", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/oss-st-6-tls/.env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c577191505df5446", "level": "error", "message": {"text": "Runtime dotenv file present in repo: redisinsight/ui/.env.test"}, "properties": {"repobilityId": "6eafe2247b4639ca", "scanner": "scanner-primary", "fingerprint": "c577191505df5446", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/.env.test"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f61ccdfd3eb710d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/generate-api-client.js:14"}, "properties": {"repobilityId": "0008558cbdfb1156", "scanner": "scanner-primary", "fingerprint": "3f61ccdfd3eb710d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate-api-client.js"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-c53ff1fdd92bbca2", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/update-version.js:10"}, "properties": {"repobilityId": "b44dd0293a4fe7ee", "scanner": "scanner-primary", "fingerprint": "c53ff1fdd92bbca2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/update-version.js"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-77d7dbb31947432d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in redisinsight/api/config/default.ts:3"}, "properties": {"repobilityId": "07ef4b2631b65aa5", "scanner": "scanner-primary", "fingerprint": "77d7dbb31947432d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/config/default.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-1c1b1a175dfafdad", "level": "error", "message": {"text": "Possible secret in redisinsight/api/test/test-runs/docker.build.yml"}, "properties": {"repobilityId": "b8a5cb9c91a6c2a0", "scanner": "scanner-primary", "fingerprint": "1c1b1a175dfafdad", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/docker.build.yml"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-1c1b1a175dfafdad", "level": "error", "message": {"text": "Possible secret in redisinsight/api/test/test-runs/docker.build.yml"}, "properties": {"repobilityId": "b8a5cb9c91a6c2a0", "scanner": "scanner-primary", "fingerprint": "1c1b1a175dfafdad", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/test-runs/docker.build.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-9bff790d3c8419d0", "level": "error", "message": {"text": "Possible secret in redisinsight/api/test/helpers/constants.ts"}, "properties": {"repobilityId": "13cf7fd484cbb86f", "scanner": "scanner-primary", "fingerprint": "9bff790d3c8419d0", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/test/helpers/constants.ts"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-2ca96362496f3e6b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in redisinsight/api/scripts/postinstall-generate-client.js:18"}, "properties": {"repobilityId": "271fec3b28259035", "scanner": "scanner-primary", "fingerprint": "2ca96362496f3e6b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/scripts/postinstall-generate-client.js"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-9aa43185df1d03b8", "level": "error", "message": {"text": "Insecure pattern 'private_key_in_repo' in redisinsight/api/src/common/utils/certificate-import.util.ts:7"}, "properties": {"repobilityId": "e543e8acc0495db1", "scanner": "scanner-primary", "fingerprint": "9aa43185df1d03b8", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["owasp", "private_key_in_repo"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/common/utils/certificate-import.util.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-f5d7587ffa68d686", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/constants/recommendations.ts"}, "properties": {"repobilityId": "f5a833c228470720", "scanner": "scanner-primary", "fingerprint": "f5d7587ffa68d686", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/constants/recommendations.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-18866a1c24cf8042", "level": "error", "message": {"text": "Insecure pattern 'private_key_in_repo' in redisinsight/api/src/__mocks__/database-discovery.ts:129"}, "properties": {"repobilityId": "dce4c7303cdc2859", "scanner": "scanner-primary", "fingerprint": "18866a1c24cf8042", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["owasp", "private_key_in_repo"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/__mocks__/database-discovery.ts"}, "region": {"startLine": 129}}}]}, {"ruleId": "scanner-6baae07497031ee3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/__mocks__/redis-enterprise.ts"}, "properties": {"repobilityId": "b4006b5dc12d6f42", "scanner": "scanner-primary", "fingerprint": "6baae07497031ee3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/__mocks__/redis-enterprise.ts"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-cef2df70e366cca7", "level": "error", "message": {"text": "Insecure pattern 'private_key_in_repo' in redisinsight/api/src/__mocks__/certificates.ts:71"}, "properties": {"repobilityId": "36b9f222e1010450", "scanner": "scanner-primary", "fingerprint": "cef2df70e366cca7", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["owasp", "private_key_in_repo"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/__mocks__/certificates.ts"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-d7912ae8fb59abfb", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/__mocks__/encryption.ts"}, "properties": {"repobilityId": "21689335fda601a4", "scanner": "scanner-primary", "fingerprint": "d7912ae8fb59abfb", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/__mocks__/encryption.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-5dc344d08e7d2772", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/__mocks__/rdi.ts"}, "properties": {"repobilityId": "ec5aa87347c0009a", "scanner": "scanner-primary", "fingerprint": "5dc344d08e7d2772", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/__mocks__/rdi.ts"}, "region": {"startLine": 551}}}]}, {"ruleId": "scanner-5dc344d08e7d2772", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/__mocks__/rdi.ts"}, "properties": {"repobilityId": "ec5aa87347c0009a", "scanner": "scanner-primary", "fingerprint": "5dc344d08e7d2772", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/__mocks__/rdi.ts"}, "region": {"startLine": 623}}}]}, {"ruleId": "scanner-904c29c9dafa7467", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/redis-enterprise/redis-enterprise.service.spec.ts"}, "properties": {"repobilityId": "4fbd3dd5ddaa88aa", "scanner": "scanner-primary", "fingerprint": "904c29c9dafa7467", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/redis-enterprise/redis-enterprise.service.spec.ts"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "c55915804ddb9876", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 287}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "c55915804ddb9876", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 307}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "c55915804ddb9876", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 334}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "c55915804ddb9876", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 809}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "c55915804ddb9876", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 824}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 233}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 240}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 243}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 247}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 262}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 286}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 323}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 359}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 774}}}]}, {"ruleId": "scanner-c2952d3b25a131d3", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database/database.service.spec.ts"}, "properties": {"repobilityId": "52047643b858fb27", "scanner": "scanner-primary", "fingerprint": "c2952d3b25a131d3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database/database.service.spec.ts"}, "region": {"startLine": 787}}}]}, {"ruleId": "scanner-f0ba67cde88f58a0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.ts:3"}, "properties": {"repobilityId": "a34a681a8f7f2f67", "scanner": "scanner-primary", "fingerprint": "f0ba67cde88f58a0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-6028cd42d44be361", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.spec.ts:7"}, "properties": {"repobilityId": "cddbe48142811fea", "scanner": "scanner-primary", "fingerprint": "6028cd42d44be361", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database-discovery/utils/autodiscovery.util.spec.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-a273c37ae3fe7b24", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/database-discovery/utils/pre-setup.discovery.util.spec.ts"}, "properties": {"repobilityId": "bb802687fdf7c0d0", "scanner": "scanner-primary", "fingerprint": "a273c37ae3fe7b24", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/database-discovery/utils/pre-setup.discovery.util.spec.ts"}, "region": {"startLine": 277}}}]}, {"ruleId": "scanner-666c7e17ee0b1f06", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.spec.ts"}, "properties": {"repobilityId": "030dad28d111de52", "scanner": "scanner-primary", "fingerprint": "666c7e17ee0b1f06", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/rdi/client/api/v2/api.v2.rdi.client.spec.ts"}, "region": {"startLine": 257}}}]}, {"ruleId": "scanner-b7f938b9b9d7726f", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v2/transformers/metrics-collections.transformer.spec.ts"}, "properties": {"repobilityId": "ea4d019854442008", "scanner": "scanner-primary", "fingerprint": "b7f938b9b9d7726f", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/rdi/client/api/v2/transformers/metrics-collections.transformer.spec.ts"}, "region": {"startLine": 229}}}]}, {"ruleId": "scanner-da6b5b034277ce1d", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v1/transformers/statistics.transformers.spec.ts"}, "properties": {"repobilityId": "89894cbf70aabf44", "scanner": "scanner-primary", "fingerprint": "da6b5b034277ce1d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/rdi/client/api/v1/transformers/statistics.transformers.spec.ts"}, "region": {"startLine": 272}}}]}, {"ruleId": "scanner-da6b5b034277ce1d", "level": "error", "message": {"text": "Possible secret in redisinsight/api/src/modules/rdi/client/api/v1/transformers/statistics.transformers.spec.ts"}, "properties": {"repobilityId": "89894cbf70aabf44", "scanner": "scanner-primary", "fingerprint": "da6b5b034277ce1d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/src/modules/rdi/client/api/v1/transformers/statistics.transformers.spec.ts"}, "region": {"startLine": 346}}}]}, {"ruleId": "scanner-7495a260c579bb25", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in redisinsight/ui/src/utils/monaco/monacoUtils.ts:368"}, "properties": {"repobilityId": "c5916d56f9d67968", "scanner": "scanner-primary", "fingerprint": "7495a260c579bb25", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/utils/monaco/monacoUtils.ts"}, "region": {"startLine": 368}}}]}, {"ruleId": "scanner-05606a285074d975", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/components/input-field-sentinel/InputFieldSentinel.tsx"}, "properties": {"repobilityId": "a7871623455d8e34", "scanner": "scanner-primary", "fingerprint": "05606a285074d975", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/components/input-field-sentinel/InputFieldSentinel.tsx"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-7c2b4967b539590b", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "properties": {"repobilityId": "9b033d796ca0ba9f", "scanner": "scanner-primary", "fingerprint": "7c2b4967b539590b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "region": {"startLine": 220}}}]}, {"ruleId": "scanner-7c2b4967b539590b", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "properties": {"repobilityId": "9b033d796ca0ba9f", "scanner": "scanner-primary", "fingerprint": "7c2b4967b539590b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "region": {"startLine": 272}}}]}, {"ruleId": "scanner-7c2b4967b539590b", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "properties": {"repobilityId": "9b033d796ca0ba9f", "scanner": "scanner-primary", "fingerprint": "7c2b4967b539590b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "region": {"startLine": 322}}}]}, {"ruleId": "scanner-7c2b4967b539590b", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "properties": {"repobilityId": "9b033d796ca0ba9f", "scanner": "scanner-primary", "fingerprint": "7c2b4967b539590b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "region": {"startLine": 373}}}]}, {"ruleId": "scanner-7c2b4967b539590b", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "properties": {"repobilityId": "9b033d796ca0ba9f", "scanner": "scanner-primary", "fingerprint": "7c2b4967b539590b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/components/global-url-handler/GlobalUrlHandler.spec.tsx"}, "region": {"startLine": 424}}}]}, {"ruleId": "scanner-d25f71f2a1362a10", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/pages/home/constants/form.ts"}, "properties": {"repobilityId": "a2c5c2c2aa5b4594", "scanner": "scanner-primary", "fingerprint": "d25f71f2a1362a10", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/pages/home/constants/form.ts"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-2715d5568e60aecf", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/pages/home/components/form/DatabaseForm.spec.tsx"}, "properties": {"repobilityId": "1b5903a71c0957ff", "scanner": "scanner-primary", "fingerprint": "2715d5568e60aecf", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/pages/home/components/form/DatabaseForm.spec.tsx"}, "region": {"startLine": 89}}}]}, {"ruleId": "scanner-76eeeef38213e5c6", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/pages/home/components/cluster-connection/cluster-connection-form/ClusterConnectionForm.tsx"}, "properties": {"repobilityId": "5186903fab37d528", "scanner": "scanner-primary", "fingerprint": "76eeeef38213e5c6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/pages/home/components/cluster-connection/cluster-connection-form/ClusterConnectionForm.tsx"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-05dfb6792cec0e68", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/pages/rdi/home/RdiPage.spec.tsx"}, "properties": {"repobilityId": "58a1a4c726378595", "scanner": "scanner-primary", "fingerprint": "05dfb6792cec0e68", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/pages/rdi/home/RdiPage.spec.tsx"}, "region": {"startLine": 238}}}]}, {"ruleId": "scanner-05dfb6792cec0e68", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/pages/rdi/home/RdiPage.spec.tsx"}, "properties": {"repobilityId": "58a1a4c726378595", "scanner": "scanner-primary", "fingerprint": "05dfb6792cec0e68", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/pages/rdi/home/RdiPage.spec.tsx"}, "region": {"startLine": 299}}}]}, {"ruleId": "scanner-c94afb92bf1f7752", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionForm.spec.tsx"}, "properties": {"repobilityId": "cc14f9935bb2d6d8", "scanner": "scanner-primary", "fingerprint": "c94afb92bf1f7752", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionForm.spec.tsx"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-1e0c56e00b5063f8", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/pages/autodiscover-sentinel/constants/constants.ts"}, "properties": {"repobilityId": "9780621b3767b37d", "scanner": "scanner-primary", "fingerprint": "1e0c56e00b5063f8", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/pages/autodiscover-sentinel/constants/constants.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-1e0c56e00b5063f8", "level": "error", "message": {"text": "Possible secret in redisinsight/ui/src/pages/autodiscover-sentinel/constants/constants.ts"}, "properties": {"repobilityId": "9780621b3767b37d", "scanner": "scanner-primary", "fingerprint": "1e0c56e00b5063f8", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/pages/autodiscover-sentinel/constants/constants.ts"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-8dd3b8d6ad4aa846", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in redisinsight/ui/src/plugins/pluginImport.spec.ts:15"}, "properties": {"repobilityId": "c89dc923a3d4d08b", "scanner": "scanner-primary", "fingerprint": "8dd3b8d6ad4aa846", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/ui/src/plugins/pluginImport.spec.ts"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-d3cdc066a8561df9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in redisinsight/desktop/splash.html:83"}, "properties": {"repobilityId": "fb8c4f10e43550c6", "scanner": "scanner-primary", "fingerprint": "d3cdc066a8561df9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/desktop/splash.html"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-30aef35f55cdb1ed", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in .github/deps-audit-report.js:65"}, "properties": {"repobilityId": "4b5e199f4adb412c", "scanner": "scanner-primary", "fingerprint": "30aef35f55cdb1ed", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/deps-audit-report.js"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-5b0a40a3825bf4e6", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in .github/deps-audit-report.js:2"}, "properties": {"repobilityId": "c2d85d102dc9380a", "scanner": "scanner-primary", "fingerprint": "5b0a40a3825bf4e6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/deps-audit-report.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-9db2ff308a809227", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in .github/deps-licenses-report.js:5"}, "properties": {"repobilityId": "0d8f3a576a036aab", "scanner": "scanner-primary", "fingerprint": "9db2ff308a809227", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/deps-licenses-report.js"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-c70b087d193f3273", "level": "error", "message": {"text": "Insecure pattern 'chmod_777' in .github/workflows/tests-integration.yml:281"}, "properties": {"repobilityId": "d8f08dd9de811934", "scanner": "scanner-primary", "fingerprint": "c70b087d193f3273", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "chmod_777"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-integration.yml"}, "region": {"startLine": 281}}}]}, {"ruleId": "scanner-8595916441f2224c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5e377c6ec3b33b02", "scanner": "scanner-primary", "fingerprint": "8595916441f2224c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/aws-upload-enterprise.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-e1f9fb9f69ebbedd", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f7f216541754d3cd", "scanner": "scanner-primary", "fingerprint": "e1f9fb9f69ebbedd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-integration.yml"}, "region": {"startLine": 122}}}]}, {"ruleId": "scanner-e1f9fb9f69ebbedd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "547f8634f5b2bf95", "scanner": "scanner-primary", "fingerprint": "e1f9fb9f69ebbedd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-integration.yml"}, "region": {"startLine": 129}}}]}, {"ruleId": "scanner-e1f9fb9f69ebbedd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3641515a89708204", "scanner": "scanner-primary", "fingerprint": "e1f9fb9f69ebbedd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-integration.yml"}, "region": {"startLine": 168}}}]}, {"ruleId": "scanner-e1f9fb9f69ebbedd", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "82c727ddcc6d460f", "scanner": "scanner-primary", "fingerprint": "e1f9fb9f69ebbedd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-integration.yml"}, "region": {"startLine": 234}}}]}, {"ruleId": "scanner-e1f9fb9f69ebbedd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0697d122d50bc27b", "scanner": "scanner-primary", "fingerprint": "e1f9fb9f69ebbedd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-integration.yml"}, "region": {"startLine": 264}}}]}, {"ruleId": "scanner-e1f9fb9f69ebbedd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "547f8634f5b2bf95", "scanner": "scanner-primary", "fingerprint": "e1f9fb9f69ebbedd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-integration.yml"}, "region": {"startLine": 271}}}]}, {"ruleId": "scanner-e1f9fb9f69ebbedd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3641515a89708204", "scanner": "scanner-primary", "fingerprint": "e1f9fb9f69ebbedd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-integration.yml"}, "region": {"startLine": 286}}}]}, {"ruleId": "scanner-e1f9fb9f69ebbedd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "88878b1f57be0317", "scanner": "scanner-primary", "fingerprint": "e1f9fb9f69ebbedd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-integration.yml"}, "region": {"startLine": 293}}}]}, {"ruleId": "scanner-1044d1c8d7fbf49d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd3d94c3eb55a8b0", "scanner": "scanner-primary", "fingerprint": "1044d1c8d7fbf49d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-e2e-playwright-docker.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-1044d1c8d7fbf49d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5bc06a9da02156b8", "scanner": "scanner-primary", "fingerprint": "1044d1c8d7fbf49d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-e2e-playwright-docker.yml"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-1044d1c8d7fbf49d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ffd32ab677021252", "scanner": "scanner-primary", "fingerprint": "1044d1c8d7fbf49d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-e2e-playwright-docker.yml"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-6e2ea83d58544530", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a851640a5754ea9f", "scanner": "scanner-primary", "fingerprint": "6e2ea83d58544530", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/manual-build.yml"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-c0daf0d512086d7c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ec8b071368740c28", "scanner": "scanner-primary", "fingerprint": "c0daf0d512086d7c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/compress-images.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-6146d7a6392f605a", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "731259587b6e2e42", "scanner": "scanner-primary", "fingerprint": "6146d7a6392f605a", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/compress-images.yml"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-b2da3fc097b912a3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "927eab2039c7f9f5", "scanner": "scanner-primary", "fingerprint": "b2da3fc097b912a3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/compress-images.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3c7cd7d0b2a6954e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "86dbae845c8db8c5", "scanner": "scanner-primary", "fingerprint": "3c7cd7d0b2a6954e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeql-analysis.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-3c7cd7d0b2a6954e", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a6b859a4c735c94a", "scanner": "scanner-primary", "fingerprint": "3c7cd7d0b2a6954e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeql-analysis.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-3c7cd7d0b2a6954e", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "402d2d9989ba2141", "scanner": "scanner-primary", "fingerprint": "3c7cd7d0b2a6954e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeql-analysis.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-3c7cd7d0b2a6954e", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8711072ab89616b3", "scanner": "scanner-primary", "fingerprint": "3c7cd7d0b2a6954e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeql-analysis.yml"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-c888d466662645c4", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b36e1e00c1766206", "scanner": "scanner-primary", "fingerprint": "c888d466662645c4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pipeline-build-macos.yml"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-c888d466662645c4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "64d6e46dee7c13bd", "scanner": "scanner-primary", "fingerprint": "c888d466662645c4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pipeline-build-macos.yml"}, "region": {"startLine": 112}}}]}, {"ruleId": "scanner-266162aa2c525a31", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "07cd8e59e1c16e8f", "scanner": "scanner-primary", "fingerprint": "266162aa2c525a31", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lint.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-5ca4c078e61c6606", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bf4ebc23ba852750", "scanner": "scanner-primary", "fingerprint": "5ca4c078e61c6606", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/approval-dedupe.yml"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-5ca4c078e61c6606", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bf4ebc23ba852750", "scanner": "scanner-primary", "fingerprint": "5ca4c078e61c6606", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/approval-dedupe.yml"}, "region": {"startLine": 151}}}]}, {"ruleId": "scanner-d21e4b1c64b14892", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0d60442dea0c995f", "scanner": "scanner-primary", "fingerprint": "d21e4b1c64b14892", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/code-coverage.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-d21e4b1c64b14892", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0d60442dea0c995f", "scanner": "scanner-primary", "fingerprint": "d21e4b1c64b14892", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/code-coverage.yml"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-d21e4b1c64b14892", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bcf282ba773bd45b", "scanner": "scanner-primary", "fingerprint": "d21e4b1c64b14892", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/code-coverage.yml"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-79a3e49f21ef6173", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "32e5c77cddc346b5", "scanner": "scanner-primary", "fingerprint": "79a3e49f21ef6173", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/github-release-upload.yml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-6a75a0225b65257e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "035a8d0caa2f09d5", "scanner": "scanner-primary", "fingerprint": "6a75a0225b65257e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/github-release-upload.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fd6bdf426ecbaee9", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a1a16156565951d9", "scanner": "scanner-primary", "fingerprint": "fd6bdf426ecbaee9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pipeline-build-docker.yml"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-fd6bdf426ecbaee9", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fe6830099c7d9799", "scanner": "scanner-primary", "fingerprint": "fd6bdf426ecbaee9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pipeline-build-docker.yml"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-1d989c6dfe6b4cb1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "47e276b97ff205c0", "scanner": "scanner-primary", "fingerprint": "1d989c6dfe6b4cb1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/aws-upload-prod.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-1d989c6dfe6b4cb1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bca74d9f29191779", "scanner": "scanner-primary", "fingerprint": "1d989c6dfe6b4cb1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/aws-upload-prod.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-fc9e13fa01dd7236", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c5958b200809944d", "scanner": "scanner-primary", "fingerprint": "fc9e13fa01dd7236", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/type-check.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-925e2df0bfe63ef5", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e509c12f7df5a737", "scanner": "scanner-primary", "fingerprint": "925e2df0bfe63ef5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-e2e-playwright-v2.yml"}, "region": {"startLine": 140}}}]}, {"ruleId": "scanner-98437c49f75b2464", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1345c81266180da6", "scanner": "scanner-primary", "fingerprint": "98437c49f75b2464", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-e2e-playwright-chromium.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-98437c49f75b2464", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9f2efe8f2c706fb8", "scanner": "scanner-primary", "fingerprint": "98437c49f75b2464", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-e2e-playwright-chromium.yml"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-cf6580c03226df8e", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "52247c04117b3a7f", "scanner": "scanner-primary", "fingerprint": "cf6580c03226df8e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-e2e-playwright-electron.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-cf6580c03226df8e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4ebfdec36d1b9221", "scanner": "scanner-primary", "fingerprint": "cf6580c03226df8e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-e2e-playwright-electron.yml"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-cf6580c03226df8e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f515dd1ff458663c", "scanner": "scanner-primary", "fingerprint": "cf6580c03226df8e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-e2e-playwright-electron.yml"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-af9059be621c0b0e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "344656a028cc35c7", "scanner": "scanner-primary", "fingerprint": "af9059be621c0b0e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-backend.yml"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-af1cc4febd2d0690", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "757cf6d6c877360c", "scanner": "scanner-primary", "fingerprint": "af1cc4febd2d0690", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/aws-upload-dev.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-af1cc4febd2d0690", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "757cf6d6c877360c", "scanner": "scanner-primary", "fingerprint": "af1cc4febd2d0690", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/aws-upload-dev.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-d3c1c81cefb48038", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1bd0ebba0599af50", "scanner": "scanner-primary", "fingerprint": "d3c1c81cefb48038", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pipeline-build-linux.yml"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-635788aaf4e95a7f", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "42250ec22042b39c", "scanner": "scanner-primary", "fingerprint": "635788aaf4e95a7f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/clean-deployments.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-635788aaf4e95a7f", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "42250ec22042b39c", "scanner": "scanner-primary", "fingerprint": "635788aaf4e95a7f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/clean-deployments.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-635788aaf4e95a7f", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "42250ec22042b39c", "scanner": "scanner-primary", "fingerprint": "635788aaf4e95a7f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/clean-deployments.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-8fd9b2d59d803e24", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "52f10410cdbfbaba", "scanner": "scanner-primary", "fingerprint": "8fd9b2d59d803e24", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pipeline-build-windows.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-762b075233f06fa0", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e41017668bdd23a7", "scanner": "scanner-primary", "fingerprint": "762b075233f06fa0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/manual-build-enterprise.yml"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-5356fe4179697534", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f579817f31d8d4e3", "scanner": "scanner-primary", "fingerprint": "5356fe4179697534", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/virustotal.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-5356fe4179697534", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "62e338f95aa914b6", "scanner": "scanner-primary", "fingerprint": "5356fe4179697534", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/virustotal.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-5356fe4179697534", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "62e338f95aa914b6", "scanner": "scanner-primary", "fingerprint": "5356fe4179697534", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/virustotal.yml"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-1b526726e11aa46b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "25d276ac7b852261", "scanner": "scanner-primary", "fingerprint": "1b526726e11aa46b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests-frontend.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "edeab51902066991", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9537c324f431b926", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "841e44c90a99c54e", "scanner": "scanner-primary", "fingerprint": "9537c324f431b926", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/e2e-playwright/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f2d009f8b37c56a6", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "6c8c3dc6599bf314", "scanner": "scanner-primary", "fingerprint": "f2d009f8b37c56a6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fca6d9867ca7739c", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "c709d948b7660785", "scanner": "scanner-primary", "fingerprint": "fca6d9867ca7739c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redisinsight/api/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4c8e71fe634f2767", "level": "note", "message": {"text": "Very large file: redisinsight/api/test/api/database/POST-databases.test.ts (1508 lines)"}, "properties": {"repobilityId": "4fac4141d84253a2", "scanner": "scanner-primary", "fingerprint": "4c8e71fe634f2767", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5a20e1c7ca5bcb1e", "level": "note", "message": {"text": "Very large file: redisinsight/api/test/api/workbench/POST-databases-id-workbench-command_executions.test.ts (1630 lines)"}, "properties": {"repobilityId": "766c47b47151ea62", "scanner": "scanner-primary", "fingerprint": "5a20e1c7ca5bcb1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-55a7799a7ab6b1cd", "level": "note", "message": {"text": "Very large file: redisinsight/api/test/api/database-import/POST-databases-import.test.ts (2559 lines)"}, "properties": {"repobilityId": "b56a89c8468e03a4", "scanner": "scanner-primary", "fingerprint": "55a7799a7ab6b1cd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-24f067122e41357c", "level": "note", "message": {"text": "Very large file: redisinsight/ui/src/slices/tests/instances/instances.spec.ts (2131 lines)"}, "properties": {"repobilityId": "2590dcbf4d5c18c7", "scanner": "scanner-primary", "fingerprint": "24f067122e41357c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f7809ec40defcb05", "level": "note", "message": {"text": "Very large file: redisinsight/ui/src/slices/tests/browser/keys.spec.ts (2452 lines)"}, "properties": {"repobilityId": "a8e65b60d5bb1b4d", "scanner": "scanner-primary", "fingerprint": "f7809ec40defcb05", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-27afe76f282b58a2", "level": "note", "message": {"text": "253 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "27afe76f282b58a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "526e82c466f8db39", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "cf3dbb425483741f", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "6ed3d023cd048651", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "4366ebc0c3c4204d", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "97667042f6496fab", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-b54919b425a8ee01", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: mcp.json"}, "properties": {"repobilityId": "12c05383938aad3e", "scanner": "scanner-primary", "fingerprint": "b54919b425a8ee01", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-75437524eebf6bbc", "level": "none", "message": {"text": "Commented-code block (5 lines) in .eslintrc.js:197"}, "properties": {"repobilityId": "36a23970f754e01c", "scanner": "scanner-primary", "fingerprint": "75437524eebf6bbc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28e3d3c1967c5a94", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/e2e-playwright/playwright.config.ts:58"}, "properties": {"repobilityId": "b42f5dfc32a10d9b", "scanner": "scanner-primary", "fingerprint": "28e3d3c1967c5a94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e16994737f78d0a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch-jira-tickets.js:95"}, "properties": {"repobilityId": "a33e90228af89167", "scanner": "scanner-primary", "fingerprint": "7e16994737f78d0a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b8df8d8bf70b0893", "level": "none", "message": {"text": "Commented-code block (18 lines) in redisinsight/api/test/api/enterprise/POST-redis-enterprise-cluster-get_dbs.test.ts:9"}, "properties": {"repobilityId": "27d8c5664e5a3025", "scanner": "scanner-primary", "fingerprint": "b8df8d8bf70b0893", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-608ca8f85132aeac", "level": "none", "message": {"text": "Commented-code block (6 lines) in redisinsight/api/test/api/cloud/autodiscovery/GET-cloud-me-autodiscovery-account.test.ts:50"}, "properties": {"repobilityId": "f5a0895bd8ae7a91", "scanner": "scanner-primary", "fingerprint": "608ca8f85132aeac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32bd15e556791cdf", "level": "none", "message": {"text": "Commented-code block (8 lines) in redisinsight/api/test/api/database/POST-databases.test.ts:194"}, "properties": {"repobilityId": "eeb77b4052a60315", "scanner": "scanner-primary", "fingerprint": "32bd15e556791cdf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3cc6a64a371d4a8d", "level": "note", "message": {"text": "Legacy-named symbol `someTEST_pipeline_status_v1` in redisinsight/api/test/api/rdi/pipeline/GET-rdi-id-pipeline-status.test.ts:8"}, "properties": {"repobilityId": "000f94ab3ab11783", "scanner": "scanner-primary", "fingerprint": "3cc6a64a371d4a8d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4220f9ecc5b9a1fa", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/api/test/api/redisearch/POST-databases-id-redisearch.test.ts:24"}, "properties": {"repobilityId": "6c1121f41324579b", "scanner": "scanner-primary", "fingerprint": "4220f9ecc5b9a1fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d037d6f41ab678f", "level": "none", "message": {"text": "Commented-code block (8 lines) in redisinsight/api/test/api/bulk-actions/POST-databases-id-bulk_actions-import-tutorial_data.test.ts:32"}, "properties": {"repobilityId": "d954a1728f3d4054", "scanner": "scanner-primary", "fingerprint": "1d037d6f41ab678f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e9277620da1c0be", "level": "none", "message": {"text": "Commented-code block (6 lines) in redisinsight/api/src/__mocks__/redis-databases.ts:1"}, "properties": {"repobilityId": "05d73365ac5bad34", "scanner": "scanner-primary", "fingerprint": "6e9277620da1c0be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2183f47f9134356d", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/api/src/modules/redis-sentinel/redis-sentinel.service.ts:48"}, "properties": {"repobilityId": "0cb2bde556b00ee6", "scanner": "scanner-primary", "fingerprint": "2183f47f9134356d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e88f03a4f04851a", "level": "none", "message": {"text": "Commented-code block (12 lines) in redisinsight/api/src/modules/cloud/job/jobs/cloud-job.spec.ts:90"}, "properties": {"repobilityId": "f918f637d2816d0f", "scanner": "scanner-primary", "fingerprint": "9e88f03a4f04851a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5e313cfc936bbae", "level": "none", "message": {"text": "Commented-code block (10 lines) in redisinsight/api/src/modules/profiler/monitor.service.spec.ts:5"}, "properties": {"repobilityId": "0bc4b2306d7d6bb9", "scanner": "scanner-primary", "fingerprint": "f5e313cfc936bbae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b795d400a5de6599", "level": "none", "message": {"text": "Commented-code block (6 lines) in redisinsight/api/src/modules/redis/client/redis.client.ts:218"}, "properties": {"repobilityId": "66fdc510206175d5", "scanner": "scanner-primary", "fingerprint": "b795d400a5de6599", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf2741c9b59253a2", "level": "none", "message": {"text": "Commented-code block (13 lines) in redisinsight/api/src/modules/redis/connection/node.redis.connection.strategy.ts:111"}, "properties": {"repobilityId": "ba0bf7ea9fe017c2", "scanner": "scanner-primary", "fingerprint": "cf2741c9b59253a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a4c5cfd44fe4616", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/api/src/modules/database/database.module.ts:79"}, "properties": {"repobilityId": "a2e1f0c97e33c851", "scanner": "scanner-primary", "fingerprint": "3a4c5cfd44fe4616", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94e31d0db1a0f7e4", "level": "none", "message": {"text": "Commented-code block (15 lines) in redisinsight/api/src/modules/browser/hash/hash.service.spec.ts:406"}, "properties": {"repobilityId": "b0d620faf7eb5772", "scanner": "scanner-primary", "fingerprint": "94e31d0db1a0f7e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad058a77ea30329f", "level": "none", "message": {"text": "Commented-code block (15 lines) in redisinsight/api/src/modules/browser/z-set/z-set.service.spec.ts:618"}, "properties": {"repobilityId": "08851d65e7801e38", "scanner": "scanner-primary", "fingerprint": "ad058a77ea30329f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d0194c7e8240de5", "level": "none", "message": {"text": "Commented-code block (15 lines) in redisinsight/api/src/modules/browser/set/set.service.spec.ts:254"}, "properties": {"repobilityId": "68cb44092e56d5b8", "scanner": "scanner-primary", "fingerprint": "3d0194c7e8240de5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8246a6d56054525", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/vite.config.mjs:96"}, "properties": {"repobilityId": "ee9a5c9dffb4f296", "scanner": "scanner-primary", "fingerprint": "e8246a6d56054525", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8268eee991d387fa", "level": "none", "message": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/types/redux-mock-store.d.ts:1"}, "properties": {"repobilityId": "8b5c23e99c6a419e", "scanner": "scanner-primary", "fingerprint": "8268eee991d387fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-07b25312d15fa24d", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/slices/tests/panels/aiAssistant.spec.ts:64"}, "properties": {"repobilityId": "0cc21de1c232b980", "scanner": "scanner-primary", "fingerprint": "07b25312d15fa24d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-154c81134c27cdc7", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/utils/test-utils.tsx:85"}, "properties": {"repobilityId": "55923cac0c2505dd", "scanner": "scanner-primary", "fingerprint": "154c81134c27cdc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec0afeeb5f5c6ae7", "level": "none", "message": {"text": "Commented-code block (7 lines) in redisinsight/ui/src/utils/tests/decompressors/decompressors.spec.ts:134"}, "properties": {"repobilityId": "d39861973dfb1d14", "scanner": "scanner-primary", "fingerprint": "ec0afeeb5f5c6ae7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a07811c7b563119", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/utils/transformers/truncateTTL.ts:18"}, "properties": {"repobilityId": "a4f4cfb4d80ebac5", "scanner": "scanner-primary", "fingerprint": "1a07811c7b563119", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df4279fa1681ccb8", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/utils/transformers/truncateNumber.ts:1"}, "properties": {"repobilityId": "c941f872f001b6e0", "scanner": "scanner-primary", "fingerprint": "df4279fa1681ccb8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bbe10bd4c36f570e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 redisinsight/ui/src/utils/dom/triggerDownloadFromUrl.ts:16"}, "properties": {"repobilityId": "f84a8bad7616280c", "scanner": "scanner-primary", "fingerprint": "bbe10bd4c36f570e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0a0a3541d8a78bc7", "level": "none", "message": {"text": "Commented-code block (10 lines) in redisinsight/ui/src/components/base/utils/OutsideClickDetector.tsx:30"}, "properties": {"repobilityId": "5a3df34513593d66", "scanner": "scanner-primary", "fingerprint": "0a0a3541d8a78bc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cdbf8e76570bf533", "level": "none", "message": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/components/base/popover/RiPopover.tsx:50"}, "properties": {"repobilityId": "ed12f4d9a9f30259", "scanner": "scanner-primary", "fingerprint": "cdbf8e76570bf533", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5caab092c486335", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMessages.tsx:274"}, "properties": {"repobilityId": "1a8fe74b212fa058", "scanner": "scanner-primary", "fingerprint": "a5caab092c486335", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e1953f071311431", "level": "none", "message": {"text": "Commented-code block (11 lines) in redisinsight/ui/src/components/monaco-editor/useMonacoValidation.ts:12"}, "properties": {"repobilityId": "5dde9c4aa6e83459", "scanner": "scanner-primary", "fingerprint": "8e1953f071311431", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89591184f6f918f9", "level": "none", "message": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/packages/ri-explain/src/parser.ts:1068"}, "properties": {"repobilityId": "39ea296509b9b2a1", "scanner": "scanner-primary", "fingerprint": "89591184f6f918f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42a5443190100fb8", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/pages/workbench/utils/tests/test-cases/common.ts:304"}, "properties": {"repobilityId": "5c3922ec4f82d077", "scanner": "scanner-primary", "fingerprint": "42a5443190100fb8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-45c1dfa201eba43f", "level": "none", "message": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/pages/home/components/manual-connection/manual-connection-form/ManualConnectionFrom.spec.tsx:828"}, "properties": {"repobilityId": "7ce9928e89f314f5", "scanner": "scanner-primary", "fingerprint": "45c1dfa201eba43f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bec8bf248ba54d2e", "level": "none", "message": {"text": "Commented-code block (6 lines) in redisinsight/ui/src/pages/browser/components/keys-header/KeysHeader.tsx:129"}, "properties": {"repobilityId": "ae33a64b784177de", "scanner": "scanner-primary", "fingerprint": "bec8bf248ba54d2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91513bfcfd106e73", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/pages/browser/components/add-key/AddKeyVectorSet/AddKeyVectorSet.tsx:64"}, "properties": {"repobilityId": "170be5ed182931ff", "scanner": "scanner-primary", "fingerprint": "91513bfcfd106e73", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef5ecaad57c5c31f", "level": "note", "message": {"text": "Legacy-named symbol `BrowserLeftPanelLegacy` in redisinsight/ui/src/pages/browser/components/browser-left-panel/BrowserLeftPanel.tsx:9"}, "properties": {"repobilityId": "17db1aa88af9b08f", "scanner": "scanner-primary", "fingerprint": "ef5ecaad57c5c31f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2e4d8bd908e6275f", "level": "note", "message": {"text": "Legacy-named symbol `BrowserLeftPanelLegacy` in redisinsight/ui/src/pages/browser/components/browser-left-panel/BrowserLeftPanelLegacy.tsx:47"}, "properties": {"repobilityId": "097cbe7ab4e75491", "scanner": "scanner-primary", "fingerprint": "2e4d8bd908e6275f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8ba63d90402a8ed1", "level": "none", "message": {"text": "Commented-code block (9 lines) in redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/consumers-view/ConsumersViewWrapper.tsx:93"}, "properties": {"repobilityId": "06fdee81847bee36", "scanner": "scanner-primary", "fingerprint": "8ba63d90402a8ed1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b127dc3f6e2acc49", "level": "none", "message": {"text": "Commented-code block (9 lines) in redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/groups-view/GroupsViewWrapper.tsx:146"}, "properties": {"repobilityId": "d81b47f933bb983c", "scanner": "scanner-primary", "fingerprint": "b127dc3f6e2acc49", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b40cc22752585931", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/pages/browser/modules/key-details/components/vector-set-details/hooks/useSimilaritySearch/useSimilaritySearch.ts:56"}, "properties": {"repobilityId": "81d402366cb94f6d", "scanner": "scanner-primary", "fingerprint": "b40cc22752585931", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-347ccde00efec929", "level": "none", "message": {"text": "Commented-code block (5 lines) in redisinsight/ui/src/services/workbenchStorage.ts:37"}, "properties": {"repobilityId": "96f63bebed1982cd", "scanner": "scanner-primary", "fingerprint": "347ccde00efec929", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9d320ba1de45348", "level": "none", "message": {"text": "Commented-code block (7 lines) in .github/generate-build-summary.js:68"}, "properties": {"repobilityId": "922ed62bac65cf59", "scanner": "scanner-primary", "fingerprint": "e9d320ba1de45348", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-faffef9368bf785d", "level": "none", "message": {"text": "Commented-code block (7 lines) in configs/webpack.config.main.prod.ts:40"}, "properties": {"repobilityId": "e24026378485ccaa", "scanner": "scanner-primary", "fingerprint": "faffef9368bf785d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ddf78ade659f5ab", "level": "warning", "message": {"text": "Frontend route `/azure-auth-callback` has no Link/navigate to it \u2014 redisinsight/ui/src/App.tsx"}, "properties": {"repobilityId": "1feab4ac7c31466d", "scanner": "scanner-primary", "fingerprint": "9ddf78ade659f5ab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-4f71b653abdb4968", "level": "warning", "message": {"text": "Frontend route `/not-found` has no Link/navigate to it \u2014 redisinsight/ui/src/pages/instance/InstancePageRouter.spec.tsx"}, "properties": {"repobilityId": "018868a6e5cb93bd", "scanner": "scanner-primary", "fingerprint": "4f71b653abdb4968", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-314d2c25ea398c31", "level": "warning", "message": {"text": "Frontend route `/:instanceId/vector-search` has no Link/navigate to it \u2014 redisinsight/ui/src/pages/vector-search/components/keys-browser/components/Footer.stories.tsx"}, "properties": {"repobilityId": "2f6803399a7a8da6", "scanner": "scanner-primary", "fingerprint": "314d2c25ea398c31", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-512ccb0fd0b230ba", "level": "note", "message": {"text": "Unused endpoint: GET /settings"}, "properties": {"repobilityId": "7a880b0bc2f4a8c6", "scanner": "scanner-primary", "fingerprint": "512ccb0fd0b230ba", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a33f71ee347bec1d", "level": "note", "message": {"text": "Unused endpoint: GET /settings/agreements/spec"}, "properties": {"repobilityId": "917548ce469ac31f", "scanner": "scanner-primary", "fingerprint": "a33f71ee347bec1d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-689e4ffd880f570d", "level": "note", "message": {"text": "Unused endpoint: PATCH /settings"}, "properties": {"repobilityId": "9cd87f06f3b069a1", "scanner": "scanner-primary", "fingerprint": "689e4ffd880f570d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bdade6089b936f7b", "level": "note", "message": {"text": "Unused endpoint: POST /redis-enterprise/cluster/get-databases"}, "properties": {"repobilityId": "562b396788afd942", "scanner": "scanner-primary", "fingerprint": "bdade6089b936f7b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-62931ae0f85e47fc", "level": "note", "message": {"text": "Unused endpoint: POST /redis-enterprise/cluster/databases"}, "properties": {"repobilityId": "e29df52356018c07", "scanner": "scanner-primary", "fingerprint": "62931ae0f85e47fc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-38d4e7aa69f1f0fa", "level": "note", "message": {"text": "Unused endpoint: PATCH /notifications/read"}, "properties": {"repobilityId": "70c8b6ba8caa473e", "scanner": "scanner-primary", "fingerprint": "38d4e7aa69f1f0fa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-df6b80b8d7feee49", "level": "note", "message": {"text": "Unused endpoint: POST /redis-sentinel/get-databases"}, "properties": {"repobilityId": "9236e082fdba8741", "scanner": "scanner-primary", "fingerprint": "df6b80b8d7feee49", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6c535d7d5f5a9e39", "level": "note", "message": {"text": "Unused endpoint: POST /redis-sentinel/databases"}, "properties": {"repobilityId": "f3d27c6120e70699", "scanner": "scanner-primary", "fingerprint": "6c535d7d5f5a9e39", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d6a2ead44dae38e8", "level": "note", "message": {"text": "Unused endpoint: POST /ai/assistant/chats/"}, "properties": {"repobilityId": "9c7d28a0eec904b5", "scanner": "scanner-primary", "fingerprint": "d6a2ead44dae38e8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-36126cecc511db78", "level": "note", "message": {"text": "Unused endpoint: GET /ai/assistant/chats/:id"}, "properties": {"repobilityId": "6ef8abe7d4b464e3", "scanner": "scanner-primary", "fingerprint": "36126cecc511db78", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6934b2f8d2723156", "level": "note", "message": {"text": "Unused endpoint: POST /ai/assistant/chats/:id/messages"}, "properties": {"repobilityId": "5581d84389fde531", "scanner": "scanner-primary", "fingerprint": "6934b2f8d2723156", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f36b250ac6b08a96", "level": "note", "message": {"text": "Unused endpoint: DELETE /ai/assistant/chats/:id"}, "properties": {"repobilityId": "a7c5e988e578664a", "scanner": "scanner-primary", "fingerprint": "f36b250ac6b08a96", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8329d84d7b6c0c7c", "level": "note", "message": {"text": "Unused endpoint: POST /auth"}, "properties": {"repobilityId": "3b28d2575dee1123", "scanner": "scanner-primary", "fingerprint": "8329d84d7b6c0c7c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-afc064028ae39ea9", "level": "note", "message": {"text": "Unused endpoint: GET /history"}, "properties": {"repobilityId": "9413289a89859fe7", "scanner": "scanner-primary", "fingerprint": "afc064028ae39ea9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cff8da5fbc19c76d", "level": "note", "message": {"text": "Unused endpoint: POST /chat"}, "properties": {"repobilityId": "80f848d3317d014e", "scanner": "scanner-primary", "fingerprint": "cff8da5fbc19c76d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a7a776760f85a3e7", "level": "note", "message": {"text": "Unused endpoint: POST /reset"}, "properties": {"repobilityId": "d5fddae9557f8c93", "scanner": "scanner-primary", "fingerprint": "a7a776760f85a3e7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-84224e0c8421bc80", "level": "note", "message": {"text": "Unused endpoint: POST /analytics/send-event"}, "properties": {"repobilityId": "88fa9fb1f432824b", "scanner": "scanner-primary", "fingerprint": "84224e0c8421bc80", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-462404d077b16677", "level": "note", "message": {"text": "Unused endpoint: POST /analytics/send-page"}, "properties": {"repobilityId": "82723899bd7fca8e", "scanner": "scanner-primary", "fingerprint": "462404d077b16677", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0a69cf8252ed30e8", "level": "note", "message": {"text": "Unused endpoint: GET /slow-logs"}, "properties": {"repobilityId": "34121b893d91a336", "scanner": "scanner-primary", "fingerprint": "0a69cf8252ed30e8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5fa649753a4e821d", "level": "note", "message": {"text": "Unused endpoint: DELETE /slow-logs"}, "properties": {"repobilityId": "9d7a09c823d8f077", "scanner": "scanner-primary", "fingerprint": "5fa649753a4e821d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1430ef9b362edab9", "level": "note", "message": {"text": "Unused endpoint: GET /slow-logs/config"}, "properties": {"repobilityId": "4f0558d2740cc486", "scanner": "scanner-primary", "fingerprint": "1430ef9b362edab9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-08915a7a15cec272", "level": "note", "message": {"text": "Unused endpoint: PATCH /slow-logs/config"}, "properties": {"repobilityId": "8976229701c2d594", "scanner": "scanner-primary", "fingerprint": "08915a7a15cec272", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a3bf4bcaa28d03ad", "level": "note", "message": {"text": "Unused endpoint: POST /cli"}, "properties": {"repobilityId": "eba805860d149576", "scanner": "scanner-primary", "fingerprint": "a3bf4bcaa28d03ad", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7858147d3e6dea7c", "level": "note", "message": {"text": "Unused endpoint: POST /cli/:uuid/send-command"}, "properties": {"repobilityId": "16c671e0656d026b", "scanner": "scanner-primary", "fingerprint": "7858147d3e6dea7c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bc5bf8d766b83f20", "level": "note", "message": {"text": "Unused endpoint: POST /cli/:uuid/send-cluster-command"}, "properties": {"repobilityId": "ece5df5a86b26820", "scanner": "scanner-primary", "fingerprint": "bc5bf8d766b83f20", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6f98b6d2fd6b8b4e", "level": "note", "message": {"text": "Unused endpoint: DELETE /cli/:uuid"}, "properties": {"repobilityId": "dd3efc792220e282", "scanner": "scanner-primary", "fingerprint": "6f98b6d2fd6b8b4e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-473bda1c80970506", "level": "note", "message": {"text": "Unused endpoint: PATCH /cli/:uuid"}, "properties": {"repobilityId": "242800a29a062f01", "scanner": "scanner-primary", "fingerprint": "473bda1c80970506", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6df77def0e6254da", "level": "note", "message": {"text": "Unused endpoint: POST /pub-sub/messages"}, "properties": {"repobilityId": "9fcc2ce332f83e6f", "scanner": "scanner-primary", "fingerprint": "6df77def0e6254da", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-90391038f8848257", "level": "note", "message": {"text": "Unused endpoint: GET /query-library/:id"}, "properties": {"repobilityId": "daab002e46cc42e5", "scanner": "scanner-primary", "fingerprint": "90391038f8848257", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2eba657e3a0d9865", "level": "note", "message": {"text": "Unused endpoint: PATCH /query-library/:id"}, "properties": {"repobilityId": "1e9e95ca81cc9dfb", "scanner": "scanner-primary", "fingerprint": "2eba657e3a0d9865", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a8dff1cd217d89ba", "level": "note", "message": {"text": "Unused endpoint: DELETE /query-library/:id"}, "properties": {"repobilityId": "f0d38388c029dab5", "scanner": "scanner-primary", "fingerprint": "a8dff1cd217d89ba", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dc2d629a2a42b0db", "level": "note", "message": {"text": "Unused endpoint: POST /query-library/seed"}, "properties": {"repobilityId": "94bd966f400abb82", "scanner": "scanner-primary", "fingerprint": "dc2d629a2a42b0db", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4fbdebf93155ee76", "level": "note", "message": {"text": "Unused endpoint: GET /certificates/ca"}, "properties": {"repobilityId": "53ca9c4b4a4da514", "scanner": "scanner-primary", "fingerprint": "4fbdebf93155ee76", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0512864a3f327572", "level": "note", "message": {"text": "Unused endpoint: DELETE /certificates/ca/:id"}, "properties": {"repobilityId": "ee9fc6397409bc69", "scanner": "scanner-primary", "fingerprint": "0512864a3f327572", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4ec8d025d0103a09", "level": "note", "message": {"text": "Unused endpoint: GET /certificates/client"}, "properties": {"repobilityId": "e4d3395e22d47a05", "scanner": "scanner-primary", "fingerprint": "4ec8d025d0103a09", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8941e19c63da5efe", "level": "note", "message": {"text": "Unused endpoint: DELETE /certificates/client/:id"}, "properties": {"repobilityId": "264e99872f9b2f86", "scanner": "scanner-primary", "fingerprint": "8941e19c63da5efe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "33d45a6f8fff0a2b", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7a009b1a56794f45", "level": "note", "message": {"text": "Unused endpoint: POST /"}, "properties": {"repobilityId": "4bf3c8ec240a84de", "scanner": "scanner-primary", "fingerprint": "7a009b1a56794f45", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3b30f4c0994a30b4", "level": "note", "message": {"text": "Unused endpoint: DELETE /"}, "properties": {"repobilityId": "b4cba638b86be184", "scanner": "scanner-primary", "fingerprint": "3b30f4c0994a30b4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-693c601619b960e2", "level": "note", "message": {"text": "Unused endpoint: GET /cloud/autodiscovery/account"}, "properties": {"repobilityId": "dbec7f31dc04a7c2", "scanner": "scanner-primary", "fingerprint": "693c601619b960e2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-196ee286d37852da", "level": "note", "message": {"text": "Unused endpoint: GET /cloud/autodiscovery/subscriptions"}, "properties": {"repobilityId": "8efaa7297b257f6a", "scanner": "scanner-primary", "fingerprint": "196ee286d37852da", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fd85e20d6e0ecff8", "level": "note", "message": {"text": "Unused endpoint: POST /cloud/autodiscovery/get-databases"}, "properties": {"repobilityId": "a75891450e5859fc", "scanner": "scanner-primary", "fingerprint": "fd85e20d6e0ecff8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cf3e5fda5d801d05", "level": "note", "message": {"text": "Unused endpoint: POST /cloud/autodiscovery/databases"}, "properties": {"repobilityId": "76979e7794cc6ec0", "scanner": "scanner-primary", "fingerprint": "cf3e5fda5d801d05", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e96dfe71c6beabba", "level": "note", "message": {"text": "Unused endpoint: GET /cloud/me/autodiscovery/account"}, "properties": {"repobilityId": "cf622e71be0b3bc1", "scanner": "scanner-primary", "fingerprint": "e96dfe71c6beabba", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1cc134d3dce0d449", "level": "note", "message": {"text": "Unused endpoint: GET /cloud/me/autodiscovery/subscriptions"}, "properties": {"repobilityId": "bf0102ad5d035169", "scanner": "scanner-primary", "fingerprint": "1cc134d3dce0d449", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e8ddc32c72e46410", "level": "note", "message": {"text": "Unused endpoint: POST /cloud/me/autodiscovery/get-databases"}, "properties": {"repobilityId": "0c537dec19766576", "scanner": "scanner-primary", "fingerprint": "e8ddc32c72e46410", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2fcb42e17e989416", "level": "note", "message": {"text": "Unused endpoint: POST /cloud/me/autodiscovery/databases"}, "properties": {"repobilityId": "9b491905a0944d06", "scanner": "scanner-primary", "fingerprint": "2fcb42e17e989416", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1560b30f9ad3f106", "level": "note", "message": {"text": "Unused endpoint: GET /cloud/oauth/callback"}, "properties": {"repobilityId": "69219b828db9ec73", "scanner": "scanner-primary", "fingerprint": "1560b30f9ad3f106", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8a741ec731833d07", "level": "note", "message": {"text": "Unused endpoint: GET /cloud/me/capi-keys"}, "properties": {"repobilityId": "c889bf05d401d996", "scanner": "scanner-primary", "fingerprint": "8a741ec731833d07", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ac40bfb475f01bc0", "level": "note", "message": {"text": "Unused endpoint: DELETE /cloud/me/capi-keys/:id"}, "properties": {"repobilityId": "288aeee0d2b21566", "scanner": "scanner-primary", "fingerprint": "ac40bfb475f01bc0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}