Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

TypeCellOS/BlockNote

https://github.com/TypeCellOS/BlockNote · scanned 2026-05-15 21:15 UTC (2 weeks, 6 days ago) · 10 languages

341 findings (38 legacy + 303 scanner) 43rd percentile · Typescript · large (100-500K LoC) Scanner says 56 (higher by 19)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 2 weeks, 6 days ago · v1 · 34 findings from 1 source. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.

JSON
Score breakdown â 2026-05-14-v3
Component Sub-score Weight Contribution
structure_score 60.0 0.15 9.00
security_score 90.6 0.25 22.65
testing_score 60.0 0.20 12.00
documentation_score 85.0 0.15 12.75
practices_score 80.0 0.15 12.00
code_quality 60.0 0.10 6.00
Overall 1.00 74.4
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all
Corpus Intelligence Cross-corpus context (cohort percentile, top patterns, fix plan) is shown only on repositories you own. Sign up and connect your repo to view it.
Scan summary Repository scanned at 55.5/100 with 100.0% coverage. It contains 5652 nodes across 15 cross-layer flows, written primarily in mixed languages. Engine surfaced 0 findings. Risk profile is low: 0 critical, 0 high, 0 medium. Recommended next step: open the software layer findings first — that's where the highest-impact wins live.

Showing 32 of 34 findings. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

