{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:03.856221Z","repo":{"ref":{"host":"github.com","owner":"deepan-alve","name":"Tcsinthacks"},"default_branch":"master","clone_url":"https://github.com/deepan-alve/Tcsinthacks.git","html_url":"https://github.com/deepan-alve/Tcsinthacks","description":"Banking KYC document upload and verification system, built for the TCS InThacks BFSI challenge.","stars":0,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":1836,"primary_language":"TypeScript","license_spdx":null,"created_at":"2026-02-05T13:10:37Z","pushed_at":"2026-02-05T13:21:35Z","security_policy_url":null,"distribution":{"owner_created_at":"2023-04-30T04:50:32Z","owner_type":"User","release_assets":[]}},"commit_sha":"816a0ef5d55623bfa3f77e109d62d92f9d1f364b","profile":{"lines_by_language":{"TypeScript":7384,"Python":372,"SQL":114,"JavaScript":39},"files_by_category":{"source":61,"docs":49,"config":7,"other":7,"binary":7,"generated":1},"source_lines":7909,"test_lines":0},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.41,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0,"suspected_share":0.3467,"estimated_share":0.0,"ai_artifacts":39.0,"flagged_work_units":1.0,"flagged_releases":null,"style_index":0.0},"summary":"Weak signals consistent with AI-assisted development."},"quality":{"score":35.3,"confidence":0.9,"coverage":1.0,"label":"poor","breakdown":{"complexity":50.1,"duplication":83.4,"lint":2.2,"testing":0.0,"docs":40.0,"type_safety":97.1,"process":null},"summary":"Code quality is poor: test-to-source ratio 0.00, no CI test run detected; 23% of function code in complex or long functions; 3% duplicated lines. Weakest area: testing."},"security":{"score":57.4,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":96.7,"sast":92.4,"dependencies":2.0,"ci_actions":null,"posture":0.0,"scorecard":null},"summary":"Security posture is weak: 149 known vulnerabilities in 33 dependencies. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":39.0,"checked":39.0,"missing":0.0,"recent":0.0,"lookup_errors":0.0},"findings":[],"evidence":[],"data":{"phantom":false},"error":null},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":5.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":9383.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2026-02":{"loc":9383,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":39.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1770285087.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".claude/agents/architect.md (claude-code configuration)","ref":".claude/agents/architect.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/architect.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/build-error-resolver.md (claude-code configuration)","ref":".claude/agents/build-error-resolver.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/build-error-resolver.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/code-reviewer.md (claude-code configuration)","ref":".claude/agents/code-reviewer.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/code-reviewer.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/database-reviewer.md (claude-code configuration)","ref":".claude/agents/database-reviewer.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/database-reviewer.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/doc-updater.md (claude-code configuration)","ref":".claude/agents/doc-updater.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/doc-updater.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/e2e-runner.md (claude-code configuration)","ref":".claude/agents/e2e-runner.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/e2e-runner.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/go-build-resolver.md (claude-code configuration)","ref":".claude/agents/go-build-resolver.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/go-build-resolver.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/go-reviewer.md (claude-code configuration)","ref":".claude/agents/go-reviewer.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/go-reviewer.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/planner.md (claude-code configuration)","ref":".claude/agents/planner.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/planner.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/python-reviewer.md (claude-code configuration)","ref":".claude/agents/python-reviewer.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/python-reviewer.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/refactor-cleaner.md (claude-code configuration)","ref":".claude/agents/refactor-cleaner.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/refactor-cleaner.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/security-reviewer.md (claude-code configuration)","ref":".claude/agents/security-reviewer.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/security-reviewer.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/tdd-guide.md (claude-code configuration)","ref":".claude/agents/tdd-guide.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/agents/tdd-guide.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/agents.md (claude-code configuration)","ref":".claude/rules/agents.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/rules/agents.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/coding-style.md (claude-code configuration)","ref":".claude/rules/coding-style.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/rules/coding-style.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/git-workflow.md (claude-code configuration)","ref":".claude/rules/git-workflow.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/rules/git-workflow.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/hooks.md (claude-code configuration)","ref":".claude/rules/hooks.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/rules/hooks.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/patterns.md (claude-code configuration)","ref":".claude/rules/patterns.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/rules/patterns.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/performance.md (claude-code configuration)","ref":".claude/rules/performance.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/rules/performance.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/security.md (claude-code configuration)","ref":".claude/rules/security.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/rules/security.md","weight":0.5},{"kind":"ai-artifact","description":".claude/rules/testing.md (claude-code configuration)","ref":".claude/rules/testing.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/rules/testing.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/agent-browser/SKILL.md (claude-code configuration)","ref":".claude/skill/agent-browser/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/agent-browser/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/backend-patterns/SKILL.md (claude-code configuration)","ref":".claude/skill/backend-patterns/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/backend-patterns/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/clickhouse-io/SKILL.md (claude-code configuration)","ref":".claude/skill/clickhouse-io/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/clickhouse-io/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/coding-standards/SKILL.md (claude-code configuration)","ref":".claude/skill/coding-standards/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/coding-standards/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/continuous-learning-v2/SKILL.md (claude-code configuration)","ref":".claude/skill/continuous-learning-v2/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/continuous-learning-v2/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/continuous-learning/SKILL.md (claude-code configuration)","ref":".claude/skill/continuous-learning/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/continuous-learning/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/eval-harness/SKILL.md (claude-code configuration)","ref":".claude/skill/eval-harness/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/eval-harness/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/frontend-patterns/SKILL.md (claude-code configuration)","ref":".claude/skill/frontend-patterns/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/frontend-patterns/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/golang-patterns/SKILL.md (claude-code configuration)","ref":".claude/skill/golang-patterns/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/golang-patterns/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/golang-testing/SKILL.md (claude-code configuration)","ref":".claude/skill/golang-testing/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/golang-testing/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/iterative-retrieval/SKILL.md (claude-code configuration)","ref":".claude/skill/iterative-retrieval/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/iterative-retrieval/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/postgres-patterns/SKILL.md (claude-code configuration)","ref":".claude/skill/postgres-patterns/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/postgres-patterns/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/project-guidelines-example/SKILL.md (claude-code configuration)","ref":".claude/skill/project-guidelines-example/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/project-guidelines-example/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/security-review/SKILL.md (claude-code configuration)","ref":".claude/skill/security-review/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/security-review/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/security-review/cloud-infrastructure-security.md (claude-code configuration)","ref":".claude/skill/security-review/cloud-infrastructure-security.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/security-review/cloud-infrastructure-security.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/strategic-compact/SKILL.md (claude-code configuration)","ref":".claude/skill/strategic-compact/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/strategic-compact/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/tdd-workflow/SKILL.md (claude-code configuration)","ref":".claude/skill/tdd-workflow/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/tdd-workflow/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skill/verification-loop/SKILL.md (claude-code configuration)","ref":".claude/skill/verification-loop/SKILL.md","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/.claude/skill/verification-loop/SKILL.md","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":".claude/agents/architect.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/build-error-resolver.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/code-reviewer.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/database-reviewer.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/doc-updater.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/e2e-runner.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/go-build-resolver.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/go-reviewer.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/planner.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/python-reviewer.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/refactor-cleaner.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/security-reviewer.md","added_at":1770285235},{"tool":"claude-code","path":".claude/agents/tdd-guide.md","added_at":1770285235},{"tool":"claude-code","path":".claude/rules/agents.md","added_at":1770285087},{"tool":"claude-code","path":".claude/rules/coding-style.md","added_at":1770285087},{"tool":"claude-code","path":".claude/rules/git-workflow.md","added_at":1770285087},{"tool":"claude-code","path":".claude/rules/hooks.md","added_at":1770285087},{"tool":"claude-code","path":".claude/rules/patterns.md","added_at":1770285087},{"tool":"claude-code","path":".claude/rules/performance.md","added_at":1770285087},{"tool":"claude-code","path":".claude/rules/security.md","added_at":1770285087},{"tool":"claude-code","path":".claude/rules/testing.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/agent-browser/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/backend-patterns/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/clickhouse-io/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/coding-standards/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/continuous-learning-v2/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/continuous-learning/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/eval-harness/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/frontend-patterns/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/golang-patterns/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/golang-testing/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/iterative-retrieval/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/postgres-patterns/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/project-guidelines-example/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/security-review/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/security-review/cloud-infrastructure-security.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/strategic-compact/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/tdd-workflow/SKILL.md","added_at":1770285087},{"tool":"claude-code","path":".claude/skill/verification-loop/SKILL.md","added_at":1770285087}],"workflows":[],"tools":["claude-code"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":1.0,"flagged_units":1.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":3253.0,"flagged_loc":3253.0,"flagged_loc_share":1.0,"max_loc_per_hour":813.25,"median_loc_per_hour":813.25,"pr_timed_units":0.0,"excluded_import_loc":6130.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"3,253 lines of first-party code in ~4.0h (813 lines/hour, 1 commit session)","ref":"f79b7ba9434cc440282aed6c8c378d1497b36a88","url":"https://github.com/deepan-alve/Tcsinthacks/commit/f79b7ba9434cc440282aed6c8c378d1497b36a88","weight":0.243975}],"data":{"flagged_loc_by_commit":{"f79b7ba9434cc440282aed6c8c378d1497b36a88":3253},"excluded_import_commits":["45b0e0b4ffb9c4d5219691cdca60663d7792b259","9ec5bc4d3b3ed386a70acbd0f04a4cf76f27c66f"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":7909.0,"index":0.0,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":0.0,"per_kloc:emoji_in_code":0.0,"files:emoji_in_code":0.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":1.0,"secrets_low_confidence":0.0},"findings":[{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"docs/FRD.md","line":486,"fingerprint":"docs/FRD.md:generic-api-key:486"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":7.0,"findings_high":0.0,"findings_medium":7.0,"findings_low":0.0,"weighted_findings":1.75,"scanned_lines":7795.0,"parse_errors":0.0},"findings":[{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `idDocPath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"kyc-portal/src/lib/gemini.ts","line":112,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:kyc-portal/src/lib/gemini.ts:112"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `photoPath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"kyc-portal/src/lib/gemini.ts","line":113,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:kyc-portal/src/lib/gemini.ts:113"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `filePath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"kyc-portal/src/lib/gemini.ts","line":358,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:kyc-portal/src/lib/gemini.ts:358"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `dir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"kyc-portal/src/pages/api/code-review.ts","line":73,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:kyc-portal/src/pages/api/code-review.ts:73"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"kyc-portal/src/pages/api/code-review.ts","line":78,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:kyc-portal/src/pages/api/code-review.ts:78"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"kyc-portal/src/pages/api/code-review.ts","line":78,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:kyc-portal/src/pages/api/code-review.ts:78"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `f` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"kyc-portal/src/pages/api/code-review.ts","line":226,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:kyc-portal/src/pages/api/code-review.ts:226"}],"evidence":[],"data":{"rulesets":["typescript","javascript","python"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":33.0,"vulnerabilities":149.0,"vulns_critical":5.0,"vulns_high":67.0,"vulns_medium":63.0,"vulns_low":11.0,"vulns_unknown":3.0,"penalty":234.0},"findings":[{"rule_id":"osv/GHSA-2464-fhr4-w9xw","severity":"critical","message":"next@16.1.6 (npm) is affected by GHSA-2464-fhr4-w9xw","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-2464-fhr4-w9xw"},{"rule_id":"osv/GHSA-2xp9-vwfh-vxw4","severity":"critical","message":"next@16.1.6 (npm) is affected by GHSA-2xp9-vwfh-vxw4","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-2xp9-vwfh-vxw4"},{"rule_id":"osv/GHSA-673q-mjm6-r5xr","severity":"critical","message":"next@16.1.6 (npm) is affected by GHSA-673q-mjm6-r5xr","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-673q-mjm6-r5xr"},{"rule_id":"osv/GHSA-p293-qw3h-jr36","severity":"critical","message":"next@16.1.6 (npm) is affected by GHSA-p293-qw3h-jr36","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-p293-qw3h-jr36"},{"rule_id":"osv/GHSA-7rqj-j65f-68wh","severity":"critical","message":"next-auth@4.24.13 (npm) is affected by GHSA-7rqj-j65f-68wh","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next-auth@4.24.13 (npm):GHSA-7rqj-j65f-68wh"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-3jxr-9vmj-r5cp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-mh99-v99m-4gvg","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-3jxr-9vmj-r5cp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-mh99-v99m-4gvg","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.28.1 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"browserslist@4.28.1 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.28.1 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"browserslist@4.28.1 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-mrv2-3pqr-j5jr","severity":"high","message":"dompurify@3.3.1 (npm) is affected by GHSA-mrv2-3pqr-j5jr","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-mrv2-3pqr-j5jr"},{"rule_id":"osv/GHSA-4c8g-83qw-93j6","severity":"high","message":"fast-uri@3.1.0 (npm) is affected by GHSA-4c8g-83qw-93j6","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-4c8g-83qw-93j6"},{"rule_id":"osv/GHSA-7p8r-x3mc-p8w7","severity":"high","message":"fast-uri@3.1.0 (npm) is affected by GHSA-7p8r-x3mc-p8w7","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-7p8r-x3mc-p8w7"},{"rule_id":"osv/GHSA-f65p-4m7j-42xc","severity":"high","message":"fast-uri@3.1.0 (npm) is affected by GHSA-f65p-4m7j-42xc","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-f65p-4m7j-42xc"},{"rule_id":"osv/GHSA-jqff-g426-hqxp","severity":"high","message":"fast-uri@3.1.0 (npm) is affected by GHSA-jqff-g426-hqxp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-jqff-g426-hqxp"},{"rule_id":"osv/GHSA-q3j6-qgpj-74h6","severity":"high","message":"fast-uri@3.1.0 (npm) is affected by GHSA-q3j6-qgpj-74h6","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-q3j6-qgpj-74h6"},{"rule_id":"osv/GHSA-qw65-cvwx-89v3","severity":"high","message":"fast-uri@3.1.0 (npm) is affected by GHSA-qw65-cvwx-89v3","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-qw65-cvwx-89v3"},{"rule_id":"osv/GHSA-v2hh-gcrm-f6hx","severity":"high","message":"fast-uri@3.1.0 (npm) is affected by GHSA-v2hh-gcrm-f6hx","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-v2hh-gcrm-f6hx"},{"rule_id":"osv/GHSA-v39h-62p7-jpjc","severity":"high","message":"fast-uri@3.1.0 (npm) is affected by GHSA-v39h-62p7-jpjc","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-v39h-62p7-jpjc"},{"rule_id":"osv/GHSA-25h7-pfq9-p65f","severity":"high","message":"flatted@3.3.3 (npm) is affected by GHSA-25h7-pfq9-p65f","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"flatted@3.3.3 (npm):GHSA-25h7-pfq9-p65f"},{"rule_id":"osv/GHSA-rf6f-7fwh-wjgh","severity":"high","message":"flatted@3.3.3 (npm) is affected by GHSA-rf6f-7fwh-wjgh","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"flatted@3.3.3 (npm):GHSA-rf6f-7fwh-wjgh"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@4.1.1 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-2883-xcg3-v3hh"},{"rule_id":"osv/GHSA-52cp-r559-cp3m","severity":"high","message":"js-yaml@4.1.1 (npm) is affected by GHSA-52cp-r559-cp3m","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-52cp-r559-cp3m"},{"rule_id":"osv/GHSA-5p4m-2wfm-xmqj","severity":"high","message":"js-yaml@4.1.1 (npm) is affected by GHSA-5p4m-2wfm-xmqj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-5p4m-2wfm-xmqj"},{"rule_id":"osv/GHSA-r5fr-rjxr-66jc","severity":"high","message":"lodash-es@4.17.21 (npm) is affected by GHSA-r5fr-rjxr-66jc","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"lodash-es@4.17.21 (npm):GHSA-r5fr-rjxr-66jc"},{"rule_id":"osv/GHSA-r5fr-rjxr-66jc","severity":"high","message":"lodash-es@4.17.23 (npm) is affected by GHSA-r5fr-rjxr-66jc","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"lodash-es@4.17.23 (npm):GHSA-r5fr-rjxr-66jc"},{"rule_id":"osv/GHSA-23c5-xmqv-rm74","severity":"high","message":"minimatch@3.1.2 (npm) is affected by GHSA-23c5-xmqv-rm74","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"minimatch@3.1.2 (npm):GHSA-23c5-xmqv-rm74"},{"rule_id":"osv/GHSA-3ppc-4f35-3m26","severity":"high","message":"minimatch@3.1.2 (npm) is affected by GHSA-3ppc-4f35-3m26","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"minimatch@3.1.2 (npm):GHSA-3ppc-4f35-3m26"},{"rule_id":"osv/GHSA-7r86-cg39-jmmj","severity":"high","message":"minimatch@3.1.2 (npm) is affected by GHSA-7r86-cg39-jmmj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"minimatch@3.1.2 (npm):GHSA-7r86-cg39-jmmj"},{"rule_id":"osv/GHSA-23c5-xmqv-rm74","severity":"high","message":"minimatch@9.0.5 (npm) is affected by GHSA-23c5-xmqv-rm74","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-23c5-xmqv-rm74"},{"rule_id":"osv/GHSA-3ppc-4f35-3m26","severity":"high","message":"minimatch@9.0.5 (npm) is affected by GHSA-3ppc-4f35-3m26","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-3ppc-4f35-3m26"},{"rule_id":"osv/GHSA-7r86-cg39-jmmj","severity":"high","message":"minimatch@9.0.5 (npm) is affected by GHSA-7r86-cg39-jmmj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-7r86-cg39-jmmj"},{"rule_id":"osv/GHSA-28wg-ghj8-5hjv","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-28wg-ghj8-5hjv","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-28wg-ghj8-5hjv"},{"rule_id":"osv/GHSA-2v37-7h3g-55p8","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-2v37-7h3g-55p8","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-2v37-7h3g-55p8"},{"rule_id":"osv/GHSA-xwg4-73v4-xw9w","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-xwg4-73v4-xw9w","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-xwg4-73v4-xw9w"},{"rule_id":"osv/GHSA-267c-6grr-h53f","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-267c-6grr-h53f","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-267c-6grr-h53f"},{"rule_id":"osv/GHSA-26hh-7cqf-hhc6","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-26hh-7cqf-hhc6","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-26hh-7cqf-hhc6"},{"rule_id":"osv/GHSA-36qx-fr4f-26g5","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-36qx-fr4f-26g5","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-36qx-fr4f-26g5"},{"rule_id":"osv/GHSA-492v-c6pp-mqqv","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-492v-c6pp-mqqv","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-492v-c6pp-mqqv"},{"rule_id":"osv/GHSA-6gpp-xcg3-4w24","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-6gpp-xcg3-4w24","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-6gpp-xcg3-4w24"},{"rule_id":"osv/GHSA-89xv-2m56-2m9x","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-89xv-2m56-2m9x","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-89xv-2m56-2m9x"},{"rule_id":"osv/GHSA-8h8q-6873-q5fj","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-8h8q-6873-q5fj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-8h8q-6873-q5fj"},{"rule_id":"osv/GHSA-c4j6-fc7j-m34r","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-c4j6-fc7j-m34r","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-c4j6-fc7j-m34r"},{"rule_id":"osv/GHSA-cjq9-62q9-8jv4","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-cjq9-62q9-8jv4","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-cjq9-62q9-8jv4"},{"rule_id":"osv/GHSA-m99w-x7hq-7vfj","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-m99w-x7hq-7vfj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-m99w-x7hq-7vfj"},{"rule_id":"osv/GHSA-mg66-mrh9-m8jx","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-mg66-mrh9-m8jx","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-mg66-mrh9-m8jx"},{"rule_id":"osv/GHSA-p3m5-59mp-jv5r","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-p3m5-59mp-jv5r","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-p3m5-59mp-jv5r"},{"rule_id":"osv/GHSA-p9j2-gv94-2wf4","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-p9j2-gv94-2wf4","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-p9j2-gv94-2wf4"},{"rule_id":"osv/GHSA-q4gf-8mx6-v5v3","severity":"high","message":"next@16.1.6 (npm) is affected by GHSA-q4gf-8mx6-v5v3","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-q4gf-8mx6-v5v3"},{"rule_id":"osv/GHSA-xmf8-cvqr-rfgj","severity":"high","message":"next-auth@4.24.13 (npm) is affected by GHSA-xmf8-cvqr-rfgj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next-auth@4.24.13 (npm):GHSA-xmf8-cvqr-rfgj"},{"rule_id":"osv/GHSA-c2c7-rcm5-vvqj","severity":"high","message":"picomatch@2.3.1 (npm) is affected by GHSA-c2c7-rcm5-vvqj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"picomatch@2.3.1 (npm):GHSA-c2c7-rcm5-vvqj"},{"rule_id":"osv/GHSA-c2c7-rcm5-vvqj","severity":"high","message":"picomatch@4.0.3 (npm) is affected by GHSA-c2c7-rcm5-vvqj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"picomatch@4.0.3 (npm):GHSA-c2c7-rcm5-vvqj"},{"rule_id":"osv/GHSA-6g55-p6wh-862q","severity":"high","message":"postcss@8.4.31 (npm) is affected by GHSA-6g55-p6wh-862q","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-6g55-p6wh-862q"},{"rule_id":"osv/GHSA-r28c-9q8g-f849","severity":"high","message":"postcss@8.4.31 (npm) is affected by GHSA-r28c-9q8g-f849","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-r28c-9q8g-f849"},{"rule_id":"osv/GHSA-6g55-p6wh-862q","severity":"high","message":"postcss@8.5.6 (npm) is affected by GHSA-6g55-p6wh-862q","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-6g55-p6wh-862q"},{"rule_id":"osv/GHSA-r28c-9q8g-f849","severity":"high","message":"postcss@8.5.6 (npm) is affected by GHSA-r28c-9q8g-f849","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-r28c-9q8g-f849"},{"rule_id":"osv/GHSA-f88m-g3jw-g9cj","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-f88m-g3jw-g9cj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-f88m-g3jw-g9cj"},{"rule_id":"osv/GHSA-rgj7-g3m4-5g8c","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-rgj7-g3m4-5g8c","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-rgj7-g3m4-5g8c"},{"rule_id":"osv/GHSA-wq5f-xc86-pv6w","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-wq5f-xc86-pv6w","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-wq5f-xc86-pv6w"},{"rule_id":"osv/GHSA-7w5x-hrqm-74c2","severity":"high","message":"smol-toml@1.6.0 (npm) is affected by GHSA-7w5x-hrqm-74c2","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"smol-toml@1.6.0 (npm):GHSA-7w5x-hrqm-74c2"},{"rule_id":"osv/GHSA-68fv-2mgg-jv7q","severity":"high","message":"source-map-js@1.2.1 (npm) is affected by GHSA-68fv-2mgg-jv7q","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"source-map-js@1.2.1 (npm):GHSA-68fv-2mgg-jv7q"},{"rule_id":"osv/GHSA-w5hq-g745-h8pq","severity":"high","message":"uuid@11.1.0 (npm) is affected by GHSA-w5hq-g745-h8pq","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"uuid@11.1.0 (npm):GHSA-w5hq-g745-h8pq"},{"rule_id":"osv/GHSA-w5hq-g745-h8pq","severity":"high","message":"uuid@13.0.0 (npm) is affected by GHSA-w5hq-g745-h8pq","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"uuid@13.0.0 (npm):GHSA-w5hq-g745-h8pq"},{"rule_id":"osv/GHSA-w5hq-g745-h8pq","severity":"high","message":"uuid@8.3.2 (npm) is affected by GHSA-w5hq-g745-h8pq","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"uuid@8.3.2 (npm):GHSA-w5hq-g745-h8pq"},{"rule_id":"osv/GHSA-mrhx-c7xc-m3w5","severity":"high","message":"zod@4.3.6 (npm) is affected by GHSA-mrhx-c7xc-m3w5","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"zod@4.3.6 (npm):GHSA-mrhx-c7xc-m3w5"},{"rule_id":"osv/GHSA-p498-v437-472g","severity":"medium","message":"@humanfs/node@0.16.7 (npm) is affected by GHSA-p498-v437-472g","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"@humanfs/node@0.16.7 (npm):GHSA-p498-v437-472g"},{"rule_id":"osv/GHSA-2g4f-4pwh-qvx6","severity":"medium","message":"ajv@6.12.6 (npm) is affected by GHSA-2g4f-4pwh-qvx6","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"ajv@6.12.6 (npm):GHSA-2g4f-4pwh-qvx6"},{"rule_id":"osv/GHSA-2g4f-4pwh-qvx6","severity":"medium","message":"ajv@8.17.1 (npm) is affected by GHSA-2g4f-4pwh-qvx6","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"ajv@8.17.1 (npm):GHSA-2g4f-4pwh-qvx6"},{"rule_id":"osv/GHSA-w5vr-8v7q-w6rv","severity":"medium","message":"baseline-browser-mapping@2.9.19 (npm) is affected by GHSA-w5vr-8v7q-w6rv","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"baseline-browser-mapping@2.9.19 (npm):GHSA-w5vr-8v7q-w6rv"},{"rule_id":"osv/GHSA-f886-m6hf-6m8v","severity":"medium","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-f886-m6hf-6m8v","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-f886-m6hf-6m8v"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-f886-m6hf-6m8v","severity":"medium","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-f886-m6hf-6m8v","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-f886-m6hf-6m8v"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-39q2-94rc-95cp","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-39q2-94rc-95cp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-39q2-94rc-95cp"},{"rule_id":"osv/GHSA-55q2-fjhq-7xh7","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-55q2-fjhq-7xh7","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-55q2-fjhq-7xh7"},{"rule_id":"osv/GHSA-6688-9rhm-gjv2","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-6688-9rhm-gjv2","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-6688-9rhm-gjv2"},{"rule_id":"osv/GHSA-76mc-f452-cxcm","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-76mc-f452-cxcm","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-76mc-f452-cxcm"},{"rule_id":"osv/GHSA-c6gr-qvv4-5v3f","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-c6gr-qvv4-5v3f","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-c6gr-qvv4-5v3f"},{"rule_id":"osv/GHSA-cj63-jhhr-wcxv","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-cj63-jhhr-wcxv","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-cj63-jhhr-wcxv"},{"rule_id":"osv/GHSA-cjmm-f4jc-qw8r","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-cjmm-f4jc-qw8r","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-cjmm-f4jc-qw8r"},{"rule_id":"osv/GHSA-cmwh-pvxp-8882","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-cmwh-pvxp-8882","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-cmwh-pvxp-8882"},{"rule_id":"osv/GHSA-crv5-9vww-q3g8","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-crv5-9vww-q3g8","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-crv5-9vww-q3g8"},{"rule_id":"osv/GHSA-h7mw-gpvr-xq4m","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-h7mw-gpvr-xq4m","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-h7mw-gpvr-xq4m"},{"rule_id":"osv/GHSA-h8r8-wccr-v5f2","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-h8r8-wccr-v5f2","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-h8r8-wccr-v5f2"},{"rule_id":"osv/GHSA-hpcv-96wg-7vj8","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-hpcv-96wg-7vj8","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-hpcv-96wg-7vj8"},{"rule_id":"osv/GHSA-r47g-fvhr-h676","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-r47g-fvhr-h676","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-r47g-fvhr-h676"},{"rule_id":"osv/GHSA-rp9w-3fw7-7cwq","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-rp9w-3fw7-7cwq","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-rp9w-3fw7-7cwq"},{"rule_id":"osv/GHSA-v2wj-7wpq-c8vv","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-v2wj-7wpq-c8vv","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-v2wj-7wpq-c8vv"},{"rule_id":"osv/GHSA-v9jr-rg53-9pgp","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-v9jr-rg53-9pgp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-v9jr-rg53-9pgp"},{"rule_id":"osv/GHSA-x4vx-rjvf-j5p4","severity":"medium","message":"dompurify@3.3.1 (npm) is affected by GHSA-x4vx-rjvf-j5p4","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-x4vx-rjvf-j5p4"},{"rule_id":"osv/GHSA-hrr3-gc8f-f4qj","severity":"medium","message":"fast-uri@3.1.0 (npm) is affected by GHSA-hrr3-gc8f-f4qj","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-hrr3-gc8f-f4qj"},{"rule_id":"osv/GHSA-w74x-v6f9-j3xg","severity":"medium","message":"fast-uri@3.1.0 (npm) is affected by GHSA-w74x-v6f9-j3xg","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-w74x-v6f9-j3xg"},{"rule_id":"osv/GHSA-h67p-54hq-rp68","severity":"medium","message":"js-yaml@4.1.1 (npm) is affected by GHSA-h67p-54hq-rp68","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-h67p-54hq-rp68"},{"rule_id":"osv/GHSA-xxjr-mmjv-4gpg","severity":"medium","message":"lodash-es@4.17.21 (npm) is affected by GHSA-xxjr-mmjv-4gpg","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"lodash-es@4.17.21 (npm):GHSA-xxjr-mmjv-4gpg"},{"rule_id":"osv/GHSA-f23m-r3pf-42rh","severity":"medium","message":"lodash-es@4.17.23 (npm) is affected by GHSA-f23m-r3pf-42rh","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"lodash-es@4.17.23 (npm):GHSA-f23m-r3pf-42rh"},{"rule_id":"osv/GHSA-2v8p-3f2j-5mp7","severity":"medium","message":"mermaid@11.12.2 (npm) is affected by GHSA-2v8p-3f2j-5mp7","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"mermaid@11.12.2 (npm):GHSA-2v8p-3f2j-5mp7"},{"rule_id":"osv/GHSA-3rrr-jr9j-h3q3","severity":"medium","message":"mermaid@11.12.2 (npm) is affected by GHSA-3rrr-jr9j-h3q3","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"mermaid@11.12.2 (npm):GHSA-3rrr-jr9j-h3q3"},{"rule_id":"osv/GHSA-6m6c-36f7-fhxh","severity":"medium","message":"mermaid@11.12.2 (npm) is affected by GHSA-6m6c-36f7-fhxh","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"mermaid@11.12.2 (npm):GHSA-6m6c-36f7-fhxh"},{"rule_id":"osv/GHSA-6x64-9x62-f2gx","severity":"medium","message":"mermaid@11.12.2 (npm) is affected by GHSA-6x64-9x62-f2gx","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"mermaid@11.12.2 (npm):GHSA-6x64-9x62-f2gx"},{"rule_id":"osv/GHSA-87f9-hvmw-gh4p","severity":"medium","message":"mermaid@11.12.2 (npm) is affected by GHSA-87f9-hvmw-gh4p","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"mermaid@11.12.2 (npm):GHSA-87f9-hvmw-gh4p"},{"rule_id":"osv/GHSA-ghcm-xqfw-q4vr","severity":"medium","message":"mermaid@11.12.2 (npm) is affected by GHSA-ghcm-xqfw-q4vr","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"mermaid@11.12.2 (npm):GHSA-ghcm-xqfw-q4vr"},{"rule_id":"osv/GHSA-rhh3-jpg6-66xh","severity":"medium","message":"mermaid@11.12.2 (npm) is affected by GHSA-rhh3-jpg6-66xh","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"mermaid@11.12.2 (npm):GHSA-rhh3-jpg6-66xh"},{"rule_id":"osv/GHSA-xcj9-5m2h-648r","severity":"medium","message":"mermaid@11.12.2 (npm) is affected by GHSA-xcj9-5m2h-648r","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"mermaid@11.12.2 (npm):GHSA-xcj9-5m2h-648r"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@9.0.5 (npm) is affected by GHSA-g3hv-75wg-m249","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"minimatch@9.0.5 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-39w2-rjm5-chcv","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-39w2-rjm5-chcv","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-39w2-rjm5-chcv"},{"rule_id":"osv/GHSA-3x4c-7xq6-9pq8","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-3x4c-7xq6-9pq8","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-3x4c-7xq6-9pq8"},{"rule_id":"osv/GHSA-4633-3j49-mh5q","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-4633-3j49-mh5q","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-4633-3j49-mh5q"},{"rule_id":"osv/GHSA-4c39-4ccg-62r3","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-4c39-4ccg-62r3","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-4c39-4ccg-62r3"},{"rule_id":"osv/GHSA-4jqv-mc3x-m676","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-4jqv-mc3x-m676","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-4jqv-mc3x-m676"},{"rule_id":"osv/GHSA-68g3-v927-f742","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-68g3-v927-f742","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-68g3-v927-f742"},{"rule_id":"osv/GHSA-955p-x3mx-jcvp","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-955p-x3mx-jcvp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-955p-x3mx-jcvp"},{"rule_id":"osv/GHSA-f87g-xv8r-7p7x","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-f87g-xv8r-7p7x","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-f87g-xv8r-7p7x"},{"rule_id":"osv/GHSA-ffhc-5mcf-pf4q","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-ffhc-5mcf-pf4q","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-ffhc-5mcf-pf4q"},{"rule_id":"osv/GHSA-ggv3-7p47-pfv8","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-ggv3-7p47-pfv8","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-ggv3-7p47-pfv8"},{"rule_id":"osv/GHSA-gx5p-jg67-6x7h","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-gx5p-jg67-6x7h","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-gx5p-jg67-6x7h"},{"rule_id":"osv/GHSA-h27x-g6w4-24gq","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-h27x-g6w4-24gq","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-h27x-g6w4-24gq"},{"rule_id":"osv/GHSA-h64f-5h5j-jqjh","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-h64f-5h5j-jqjh","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-h64f-5h5j-jqjh"},{"rule_id":"osv/GHSA-mcj8-r9mp-w47p","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-mcj8-r9mp-w47p","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-mcj8-r9mp-w47p"},{"rule_id":"osv/GHSA-mq59-m269-xvcx","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-mq59-m269-xvcx","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-mq59-m269-xvcx"},{"rule_id":"osv/GHSA-q8wf-6r8g-63ch","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-q8wf-6r8g-63ch","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-q8wf-6r8g-63ch"},{"rule_id":"osv/GHSA-wfc6-r584-vfw7","severity":"medium","message":"next@16.1.6 (npm) is affected by GHSA-wfc6-r584-vfw7","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-wfc6-r584-vfw7"},{"rule_id":"osv/GHSA-x445-f3h2-j279","severity":"medium","message":"next-auth@4.24.13 (npm) is affected by GHSA-x445-f3h2-j279","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next-auth@4.24.13 (npm):GHSA-x445-f3h2-j279"},{"rule_id":"osv/GHSA-3v7f-55p6-f55p","severity":"medium","message":"picomatch@2.3.1 (npm) is affected by GHSA-3v7f-55p6-f55p","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"picomatch@2.3.1 (npm):GHSA-3v7f-55p6-f55p"},{"rule_id":"osv/GHSA-3v7f-55p6-f55p","severity":"medium","message":"picomatch@4.0.3 (npm) is affected by GHSA-3v7f-55p6-f55p","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"picomatch@4.0.3 (npm):GHSA-3v7f-55p6-f55p"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.4.31 (npm) is affected by GHSA-fxqj-rqcc-2cmp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-qx2v-qp2m-jg93","severity":"medium","message":"postcss@8.4.31 (npm) is affected by GHSA-qx2v-qp2m-jg93","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"postcss@8.4.31 (npm):GHSA-qx2v-qp2m-jg93"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.5.6 (npm) is affected by GHSA-fxqj-rqcc-2cmp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-qx2v-qp2m-jg93","severity":"medium","message":"postcss@8.5.6 (npm) is affected by GHSA-qx2v-qp2m-jg93","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"postcss@8.5.6 (npm):GHSA-qx2v-qp2m-jg93"},{"rule_id":"osv/GHSA-r4xh-jqrq-34v2","severity":"medium","message":"smol-toml@1.6.0 (npm) is affected by GHSA-r4xh-jqrq-34v2","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"smol-toml@1.6.0 (npm):GHSA-r4xh-jqrq-34v2"},{"rule_id":"osv/GHSA-v3rj-xjv7-4jmq","severity":"medium","message":"smol-toml@1.6.0 (npm) is affected by GHSA-v3rj-xjv7-4jmq","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"smol-toml@1.6.0 (npm):GHSA-v3rj-xjv7-4jmq"},{"rule_id":"osv/GHSA-48c2-rrv3-qjmp","severity":"medium","message":"yaml@2.8.2 (npm) is affected by GHSA-48c2-rrv3-qjmp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"yaml@2.8.2 (npm):GHSA-48c2-rrv3-qjmp"},{"rule_id":"osv/GHSA-4x5r-pxfx-6jf8","severity":"low","message":"@babel/core@7.29.0 (npm) is affected by GHSA-4x5r-pxfx-6jf8","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"@babel/core@7.29.0 (npm):GHSA-4x5r-pxfx-6jf8"},{"rule_id":"osv/GHSA-c2j3-45gr-mqc4","severity":"low","message":"dompurify@3.3.1 (npm) is affected by GHSA-c2j3-45gr-mqc4","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-c2j3-45gr-mqc4"},{"rule_id":"osv/GHSA-gvmj-g25r-r7wr","severity":"low","message":"dompurify@3.3.1 (npm) is affected by GHSA-gvmj-g25r-r7wr","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-gvmj-g25r-r7wr"},{"rule_id":"osv/GHSA-vxr8-fq34-vvx9","severity":"low","message":"dompurify@3.3.1 (npm) is affected by GHSA-vxr8-fq34-vvx9","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"dompurify@3.3.1 (npm):GHSA-vxr8-fq34-vvx9"},{"rule_id":"osv/GHSA-333x-w4r6-6crp","severity":"low","message":"fast-uri@3.1.0 (npm) is affected by GHSA-333x-w4r6-6crp","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-333x-w4r6-6crp"},{"rule_id":"osv/GHSA-xhq7-xmqj-769h","severity":"low","message":"fast-uri@3.1.0 (npm) is affected by GHSA-xhq7-xmqj-769h","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"fast-uri@3.1.0 (npm):GHSA-xhq7-xmqj-769h"},{"rule_id":"osv/GHSA-238p-pmpm-9mq7","severity":"low","message":"katex@0.16.28 (npm) is affected by GHSA-238p-pmpm-9mq7","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"katex@0.16.28 (npm):GHSA-238p-pmpm-9mq7"},{"rule_id":"osv/GHSA-c4c3-pg64-4m4v","severity":"low","message":"mermaid@11.12.2 (npm) is affected by GHSA-c4c3-pg64-4m4v","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"mermaid@11.12.2 (npm):GHSA-c4c3-pg64-4m4v"},{"rule_id":"osv/GHSA-3g8h-86w9-wvmq","severity":"low","message":"next@16.1.6 (npm) is affected by GHSA-3g8h-86w9-wvmq","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-3g8h-86w9-wvmq"},{"rule_id":"osv/GHSA-jcc7-9wpm-mj36","severity":"low","message":"next@16.1.6 (npm) is affected by GHSA-jcc7-9wpm-mj36","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-jcc7-9wpm-mj36"},{"rule_id":"osv/GHSA-vfv6-92ff-j949","severity":"low","message":"next@16.1.6 (npm) is affected by GHSA-vfv6-92ff-j949","path":"kyc-portal/package-lock.json","line":null,"fingerprint":"next@16.1.6 (npm):GHSA-vfv6-92ff-j949"}],"evidence":[],"data":{"ecosystems":["PyPI","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.0,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":0.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[],"data":{"signals":[],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":321.0,"function_nloc":5026.0,"mean_ccn":2.8,"p90_ccn":7.0,"complex_functions":8.0,"long_functions":5.0,"many_param_functions":0.0,"risky_nloc_share":0.2302},"findings":[],"evidence":[{"kind":"complex-function","description":"crossVerifyDocuments in kyc-portal/src/lib/gemini.ts: complexity 33, 67 lines","ref":"kyc-portal/src/lib/gemini.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/lib/gemini.ts#L244","weight":0.55},{"kind":"complex-function","description":"compareFormToDocuments in kyc-portal/src/lib/gemini.ts: complexity 26, 65 lines","ref":"kyc-portal/src/lib/gemini.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/lib/gemini.ts#L156","weight":0.43333333333333335},{"kind":"complex-function","description":"handler in kyc-portal/src/pages/api/kyc/submit.ts: complexity 25, 157 lines","ref":"kyc-portal/src/pages/api/kyc/submit.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/api/kyc/submit.ts#L52","weight":0.4166666666666667},{"kind":"complex-function","description":"StatusPage in kyc-portal/src/pages/status/[refId].tsx: complexity 25, 161 lines","ref":"kyc-portal/src/pages/status/[refId].tsx","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/status/[refId].tsx#L98","weight":0.4166666666666667},{"kind":"complex-function","description":"handler in kyc-portal/src/pages/api/code-review.ts: complexity 19, 88 lines","ref":"kyc-portal/src/pages/api/code-review.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/api/code-review.ts#L197","weight":0.31666666666666665},{"kind":"complex-function","description":"CodeReviewPage in kyc-portal/src/pages/code-review.tsx: complexity 17, 149 lines","ref":"kyc-portal/src/pages/code-review.tsx","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/code-review.tsx#L231","weight":0.2833333333333333},{"kind":"complex-function","description":"handler in kyc-portal/src/pages/api/kyc/review.ts: complexity 16, 70 lines","ref":"kyc-portal/src/pages/api/kyc/review.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/api/kyc/review.ts#L6","weight":0.26666666666666666},{"kind":"complex-function","description":"DocumentResultCard in kyc-portal/src/pages/status/[refId].tsx: complexity 16, 80 lines","ref":"kyc-portal/src/pages/status/[refId].tsx","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/status/[refId].tsx#L560","weight":0.26666666666666666},{"kind":"complex-function","description":"KycForm in kyc-portal/src/components/KycForm.tsx: complexity 11, 183 lines","ref":"kyc-portal/src/components/KycForm.tsx","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/components/KycForm.tsx#L115","weight":0.18333333333333332},{"kind":"complex-function","description":"LoginPage in kyc-portal/src/pages/index.tsx: complexity 9, 137 lines","ref":"kyc-portal/src/pages/index.tsx","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/index.tsx#L11","weight":0.15}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":5823.0,"duplicated_lines":176.0,"duplicated_share":0.0302,"files":61.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: kyc-portal/src/components/AppSidebar.tsx:52 and kyc-portal/src/components/NavBar.tsx:28","ref":"kyc-portal/src/components/AppSidebar.tsx","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/components/AppSidebar.tsx#L52","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: kyc-portal/src/components/AppSidebar.tsx:94 and kyc-portal/src/components/AppSidebar.tsx:116","ref":"kyc-portal/src/components/AppSidebar.tsx","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/components/AppSidebar.tsx#L94","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: kyc-portal/src/components/DocumentCard.tsx:8 and kyc-portal/src/components/KycForm.tsx:35","ref":"kyc-portal/src/components/DocumentCard.tsx","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/components/DocumentCard.tsx#L8","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: kyc-portal/src/lib/gemini.ts:62 and kyc-portal/src/lib/gemini.ts:376","ref":"kyc-portal/src/lib/gemini.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/lib/gemini.ts#L62","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: kyc-portal/src/lib/gemini.ts:96 and kyc-portal/src/pages/status/[refId].tsx:47","ref":"kyc-portal/src/lib/gemini.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/lib/gemini.ts#L96","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: kyc-portal/src/lib/types.ts:38 and kyc-portal/src/pages/status/[refId].tsx:69","ref":"kyc-portal/src/lib/types.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/lib/types.ts#L38","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: kyc-portal/src/pages/api/kyc/list.ts:6 and kyc-portal/src/pages/api/kyc/status/[refId].ts:6","ref":"kyc-portal/src/pages/api/kyc/list.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/api/kyc/list.ts#L6","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: kyc-portal/src/pages/api/kyc/review.ts:6 and kyc-portal/src/pages/api/kyc/submit.ts:52","ref":"kyc-portal/src/pages/api/kyc/review.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/api/kyc/review.ts#L6","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: kyc-portal/src/pages/api/kyc/review.ts:38 and kyc-portal/src/pages/api/kyc/status/[refId].ts:25","ref":"kyc-portal/src/pages/api/kyc/review.ts","url":"https://github.com/deepan-alve/Tcsinthacks/blob/816a0ef5d55623bfa3f77e109d62d92f9d1f364b/kyc-portal/src/pages/api/kyc/review.ts#L38","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":123.0,"weighted_findings":118.5,"scanned_lines":7795.0,"category:best-practice":116.0,"category:correctness":6.0,"category:maintainability":1.0},"findings":[{"rule_id":"opengrep/python.lang.maintainability.useless-if-body","severity":"medium","message":"Useless if statement; both blocks have the same body","path":"ai-quality-checker/app.py","line":159,"fingerprint":"python.lang.maintainability.useless-if-body:ai-quality-checker/app.py:159"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/alert.tsx","line":32,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/alert.tsx:32"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/alert.tsx","line":45,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/alert.tsx:45"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/alert.tsx","line":61,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/alert.tsx:61"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/avatar.tsx","line":23,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/avatar.tsx:23"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/avatar.tsx","line":36,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/avatar.tsx:36"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/avatar.tsx","line":52,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/avatar.tsx:52"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/avatar.tsx","line":68,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/avatar.tsx:68"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/avatar.tsx","line":81,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/avatar.tsx:81"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/avatar.tsx","line":97,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/avatar.tsx:97"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/badge.tsx","line":43,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/badge.tsx:43"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/breadcrumb.tsx","line":8,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/breadcrumb.tsx:8"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/breadcrumb.tsx","line":19,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/breadcrumb.tsx:19"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/breadcrumb.tsx","line":29,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/breadcrumb.tsx:29"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/breadcrumb.tsx","line":47,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/breadcrumb.tsx:47"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/breadcrumb.tsx","line":60,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/breadcrumb.tsx:60"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/breadcrumb.tsx","line":76,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/breadcrumb.tsx:76"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/breadcrumb.tsx","line":93,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/breadcrumb.tsx:93"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/button.tsx","line":59,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/button.tsx:59"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/card.tsx","line":13,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/card.tsx:13"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/card.tsx","line":26,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/card.tsx:26"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/card.tsx","line":36,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/card.tsx:36"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/card.tsx","line":46,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/card.tsx:46"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/card.tsx","line":59,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/card.tsx:59"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/card.tsx","line":69,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/card.tsx:69"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/card.tsx","line":79,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/card.tsx:79"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":11,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:11"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":17,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:17"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":23,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:23"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":29,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:29"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":43,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:43"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":65,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:65"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":87,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:87"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":107,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:107"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":127,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:127"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dialog.tsx","line":140,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dialog.tsx:140"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":12,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:12"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":19,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:19"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":29,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:29"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":48,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:48"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":58,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:58"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":80,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:80"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":99,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:99"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":117,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:117"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":134,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:134"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":161,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:161"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":174,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:174"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":190,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:190"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":198,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:198"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":217,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:217"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/dropdown-menu.tsx","line":236,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/dropdown-menu.tsx:236"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/input.tsx","line":16,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/input.tsx:16"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/label.tsx","line":17,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/label.tsx:17"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/progress.tsx","line":20,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/progress.tsx:20"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":10,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:10"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":16,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:16"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":22,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:22"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":41,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:41"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":70,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:70"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":96,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:96"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":113,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:113"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":136,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:136"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":152,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:152"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/select.tsx","line":170,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/select.tsx:170"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/separator.tsx","line":21,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/separator.tsx:21"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":10,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:10"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":16,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:16"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":22,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:22"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":28,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:28"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":42,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:42"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":74,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:74"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":93,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:93"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":103,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:103"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":116,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:116"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sheet.tsx","line":129,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sheet.tsx:129"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":145,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:145"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":176,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:176"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":185,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:185"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":242,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:242"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":274,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:274"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":302,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:302"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":316,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:316"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":330,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:330"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":341,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:341"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":352,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:352"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":366,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:366"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":380,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:380"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":391,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:391"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":412,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:412"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":435,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:435"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":449,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:449"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":460,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:460"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":471,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:471"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":521,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:521"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":542,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:542"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":575,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:575"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":597,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:597"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":619,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:619"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":650,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:650"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":664,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:664"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sidebar.tsx","line":696,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sidebar.tsx:696"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/skeleton.tsx","line":8,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/skeleton.tsx:8"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/sonner.tsx","line":33,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/sonner.tsx:33"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/table.tsx","line":16,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/table.tsx:16"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/table.tsx","line":27,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/table.tsx:27"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/table.tsx","line":37,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/table.tsx:37"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/table.tsx","line":50,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/table.tsx:50"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/table.tsx","line":63,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/table.tsx:63"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/table.tsx","line":76,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/table.tsx:76"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/table.tsx","line":89,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/table.tsx:89"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/table.tsx","line":102,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/table.tsx:102"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/textarea.tsx","line":13,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/textarea.tsx:13"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/tooltip.tsx","line":14,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/tooltip.tsx:14"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/tooltip.tsx","line":22,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/tooltip.tsx:22"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/tooltip.tsx","line":28,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/tooltip.tsx:28"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/components/ui/tooltip.tsx","line":46,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/components/ui/tooltip.tsx:46"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"kyc-portal/src/pages/_app.tsx","line":10,"fingerprint":"typescript.react.best-practice.react-props-spreading:kyc-portal/src/pages/_app.tsx:10"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"kyc-portal/src/lib/gemini.ts","line":13,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:kyc-portal/src/lib/gemini.ts:13"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"kyc-portal/src/lib/gemini.ts","line":13,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:kyc-portal/src/lib/gemini.ts:13"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"kyc-portal/src/lib/gemini.ts","line":38,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:kyc-portal/src/lib/gemini.ts:38"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"kyc-portal/src/lib/gemini.ts","line":115,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:kyc-portal/src/lib/gemini.ts:115"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"kyc-portal/src/lib/gemini.ts","line":115,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:kyc-portal/src/lib/gemini.ts:115"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"kyc-portal/src/pages/api/code-review.ts","line":118,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:kyc-portal/src/pages/api/code-review.ts:118"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":0.0,"check:test_ratio":0.0,"check:ci_present":0.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0,"test_lines":0.0,"source_lines":7909.0,"test_ratio":0.0,"ci_files":0.0,"cochange_share":0.0,"cochange_commits":3.0},"findings":[],"evidence":[],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":0.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":212.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.952,"check:low_escape_density":1.0,"escapes":0.0,"escapes_per_kloc":0.0},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: kyc-portal/tsconfig.json","ref":"kyc-portal/tsconfig.json","url":null,"weight":0.0}],"data":{},"error":null}],"flags":[]}