{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-14T00:06:30.365135Z","repo":{"ref":{"host":"github.com","owner":"FullAgent","name":"fulling"},"default_branch":"main","clone_url":"https://github.com/FullAgent/fulling.git","html_url":"https://github.com/FullAgent/fulling","description":"Fulling is an AI-powered Full-stack Engineer Agent. Built with Next.js, Claude, shadcn/ui, and PostgreSQL. Use kubernetes as infra.","stars":2445,"forks":235,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":5287,"primary_language":"TypeScript","license_spdx":"MIT","created_at":"2025-10-11T02:31:07Z","pushed_at":"2026-08-17T01:11:41Z","security_policy_url":null,"distribution":{"owner_created_at":"2025-10-02T13:14:18Z","owner_type":"Organization","release_assets":[]}},"commit_sha":"f48efced082a7de3517816267481c04e058672cb","profile":{"lines_by_language":{"TypeScript":2714,"SQL":94,"JavaScript":79},"files_by_category":{"source":49,"config":11,"docs":10,"test":9,"other":7,"binary":2,"generated":1},"source_lines":2240,"test_lines":647},"pillars":{"ai_provenance":{"score":48.8,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.4883,"suspected_share":0.0708,"estimated_share":0.4883,"ai_artifacts":1.0,"flagged_work_units":2.0,"flagged_releases":0.0},"summary":"Explicit AI attribution on 49% of first-party code added; an estimated 49% including velocity signals."},"quality":{"score":74.9,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":100.0,"duplication":94.6,"lint":12.3,"testing":73.4,"docs":80.0,"type_safety":100.0,"process":null},"summary":"Code quality is adequate: test-to-source ratio 0.29, CI runs tests; 0% of function code in complex or long functions; 1% duplicated lines. Weakest area: lint."},"security":{"score":66.7,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":96.7,"sast":100.0,"dependencies":6.1,"ci_actions":57.5,"posture":60.0,"scorecard":null},"summary":"Security posture is weak: 99 known vulnerabilities in 26 dependencies; 2 high-severity workflow issues. Weakest area: dependencies."}},"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":42.0,"checked":42.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":209.0,"attributed_commits":73.0,"attributed_commit_share":0.3492822966507177,"effective_loc":56826.0,"attributed_loc":27748.0,"attributed_loc_share":0.4882976102488298,"tools_detected":3.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 50 attributed commits, 19,518 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attribution-summary","description":"OpenAI Codex: 18 attributed commits, 4,985 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attribution-summary","description":"GitHub Copilot coding agent: 8 attributed commits, 4,780 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/issue-183-runtime-dependency-upgrades'","ref":"317c0141893e27c9a05c23b7d88104a7262f6cef","url":"https://github.com/FullAgent/fulling/commit/317c0141893e27c9a05c23b7d88104a7262f6cef","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (e568b4e461)","ref":"ad7dce932a633a1555a4d48fbc92e0bf0543b51c","url":"https://github.com/FullAgent/fulling/commit/ad7dce932a633a1555a4d48fbc92e0bf0543b51c","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/issue-181-vercel-deployment'","ref":"9ccaab5707f92c1a52c8922e375ad22783256933","url":"https://github.com/FullAgent/fulling/commit/9ccaab5707f92c1a52c8922e375ad22783256933","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/issue-180-npm-migration'","ref":"869aaad22046f595c0edfe6322e615988d1618ce","url":"https://github.com/FullAgent/fulling/commit/869aaad22046f595c0edfe6322e615988d1618ce","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/issue-178-landing-page'","ref":"53b934db1afef349ddb50777a5b0b7d3ef583c9f","url":"https://github.com/FullAgent/fulling/commit/53b934db1afef349ddb50777a5b0b7d3ef583c9f","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/wiki-docs'","ref":"d95060f8421b5888564fc8517c1fe99ded463985","url":"https://github.com/FullAgent/fulling/commit/d95060f8421b5888564fc8517c1fe99ded463985","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/lib-platform-tests'","ref":"2365e3a7ead174bfb90eb0d6a3e3c7d01cba135b","url":"https://github.com/FullAgent/fulling/commit/2365e3a7ead174bfb90eb0d6a3e3c7d01cba135b","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/global-skill-uninstall'","ref":"5cfc59ad3d3b33f58b6579dd8392bcb8ffb18f95","url":"https://github.com/FullAgent/fulling/commit/5cfc59ad3d3b33f58b6579dd8392bcb8ffb18f95","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/global-skill-enablement'","ref":"67c34d3342cefd94270ebe3347610aff9eb1af62","url":"https://github.com/FullAgent/fulling/commit/67c34d3342cefd94270ebe3347610aff9eb1af62","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/import-status-handling'","ref":"25c93c35e2da9873eab725c0b147670394ce10a3","url":"https://github.com/FullAgent/fulling/commit/25c93c35e2da9873eab725c0b147670394ce10a3","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/import-command-boundary'","ref":"7746688fb67965181bca5faeaa009c6979492b9d","url":"https://github.com/FullAgent/fulling/commit/7746688fb67965181bca5faeaa009c6979492b9d","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/platform-control-refactor'","ref":"61a9026f780788bc0acc14d164e24e39d6380a90","url":"https://github.com/FullAgent/fulling/commit/61a9026f780788bc0acc14d164e24e39d6380a90","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/landing-single-screen-tune'","ref":"51833cb5836d28b769db125af3481923b5119468","url":"https://github.com/FullAgent/fulling/commit/51833cb5836d28b769db125af3481923b5119468","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/project-status-display-rules'","ref":"c3840231a2aad17e5f1b9ff080257e11895dce84","url":"https://github.com/FullAgent/fulling/commit/c3840231a2aad17e5f1b9ff080257e11895dce84","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/prepare-deploy'","ref":"393b6aaa49102819b9915068fc1480f584f6d9b1","url":"https://github.com/FullAgent/fulling/commit/393b6aaa49102819b9915068fc1480f584f6d9b1","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/cleanup-projects-entrypoints'","ref":"d41b8114584b801fb56a003568e0457b411c2f75","url":"https://github.com/FullAgent/fulling/commit/d41b8114584b801fb56a003568e0457b411c2f75","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/import-github-real-import'","ref":"beba67332a4d57dc7722d0fd79bf0cdc8f895cab","url":"https://github.com/FullAgent/fulling/commit/beba67332a4d57dc7722d0fd79bf0cdc8f895cab","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: PR branch 'codex/projects-import-button-investigation'","ref":"3ff1a3259b605a33d542299c51d676b61f15bef1","url":"https://github.com/FullAgent/fulling/commit/3ff1a3259b605a33d542299c51d676b61f15bef1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"76d8f6c02a8d65bad1d71f71dd767d35ff2d3b9d","url":"https://github.com/FullAgent/fulling/commit/76d8f6c02a8d65bad1d71f71dd767d35ff2d3b9d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4e18742295b8fa0682886ac6117514da52cacc2b","url":"https://github.com/FullAgent/fulling/commit/4e18742295b8fa0682886ac6117514da52cacc2b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-authored-by: Claude'","ref":"0728b51a8fd4289bf4f11541b9da9d2291e3fb88","url":"https://github.com/FullAgent/fulling/commit/0728b51a8fd4289bf4f11541b9da9d2291e3fb88","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"21a26421da7e914ff498de57ae77ba4a134a725f","url":"https://github.com/FullAgent/fulling/commit/21a26421da7e914ff498de57ae77ba4a134a725f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"7334937cc7f1145ce77278db2b9420bc7ef36385","url":"https://github.com/FullAgent/fulling/commit/7334937cc7f1145ce77278db2b9420bc7ef36385","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"0f77faf722654da3beb34f097bfc74f85330d98f","url":"https://github.com/FullAgent/fulling/commit/0f77faf722654da3beb34f097bfc74f85330d98f","weight":0.9},{"kind":"attributed-commit","description":"GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'","ref":"82ba12a8f55c1c69d6215d657d2f257ce2eea4c0","url":"https://github.com/FullAgent/fulling/commit/82ba12a8f55c1c69d6215d657d2f257ce2eea4c0","weight":0.9}],"data":{"attributed_loc_by_commit":{"3f82408506be471aef65af967678e393ee8715a6":7002,"0e888f19bb76e7c776d2419b4cb42edcb75717c0":436,"e018927cc7232aeb3a0a2b957e306993b647db0e":1,"9b4a4ee0f25be7a9155aeb92f1fb70689e255a80":1,"62f6a6ef0133f9843e9146a288be271fad257c0e":1,"a4b6bf8e39b41de4f96641369d74b9d6ddc0af09":0,"278883d9af60b42a1ec4016a4fc1e495d5352b64":16,"1f46ad74771a6572fe640e021611a5c62e1d61f2":0,"1848291e357d89c7740f36f146b9d313de1d069f":0,"3c06cc4c3e303edcad06404ca064e8ac0895cbf5":0,"e4243860bc3db778828d5a54b7ec0c9525f48d26":179,"08f329c7e0e6e6149bac6b2e7a173e46b0a4db6b":80,"054a70b44f14629aa8be5c12e5722ea6e8e79a7e":2,"f9e12802a2529db5035ec07406d2af8c89e6b3a1":492,"24d06dc4e6b956d12f01bc21d6b620fa587c272d":55,"aa78ae8dab77ffe9abef0a3605236664b8b7203f":2,"a41d3fec626c8cb9a5d6fa7e9d100560da2f3f56":38,"ec0871069b4f833dbd8b564974f05c12d21f3c2b":1775,"f271e59c9085a04ae682d676d185b1000ab9414d":53,"f70a8db7648524594d87fa49126804448439b88c":336,"5d0bb4c3c2ef7d2beb09c79ea8da0b6a3cd5ffd1":117,"61015ef37ed0afc7c85bd740704050b27bc3c74c":1,"bee881a31e32dc107608945b4be6d062c1edc739":126,"ebdd697c2c7918453de041e2dfd647eeab961390":0,"b728c9e7ca2f56b2eaac61757b30547931625636":193,"0a6f489630da4347ef58c50ad0a3649ce93fc489":94,"2edfd39dcedf467792aed81da8779570e76ffe42":1,"c633765cd7bb763a6f0bbfb96a2b8118539250a1":0,"9628579baa8138fea810f42b08ea4f77e731dc69":178,"229d633346aa34adb6b7681a9702c409d51b81a3":296,"144eacf1a500a9e241aae2cbedb15b8ffbdb4b2e":76,"5666cc5fa27ba4043cf44c3115e6cb095eb62a49":3,"714f16b87728441f9579d9da30a81866b413e7a0":231,"538bddf513dc8e2d478d5b89908e6650c7b5ab92":160,"996b8f882b797dab235f0679d6663d908e5e4fbe":111,"ba277e38c177043d73634b64ad6e1dae3b0b2a65":229,"0cc1052770c74779cb42b6ce19a2f1f3922ba12d":3,"03832395573074f80794ae4d6c5b5299bfd8d49c":965,"59b3b98f41bde5a31569eb049f960aefae950bd1":237,"5c11860c9ddb81f473f4129bc264c500f14b17eb":3,"bb1e6cd942400b5c54cf86316d4ba869a3917dba":494,"fb8fb52187993d36ac608362181ac85351babfa1":78,"0e4f051549fddaa5fe89dc85dc6ab9582f937601":1124,"b065428337d0c7352653d8f5793c40f9eeb71936":1057,"bcdf3bee6d5e86dbe37fcae0e81fb5979a616062":13,"f197ed2c2196ee35362f405b2b347d39e7804195":16,"cc11e8014725c23463dccddedd59876ef08b6ddf":333,"0d2944e2d0a0f45556445757f0f3f52fa2017728":29,"82ba12a8f55c1c69d6215d657d2f257ce2eea4c0":983,"0f77faf722654da3beb34f097bfc74f85330d98f":619,"7334937cc7f1145ce77278db2b9420bc7ef36385":965,"21a26421da7e914ff498de57ae77ba4a134a725f":1582,"0728b51a8fd4289bf4f11541b9da9d2291e3fb88":14,"4e18742295b8fa0682886ac6117514da52cacc2b":1692,"76d8f6c02a8d65bad1d71f71dd767d35ff2d3b9d":271,"3ff1a3259b605a33d542299c51d676b61f15bef1":18,"beba67332a4d57dc7722d0fd79bf0cdc8f895cab":662,"d41b8114584b801fb56a003568e0457b411c2f75":3,"393b6aaa49102819b9915068fc1480f584f6d9b1":60,"c3840231a2aad17e5f1b9ff080257e11895dce84":106,"51833cb5836d28b769db125af3481923b5119468":39,"61a9026f780788bc0acc14d164e24e39d6380a90":273,"7746688fb67965181bca5faeaa009c6979492b9d":240,"25c93c35e2da9873eab725c0b147670394ce10a3":91,"67c34d3342cefd94270ebe3347610aff9eb1af62":801,"5cfc59ad3d3b33f58b6579dd8392bcb8ffb18f95":497,"2365e3a7ead174bfb90eb0d6a3e3c7d01cba135b":1607,"d95060f8421b5888564fc8517c1fe99ded463985":0,"53b934db1afef349ddb50777a5b0b7d3ef583c9f":364,"869aaad22046f595c0edfe6322e615988d1618ce":0,"9ccaab5707f92c1a52c8922e375ad22783256933":127,"ad7dce932a633a1555a4d48fbc92e0bf0543b51c":31,"317c0141893e27c9a05c23b7d88104a7262f6cef":66},"tools":{"claude-code":{"name":"Claude Code","commits":50,"loc":19518,"first_seen":1760182729,"last_seen":1772789633},"github-copilot":{"name":"GitHub Copilot coding agent","commits":8,"loc":4780,"first_seen":1762418024,"last_seen":1765527945},"openai-codex":{"name":"OpenAI Codex","commits":18,"loc":4985,"first_seen":1773043849,"last_seen":1784169118}},"monthly":{"2025-10":{"loc":17138,"attributed_loc":11551},"2025-11":{"loc":21511,"attributed_loc":5086},"2025-12":{"loc":3305,"attributed_loc":983},"2026-01":{"loc":1992,"attributed_loc":1584},"2026-02":{"loc":2138,"attributed_loc":1596},"2026-03":{"loc":5942,"attributed_loc":4753},"2026-04":{"loc":1617,"attributed_loc":1607},"2026-05":{"loc":18,"attributed_loc":0},"2026-06":{"loc":503,"attributed_loc":0},"2026-07":{"loc":2662,"attributed_loc":588}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":1.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1773286131.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":"AGENTS.md (generic-agent configuration)","ref":"AGENTS.md","url":"https://github.com/FullAgent/fulling/blob/f48efced082a7de3517816267481c04e058672cb/AGENTS.md","weight":0.5}],"data":{"artifacts":[{"tool":"generic-agent","path":"AGENTS.md","added_at":1773286131}],"workflows":[],"tools":["generic-agent"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":134.0,"flagged_units":2.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":42038.0,"flagged_loc":4026.0,"flagged_loc_share":0.09577049336314764,"max_loc_per_hour":664.75,"median_loc_per_hour":90.69864732952169,"pr_timed_units":93.0,"excluded_import_loc":14788.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"2,659 lines of first-party code in ~4.0h (665 lines/hour, 1 commit session)","ref":"ed780c8d75c410989f6a8a1f33ca66f9d26da7b5","url":"https://github.com/FullAgent/fulling/commit/ed780c8d75c410989f6a8a1f33ca66f9d26da7b5","weight":0.199425},{"kind":"velocity-burst","description":"1,367 lines of first-party code in ~2.1h (657 lines/hour, 1 commit session)","ref":"e7c0a50196ca921399ba84aeea02572c4555e7a2","url":"https://github.com/FullAgent/fulling/commit/e7c0a50196ca921399ba84aeea02572c4555e7a2","weight":0.19716346153846154}],"data":{"flagged_loc_by_commit":{"e7c0a50196ca921399ba84aeea02572c4555e7a2":1367,"ed780c8d75c410989f6a8a1f33ca66f9d26da7b5":2659},"excluded_import_commits":["3f82408506be471aef65af967678e393ee8715a6","4afba2122aab73243987b9421da303b07a364a01"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":4.0,"flagged_releases":0.0,"max_loc_per_day":2200.9},"findings":[],"evidence":[],"data":{"releases":[{"from":"v0.0.1-alpha.0","to":"v0.0.1-alpha.1","loc":101,"days":0.05,"loc_per_day":2200.9,"flagged":false},{"from":"v0.0.1-alpha.1","to":"v0.0.1","loc":84,"days":0.57,"loc_per_day":146.3,"flagged":false},{"from":"v0.0.1","to":"v1.0.0","loc":28537,"days":110.18,"loc_per_day":259.0,"flagged":false},{"from":"v1.0.0","to":"v2.0.0","loc":9684,"days":101.0,"loc_per_day":95.9,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":2240.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/curl-auth-header","severity":"low","message":"Possible curl-auth-header secret in history (commit c1e3555f0c); removed from the current tree but still retrievable","path":"github-token-tutorial.md","line":77,"fingerprint":"c1e3555f0c298c049064ba7356fb548d4c18d59d:github-token-tutorial.md:curl-auth-header:77"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":0.0,"findings_high":0.0,"findings_medium":0.0,"findings_low":0.0,"weighted_findings":0.0,"scanned_lines":2146.0,"parse_errors":0.0},"findings":[],"evidence":[],"data":{"rulesets":["typescript","javascript","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":26.0,"vulnerabilities":99.0,"vulns_critical":6.0,"vulns_high":38.0,"vulns_medium":47.0,"vulns_low":8.0,"vulns_unknown":0.0,"penalty":168.0},"findings":[{"rule_id":"osv/GHSA-965c-763c-88jm","severity":"critical","message":"better-auth@1.6.23 (npm) is affected by GHSA-965c-763c-88jm","path":"package-lock.json","line":null,"fingerprint":"better-auth@1.6.23 (npm):GHSA-965c-763c-88jm"},{"rule_id":"osv/GHSA-2464-fhr4-w9xw","severity":"critical","message":"next@16.2.10 (npm) is affected by GHSA-2464-fhr4-w9xw","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-2464-fhr4-w9xw"},{"rule_id":"osv/GHSA-2xp9-vwfh-vxw4","severity":"critical","message":"next@16.2.10 (npm) is affected by GHSA-2xp9-vwfh-vxw4","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-2xp9-vwfh-vxw4"},{"rule_id":"osv/GHSA-673q-mjm6-r5xr","severity":"critical","message":"next@16.2.10 (npm) is affected by GHSA-673q-mjm6-r5xr","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-673q-mjm6-r5xr"},{"rule_id":"osv/GHSA-p293-qw3h-jr36","severity":"critical","message":"next@16.2.10 (npm) is affected by GHSA-p293-qw3h-jr36","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-p293-qw3h-jr36"},{"rule_id":"osv/GHSA-vcvr-r3jv-pc5j","severity":"critical","message":"next@16.2.10 (npm) is affected by GHSA-vcvr-r3jv-pc5j","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-vcvr-r3jv-pc5j"},{"rule_id":"osv/GHSA-q84f-53jg-9ppm","severity":"high","message":"better-auth@1.6.23 (npm) is affected by GHSA-q84f-53jg-9ppm","path":"package-lock.json","line":null,"fingerprint":"better-auth@1.6.23 (npm):GHSA-q84f-53jg-9ppm"},{"rule_id":"osv/GHSA-r4xp-prcw-77qf","severity":"high","message":"better-auth@1.6.23 (npm) is affected by GHSA-r4xp-prcw-77qf","path":"package-lock.json","line":null,"fingerprint":"better-auth@1.6.23 (npm):GHSA-r4xp-prcw-77qf"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@1.1.16 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.16 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@1.1.16 (npm) is affected by GHSA-mh99-v99m-4gvg","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.16 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@1.1.16 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.16 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@1.1.16 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.16 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@2.1.2 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.2 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@2.1.2 (npm) is affected by GHSA-mh99-v99m-4gvg","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.2 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@2.1.2 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.2 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@2.1.2 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.2 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.28.6 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"package-lock.json","line":null,"fingerprint":"browserslist@4.28.6 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.28.6 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"package-lock.json","line":null,"fingerprint":"browserslist@4.28.6 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-ggr8-5vv4-36mx","severity":"high","message":"deepmerge-ts@7.1.5 (npm) is affected by GHSA-ggr8-5vv4-36mx","path":"package-lock.json","line":null,"fingerprint":"deepmerge-ts@7.1.5 (npm):GHSA-ggr8-5vv4-36mx"},{"rule_id":"osv/GHSA-5jgf-p345-68v8","severity":"high","message":"fast-uri@3.1.3 (npm) is affected by GHSA-5jgf-p345-68v8","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-5jgf-p345-68v8"},{"rule_id":"osv/GHSA-7p8r-x3mc-p8w7","severity":"high","message":"fast-uri@3.1.3 (npm) is affected by GHSA-7p8r-x3mc-p8w7","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-7p8r-x3mc-p8w7"},{"rule_id":"osv/GHSA-f65p-4m7j-42xc","severity":"high","message":"fast-uri@3.1.3 (npm) is affected by GHSA-f65p-4m7j-42xc","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-f65p-4m7j-42xc"},{"rule_id":"osv/GHSA-fph4-wmhf-6fwf","severity":"high","message":"fast-uri@3.1.3 (npm) is affected by GHSA-fph4-wmhf-6fwf","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-fph4-wmhf-6fwf"},{"rule_id":"osv/GHSA-jqff-g426-hqxp","severity":"high","message":"fast-uri@3.1.3 (npm) is affected by GHSA-jqff-g426-hqxp","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-jqff-g426-hqxp"},{"rule_id":"osv/GHSA-qw65-cvwx-89v3","severity":"high","message":"fast-uri@3.1.3 (npm) is affected by GHSA-qw65-cvwx-89v3","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-qw65-cvwx-89v3"},{"rule_id":"osv/GHSA-v2hh-gcrm-f6hx","severity":"high","message":"fast-uri@3.1.3 (npm) is affected by GHSA-v2hh-gcrm-f6hx","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-v2hh-gcrm-f6hx"},{"rule_id":"osv/GHSA-mwp4-54f8-5fhr","severity":"high","message":"ip-address@10.2.0 (npm) is affected by GHSA-mwp4-54f8-5fhr","path":"package-lock.json","line":null,"fingerprint":"ip-address@10.2.0 (npm):GHSA-mwp4-54f8-5fhr"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@4.3.0 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"package-lock.json","line":null,"fingerprint":"js-yaml@4.3.0 (npm):GHSA-2883-xcg3-v3hh"},{"rule_id":"osv/GHSA-5p4m-2wfm-xmqj","severity":"high","message":"js-yaml@4.3.0 (npm) is affected by GHSA-5p4m-2wfm-xmqj","path":"package-lock.json","line":null,"fingerprint":"js-yaml@4.3.0 (npm):GHSA-5p4m-2wfm-xmqj"},{"rule_id":"osv/GHSA-3f6p-5ww8-9rcr","severity":"high","message":"mysql2@3.15.3 (npm) is affected by GHSA-3f6p-5ww8-9rcr","path":"package-lock.json","line":null,"fingerprint":"mysql2@3.15.3 (npm):GHSA-3f6p-5ww8-9rcr"},{"rule_id":"osv/GHSA-2v37-7h3g-55p8","severity":"high","message":"nanoid@3.3.16 (npm) is affected by GHSA-2v37-7h3g-55p8","path":"package-lock.json","line":null,"fingerprint":"nanoid@3.3.16 (npm):GHSA-2v37-7h3g-55p8"},{"rule_id":"osv/GHSA-6gpp-xcg3-4w24","severity":"high","message":"next@16.2.10 (npm) is affected by GHSA-6gpp-xcg3-4w24","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-6gpp-xcg3-4w24"},{"rule_id":"osv/GHSA-89xv-2m56-2m9x","severity":"high","message":"next@16.2.10 (npm) is affected by GHSA-89xv-2m56-2m9x","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-89xv-2m56-2m9x"},{"rule_id":"osv/GHSA-cjq9-62q9-8jv4","severity":"high","message":"next@16.2.10 (npm) is affected by GHSA-cjq9-62q9-8jv4","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-cjq9-62q9-8jv4"},{"rule_id":"osv/GHSA-m99w-x7hq-7vfj","severity":"high","message":"next@16.2.10 (npm) is affected by GHSA-m99w-x7hq-7vfj","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-m99w-x7hq-7vfj"},{"rule_id":"osv/GHSA-p3m5-59mp-jv5r","severity":"high","message":"next@16.2.10 (npm) is affected by GHSA-p3m5-59mp-jv5r","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-p3m5-59mp-jv5r"},{"rule_id":"osv/GHSA-p9j2-gv94-2wf4","severity":"high","message":"next@16.2.10 (npm) is affected by GHSA-p9j2-gv94-2wf4","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-p9j2-gv94-2wf4"},{"rule_id":"osv/GHSA-f88m-g3jw-g9cj","severity":"high","message":"sharp@0.34.5 (npm) is affected by GHSA-f88m-g3jw-g9cj","path":"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":"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":"package-lock.json","line":null,"fingerprint":"sharp@0.34.5 (npm):GHSA-wq5f-xc86-pv6w"},{"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":"package-lock.json","line":null,"fingerprint":"source-map-js@1.2.1 (npm):GHSA-68fv-2mgg-jv7q"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@8.1.4 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"package-lock.json","line":null,"fingerprint":"vite@8.1.4 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-mrhx-c7xc-m3w5","severity":"high","message":"zod@4.2.1 (npm) is affected by GHSA-mrhx-c7xc-m3w5","path":"package-lock.json","line":null,"fingerprint":"zod@4.2.1 (npm):GHSA-mrhx-c7xc-m3w5"},{"rule_id":"osv/GHSA-mrhx-c7xc-m3w5","severity":"high","message":"zod@4.4.3 (npm) is affected by GHSA-mrhx-c7xc-m3w5","path":"package-lock.json","line":null,"fingerprint":"zod@4.4.3 (npm):GHSA-mrhx-c7xc-m3w5"},{"rule_id":"osv/GHSA-frvp-7c67-39w9","severity":"medium","message":"@hono/node-server@1.19.13 (npm) is affected by GHSA-frvp-7c67-39w9","path":"package-lock.json","line":null,"fingerprint":"@hono/node-server@1.19.13 (npm):GHSA-frvp-7c67-39w9"},{"rule_id":"osv/GHSA-jpvv-r467-5p4w","severity":"medium","message":"@hono/node-server@1.19.13 (npm) is affected by GHSA-jpvv-r467-5p4w","path":"package-lock.json","line":null,"fingerprint":"@hono/node-server@1.19.13 (npm):GHSA-jpvv-r467-5p4w"},{"rule_id":"osv/GHSA-rmxm-3fg6-px4f","severity":"medium","message":"@hono/node-server@1.19.13 (npm) is affected by GHSA-rmxm-3fg6-px4f","path":"package-lock.json","line":null,"fingerprint":"@hono/node-server@1.19.13 (npm):GHSA-rmxm-3fg6-px4f"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"@vitest/mocker@4.1.10 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"package-lock.json","line":null,"fingerprint":"@vitest/mocker@4.1.10 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-qxg6-89mg-rqv8","severity":"medium","message":"@vitest/mocker@4.1.10 (npm) is affected by GHSA-qxg6-89mg-rqv8","path":"package-lock.json","line":null,"fingerprint":"@vitest/mocker@4.1.10 (npm):GHSA-qxg6-89mg-rqv8"},{"rule_id":"osv/GHSA-w5vr-8v7q-w6rv","severity":"medium","message":"baseline-browser-mapping@2.10.43 (npm) is affected by GHSA-w5vr-8v7q-w6rv","path":"package-lock.json","line":null,"fingerprint":"baseline-browser-mapping@2.10.43 (npm):GHSA-w5vr-8v7q-w6rv"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@1.1.16 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.16 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@2.1.2 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.1.2 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-hrr3-gc8f-f4qj","severity":"medium","message":"fast-uri@3.1.3 (npm) is affected by GHSA-hrr3-gc8f-f4qj","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-hrr3-gc8f-f4qj"},{"rule_id":"osv/GHSA-w74x-v6f9-j3xg","severity":"medium","message":"fast-uri@3.1.3 (npm) is affected by GHSA-w74x-v6f9-j3xg","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-w74x-v6f9-j3xg"},{"rule_id":"osv/GHSA-wjr9-j795-jxcr","severity":"medium","message":"fast-uri@3.1.3 (npm) is affected by GHSA-wjr9-j795-jxcr","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-wjr9-j795-jxcr"},{"rule_id":"osv/GHSA-46wx-v44x-9hh2","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-46wx-v44x-9hh2","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-46wx-v44x-9hh2"},{"rule_id":"osv/GHSA-4h7h-rv7c-7m2v","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-4h7h-rv7c-7m2v","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-4h7h-rv7c-7m2v"},{"rule_id":"osv/GHSA-4m76-xfj5-7975","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-4m76-xfj5-7975","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-4m76-xfj5-7975"},{"rule_id":"osv/GHSA-54fx-42gc-7vw4","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-54fx-42gc-7vw4","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-54fx-42gc-7vw4"},{"rule_id":"osv/GHSA-5r4p-p66f-jhc7","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-5r4p-p66f-jhc7","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-5r4p-p66f-jhc7"},{"rule_id":"osv/GHSA-8j4g-w8fx-2239","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-8j4g-w8fx-2239","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-8j4g-w8fx-2239"},{"rule_id":"osv/GHSA-crvj-82cr-hjcx","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-crvj-82cr-hjcx","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-crvj-82cr-hjcx"},{"rule_id":"osv/GHSA-f23p-vx2j-j53r","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-f23p-vx2j-j53r","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-f23p-vx2j-j53r"},{"rule_id":"osv/GHSA-g6gw-c38x-mqfc","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-g6gw-c38x-mqfc","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-g6gw-c38x-mqfc"},{"rule_id":"osv/GHSA-gqvv-2mrq-wpjv","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-gqvv-2mrq-wpjv","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-gqvv-2mrq-wpjv"},{"rule_id":"osv/GHSA-h7mg-cq63-vhpq","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-h7mg-cq63-vhpq","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-h7mg-cq63-vhpq"},{"rule_id":"osv/GHSA-hxh3-vqpv-xpqv","severity":"medium","message":"hono@4.12.30 (npm) is affected by GHSA-hxh3-vqpv-xpqv","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-hxh3-vqpv-xpqv"},{"rule_id":"osv/GHSA-22jq-vg5j-6vgg","severity":"medium","message":"ip-address@10.2.0 (npm) is affected by GHSA-22jq-vg5j-6vgg","path":"package-lock.json","line":null,"fingerprint":"ip-address@10.2.0 (npm):GHSA-22jq-vg5j-6vgg"},{"rule_id":"osv/GHSA-2vr4-cq9g-pvrc","severity":"medium","message":"ip-address@10.2.0 (npm) is affected by GHSA-2vr4-cq9g-pvrc","path":"package-lock.json","line":null,"fingerprint":"ip-address@10.2.0 (npm):GHSA-2vr4-cq9g-pvrc"},{"rule_id":"osv/GHSA-4xrf-jv44-h6hh","severity":"medium","message":"ip-address@10.2.0 (npm) is affected by GHSA-4xrf-jv44-h6hh","path":"package-lock.json","line":null,"fingerprint":"ip-address@10.2.0 (npm):GHSA-4xrf-jv44-h6hh"},{"rule_id":"osv/GHSA-h3mg-xc3c-68pw","severity":"medium","message":"ip-address@10.2.0 (npm) is affected by GHSA-h3mg-xc3c-68pw","path":"package-lock.json","line":null,"fingerprint":"ip-address@10.2.0 (npm):GHSA-h3mg-xc3c-68pw"},{"rule_id":"osv/GHSA-j6r3-76f7-8jcv","severity":"medium","message":"ip-address@10.2.0 (npm) is affected by GHSA-j6r3-76f7-8jcv","path":"package-lock.json","line":null,"fingerprint":"ip-address@10.2.0 (npm):GHSA-j6r3-76f7-8jcv"},{"rule_id":"osv/GHSA-rpw4-54j3-4h4q","severity":"medium","message":"ip-address@10.2.0 (npm) is affected by GHSA-rpw4-54j3-4h4q","path":"package-lock.json","line":null,"fingerprint":"ip-address@10.2.0 (npm):GHSA-rpw4-54j3-4h4q"},{"rule_id":"osv/GHSA-rxp7-6hxx-x8q5","severity":"medium","message":"ip-address@10.2.0 (npm) is affected by GHSA-rxp7-6hxx-x8q5","path":"package-lock.json","line":null,"fingerprint":"ip-address@10.2.0 (npm):GHSA-rxp7-6hxx-x8q5"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@9.0.9 (npm) is affected by GHSA-g3hv-75wg-m249","path":"package-lock.json","line":null,"fingerprint":"minimatch@9.0.9 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-rgwj-5xj2-c3m3","severity":"medium","message":"mysql2@3.15.3 (npm) is affected by GHSA-rgwj-5xj2-c3m3","path":"package-lock.json","line":null,"fingerprint":"mysql2@3.15.3 (npm):GHSA-rgwj-5xj2-c3m3"},{"rule_id":"osv/GHSA-39w2-rjm5-chcv","severity":"medium","message":"next@16.2.10 (npm) is affected by GHSA-39w2-rjm5-chcv","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-39w2-rjm5-chcv"},{"rule_id":"osv/GHSA-4633-3j49-mh5q","severity":"medium","message":"next@16.2.10 (npm) is affected by GHSA-4633-3j49-mh5q","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-4633-3j49-mh5q"},{"rule_id":"osv/GHSA-4c39-4ccg-62r3","severity":"medium","message":"next@16.2.10 (npm) is affected by GHSA-4c39-4ccg-62r3","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-4c39-4ccg-62r3"},{"rule_id":"osv/GHSA-4jqv-mc3x-m676","severity":"medium","message":"next@16.2.10 (npm) is affected by GHSA-4jqv-mc3x-m676","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-4jqv-mc3x-m676"},{"rule_id":"osv/GHSA-68g3-v927-f742","severity":"medium","message":"next@16.2.10 (npm) is affected by GHSA-68g3-v927-f742","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-68g3-v927-f742"},{"rule_id":"osv/GHSA-955p-x3mx-jcvp","severity":"medium","message":"next@16.2.10 (npm) is affected by GHSA-955p-x3mx-jcvp","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-955p-x3mx-jcvp"},{"rule_id":"osv/GHSA-f87g-xv8r-7p7x","severity":"medium","message":"next@16.2.10 (npm) is affected by GHSA-f87g-xv8r-7p7x","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-f87g-xv8r-7p7x"},{"rule_id":"osv/GHSA-mcj8-r9mp-w47p","severity":"medium","message":"next@16.2.10 (npm) is affected by GHSA-mcj8-r9mp-w47p","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-mcj8-r9mp-w47p"},{"rule_id":"osv/GHSA-q8wf-6r8g-63ch","severity":"medium","message":"next@16.2.10 (npm) is affected by GHSA-q8wf-6r8g-63ch","path":"package-lock.json","line":null,"fingerprint":"next@16.2.10 (npm):GHSA-q8wf-6r8g-63ch"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.5.19 (npm) is affected by GHSA-fxqj-rqcc-2cmp","path":"package-lock.json","line":null,"fingerprint":"postcss@8.5.19 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-5qjj-4xww-7phc","severity":"medium","message":"valibot@1.2.0 (npm) is affected by GHSA-5qjj-4xww-7phc","path":"package-lock.json","line":null,"fingerprint":"valibot@1.2.0 (npm):GHSA-5qjj-4xww-7phc"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@8.1.4 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"package-lock.json","line":null,"fingerprint":"vite@8.1.4 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@8.1.4 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"package-lock.json","line":null,"fingerprint":"vite@8.1.4 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@8.1.4 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"package-lock.json","line":null,"fingerprint":"vite@8.1.4 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"vitest@4.1.10 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"package-lock.json","line":null,"fingerprint":"vitest@4.1.10 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-44jh-23m7-hpcf","severity":"low","message":"@better-auth/drizzle-adapter@1.6.23 (npm) is affected by GHSA-44jh-23m7-hpcf","path":"package-lock.json","line":null,"fingerprint":"@better-auth/drizzle-adapter@1.6.23 (npm):GHSA-44jh-23m7-hpcf"},{"rule_id":"osv/GHSA-44jh-23m7-hpcf","severity":"low","message":"@better-auth/kysely-adapter@1.6.23 (npm) is affected by GHSA-44jh-23m7-hpcf","path":"package-lock.json","line":null,"fingerprint":"@better-auth/kysely-adapter@1.6.23 (npm):GHSA-44jh-23m7-hpcf"},{"rule_id":"osv/GHSA-44jh-23m7-hpcf","severity":"low","message":"better-auth@1.6.23 (npm) is affected by GHSA-44jh-23m7-hpcf","path":"package-lock.json","line":null,"fingerprint":"better-auth@1.6.23 (npm):GHSA-44jh-23m7-hpcf"},{"rule_id":"osv/GHSA-333x-w4r6-6crp","severity":"low","message":"fast-uri@3.1.3 (npm) is affected by GHSA-333x-w4r6-6crp","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-333x-w4r6-6crp"},{"rule_id":"osv/GHSA-xhq7-xmqj-769h","severity":"low","message":"fast-uri@3.1.3 (npm) is affected by GHSA-xhq7-xmqj-769h","path":"package-lock.json","line":null,"fingerprint":"fast-uri@3.1.3 (npm):GHSA-xhq7-xmqj-769h"},{"rule_id":"osv/GHSA-3gg2-335m-rxc6","severity":"low","message":"hono@4.12.30 (npm) is affected by GHSA-3gg2-335m-rxc6","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-3gg2-335m-rxc6"},{"rule_id":"osv/GHSA-79qm-7rj5-m7r9","severity":"low","message":"hono@4.12.30 (npm) is affected by GHSA-79qm-7rj5-m7r9","path":"package-lock.json","line":null,"fingerprint":"hono@4.12.30 (npm):GHSA-79qm-7rj5-m7r9"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@8.1.4 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"package-lock.json","line":null,"fingerprint":"vite@8.1.4 (npm):GHSA-9jrq-w75r-8gcw"}],"evidence":[],"data":{"ecosystems":["npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":1.0,"findings":5.0,"findings_high":2.0,"findings_medium":3.0,"findings_low":0.0,"penalty":33.2},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":46,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:46"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":49,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:49"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":4,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:4"},{"rule_id":"zizmor/dependabot-cooldown","severity":"medium","message":"insufficient cooldown in Dependabot updates [confidence high]","path":".github/dependabot.yml","line":72,"fingerprint":"dependabot-cooldown:.github/dependabot.yml:72"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":45,"fingerprint":"artipacked:.github/workflows/ci.yml:45"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":1.0,"check:signed_commits":1.0,"check:lockfiles":1.0,"signed_commit_share":0.6,"unpinned_manifests":0.0},"findings":[],"evidence":[{"kind":"posture","description":"Dependency updates: .github/dependabot.yml","ref":".github/dependabot.yml","url":null,"weight":0.0}],"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":80.0,"function_nloc":1243.0,"mean_ccn":2.8,"p90_ccn":6.0,"complex_functions":0.0,"long_functions":0.0,"many_param_functions":0.0,"risky_nloc_share":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":1508.0,"duplicated_lines":14.0,"duplicated_share":0.0093,"files":49.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: app/(dashboard)/settings/kubeconfig/_components/kubeconfig-form.tsx:7 and components/ui/alert-dialog.tsx:189","ref":"app/(dashboard)/settings/kubeconfig/_components/kubeconfig-form.tsx","url":"https://github.com/FullAgent/fulling/blob/f48efced082a7de3517816267481c04e058672cb/app/(dashboard)/settings/kubeconfig/_components/kubeconfig-form.tsx#L7","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":18.0,"weighted_findings":18.0,"scanned_lines":2146.0,"category:best-practice":18.0},"findings":[{"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":"components/ui/alert-dialog.tsx","line":12,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.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":"components/ui/alert-dialog.tsx","line":19,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.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":"components/ui/alert-dialog.tsx","line":27,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.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":"components/ui/alert-dialog.tsx","line":47,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.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":"components/ui/alert-dialog.tsx","line":69,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.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":"components/ui/alert-dialog.tsx","line":86,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.tsx:86"},{"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":"components/ui/alert-dialog.tsx","line":102,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.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":"components/ui/alert-dialog.tsx","line":118,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.tsx:118"},{"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":"components/ui/alert-dialog.tsx","line":131,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.tsx:131"},{"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":"components/ui/alert-dialog.tsx","line":147,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.tsx:147"},{"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":"components/ui/alert-dialog.tsx","line":164,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.tsx:164"},{"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":"components/ui/alert-dialog.tsx","line":182,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/alert-dialog.tsx:182"},{"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":"components/ui/avatar.tsx","line":19,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/avatar.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":"components/ui/avatar.tsx","line":32,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/avatar.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":"components/ui/avatar.tsx","line":48,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/avatar.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":"components/ui/button.tsx","line":62,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/button.tsx:62"},{"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":"components/ui/label.tsx","line":19,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/label.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":"components/ui/textarea.tsx","line":13,"fingerprint":"typescript.react.best-practice.react-props-spreading:components/ui/textarea.tsx:13"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.5777,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.3947,"test_lines":647.0,"source_lines":2240.0,"test_ratio":0.2888,"ci_files":1.0,"cochange_share":0.0987,"cochange_commits":152.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/ci.yml","ref":".github/workflows/ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (npm test, npm run test)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["npm test","npm run test"],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":1.0,"check:changelog":0.0,"readme_lines":76.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0},{"kind":"docs","description":"CONTRIBUTING.md","ref":"CONTRIBUTING.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":1.0,"check:low_escape_density":1.0,"escapes":0.0,"escapes_per_kloc":0.0},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: tsconfig.json","ref":"tsconfig.json","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":707.0,"other_lines":1533.0,"files_blamed":49.0,"blame_failures":0.0,"quality:ai_findings":7.0,"quality:ai_per_kloc":9.901,"quality:other_findings":11.0,"quality:other_per_kloc":7.175,"quality:ratio":1.38,"security:ai_findings":0.0,"security:ai_per_kloc":0.0,"security:other_findings":0.0,"security:other_per_kloc":0.0},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}