medium Legacy security auth conf 0.92 [AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks but does not define .repobility/access.yml or equivalent authorization documentation.
The repository uses web/API frameworks but does not define .repobility/access.yml or equivalent authorization documentation.
authlegacy
high Legacy security auth conf 0.74 [AUC002] Low visible authorization coverage in route inventory: Only 0.0% of discovered routes show nearby authentication, authorization, middleware, or public-route evidence.
Only 0.0% of discovered routes show nearby authentication, authorization, middleware, or public-route evidence.
authlegacy
high Legacy security auth conf 0.68 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears to perform a sensitive function such as export, invite, role, token, billing, or destructive action without elevated policy evidence. Endpoint: GET /llms-full.txt.
A route appears to perform a sensitive function such as export, invite, role, token, billing, or destructive action without elevated policy evidence. Endpoint: GET /llms-full.txt.
docs/app/llms-full.txt/route.ts:6 authlegacy
high Legacy security auth conf 0.68 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears to perform a sensitive function such as export, invite, role, token, billing, or destructive action without elevated policy evidence. Endpoint: GET /llms.mdx/::...slug.
A route appears to perform a sensitive function such as export, invite, role, token, billing, or destructive action without elevated policy evidence. Endpoint: GET /llms.mdx/::...slug.
docs/app/llms.mdx/[[...slug]]/route.ts:11 authlegacy
high Legacy security auth conf 0.68 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears to perform a sensitive function such as export, invite, role, token, billing, or destructive action without elevated policy evidence. Endpoint: GET /llms.txt.
A route appears to perform a sensitive function such as export, invite, role, token, billing, or destructive action without elevated policy evidence. Endpoint: GET /llms.txt.
docs/app/llms.txt/route.ts:5 authlegacy
medium Legacy security injection conf 0.85 Cross-site scripting — dangerouslySetInnerHTML
dangerouslySetInnerHTML bypasses Reacts JSX escaping. Pair with DOMPurify or never use with user data.
packages/xl-odt-exporter/src/odt/odtExporter.tsx:243 injectionlegacy react-dangerously-set-html · CWE-79 · A03:2021
medium Legacy security injection conf 0.85 Cross-site scripting — dangerouslySetInnerHTML
dangerouslySetInnerHTML bypasses Reacts JSX escaping. Pair with DOMPurify or never use with user data.
packages/xl-odt-exporter/src/odt/odtExporter.tsx:236 injectionlegacy react-dangerously-set-html · CWE-79 · A03:2021
medium Legacy security injection conf 0.85 Cross-site scripting — dangerouslySetInnerHTML
dangerouslySetInnerHTML bypasses Reacts JSX escaping. Pair with DOMPurify or never use with user data.
packages/react/src/components/FormattingToolbar/ExperimentalMobileFormattingToolbarController.tsx:76 injectionlegacy react-dangerously-set-html · CWE-79 · A03:2021
medium Legacy security injection conf 0.85 Cross-site scripting — dangerouslySetInnerHTML
dangerouslySetInnerHTML bypasses Reacts JSX escaping. Pair with DOMPurify or never use with user data.
packages/react/src/components/Popovers/GenericPopover.tsx:175 injectionlegacy react-dangerously-set-html · CWE-79 · A03:2021
medium Legacy security injection conf 0.85 Cross-site scripting — dangerouslySetInnerHTML
dangerouslySetInnerHTML bypasses Reacts JSX escaping. Pair with DOMPurify or never use with user data.
docs/app/(home)/_components/ui/FeatureWindow.tsx:68 injectionlegacy react-dangerously-set-html · CWE-79 · A03:2021
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
packages/xl-odt-exporter/src/odt/odtExporter.tsx:197 cryptolegacy http-not-https · CWE-319 · A02:2021
medium Legacy quality quality conf 0.80 Documented legal route has no visible implementation
A public legal/privacy/terms/biometric route is referenced, but no matching frontend page or backend route was found.
docs/redirects.ts:252 qualitylegacy
medium Legacy quality quality conf 0.80 Documented legal route has no visible implementation
A public legal/privacy/terms/biometric route is referenced, but no matching frontend page or backend route was found.
docs/redirects.ts:247 qualitylegacy
medium Legacy quality quality conf 0.80 Documented legal route has no visible implementation
A public legal/privacy/terms/biometric route is referenced, but no matching frontend page or backend route was found.
docs/components/Footer.tsx:125 qualitylegacy
medium Legacy quality quality conf 0.80 Documented legal route has no visible implementation
A public legal/privacy/terms/biometric route is referenced, but no matching frontend page or backend route was found.
docs/components/Footer.tsx:120 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/mantine/src/comments/Editor.tsx:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/mantine/src/comments/Comment.tsx:6 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/mantine/src/badge/Badge.tsx:12 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/core/vite.config.ts:39 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/core/vite.config.ts:23 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/core/src/editor/defaultColors.ts:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/core/src/blocks/ListItem/NumberedListItem/block.ts:58 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/core/src/blocks/Image/block.ts:25 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/core/src/api/exporters/html/util/serializeBlocksInternalHTML.ts:33 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/code-block/vite.config.ts:26 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
packages/ariakit/src/sideMenu/SideMenuButton.tsx:8 qualitylegacy
high Legacy quality quality conf 0.85 Magic number used as default arg
Using hardcoded default values for complex configuration objects makes the code brittle and difficult to manage. Consider using a dedicated factory or builder pattern. Auto-promoted from proposal 444 on 2026-05-12. Synth confidence: 0.85. FP estimate: 0.00.
packages/react/src/components/Comments/ThreadsSidebar.tsx:179 qualitylegacy magic-number-default
high Legacy quality quality conf 0.82 Parallel implementation file sits beside a canonical file
AI-assisted edits often create a new sibling file instead of integrating the change into the existing module. That leaves two paths for future maintainers to understand and can hide the code that is actually wired into the app.
packages/mantine/src/defaultThemes copy.ts:1 qualitylegacy
low Legacy security auth conf 0.76 [AUC005] No authorization-focused tests detected: No test files with common authorization, ownership, 403, admin, or super_admin assertions were found.
No test files with common authorization, ownership, 403, admin, or super_admin assertions were found.
authlegacy
low Legacy quality quality conf 0.85 Cluster of TODOs in one file
Code path with a TODO/FIXME/HACK comment that gates correctness — left for later but never resolved.
packages/react/src/components/Comments/Comment.tsx:44 qualitylegacy todo-bomb
low Legacy quality quality conf 0.85 Cluster of TODOs in one file
Code path with a TODO/FIXME/HACK comment that gates correctness — left for later but never resolved.
packages/react/src/components/Comments/Thread.tsx:64 qualitylegacy todo-bomb
low Legacy quality quality conf 0.64 Duplicate top-level symbol appears in a patch-style file
A generated replacement file defining the same public function or class name as another module can mean the new logic is not actually wired into the running code.
packages/mantine/src/defaultThemes copy.ts:1 qualitylegacy
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/5f7e4eb4-3fc5-4e04-b8c8-9bed19543eed/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/5f7e4eb4-3fc5-4e04-b8c8-9bed19543eed/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.