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.

xdqi/anyfs

https://github.com/xdqi/anyfs · scanned 2026-06-16 01:02 UTC (2 months, 1 week ago)

98 raw signals (0 security + 98 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 2 months, 1 week ago · v1 · 67 actionable findings from 1 signal source. 31 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
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 69.4/100 with 77.8% coverage. It contains 780 nodes across 0 cross-layer flows, written primarily in mixed languages. Engine surfaced 98 findings — concentrated in quality (48), cicd (34), frontend (13). Risk profile is low: 0 critical, 0 high, 13 medium. Recommended next step: open the quality layer findings first — that's where the highest-impact wins live.

Showing 29 of 67 actionable findings. 98 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

medium System graph quality Integrity conf 1.00 `fetch()` without try/.catch or AbortSignal — ts/examples/electron-demo/src/http-proxy-worker.ts:5
Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout.
runtime safetyRobustness
medium System graph quality Integrity conf 1.00 `fetch()` without try/.catch or AbortSignal — ts/examples/electron-demo/src/main.ts:196
Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout.
runtime safetyRobustness
medium System graph quality Integrity conf 1.00 `fetch()` without try/.catch or AbortSignal — ts/examples/vite-demo/src/usePathProxy.ts:15
Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout.
runtime safetyRobustness
medium System graph quality Integrity conf 1.00 `fetch()` without try/.catch or AbortSignal — ts/packages/anyfs-native/src/http-disk-server.ts:9
Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout.
runtime safetyRobustness
medium System graph quality Integrity conf 1.00 `fetch()` without try/.catch or AbortSignal — ts/packages/nbd-proxy/src/sources/http.ts:17
Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout.
runtime safetyRobustness
medium System graph quality Placeholder conf 1.00 Critical user flow still appears backed by mock or placeholder data
A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded.
Mock dataCritical flowGenerated repo pattern
medium System graph cicd CI/CD security conf 1.00 3 occurrences GitHub Action is tag-pinned rather than SHA-pinned
xdqi/[email protected] can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
3 files, 3 locations
.github/workflows/linux.yml:170
.github/workflows/mingw64.yml:166
.github/workflows/wasm-sysroot.yml:58
CI/CD securitySupply chainGithub actions
medium System graph cicd CI/CD security conf 1.00 GitHub Actions workflow grants broad write permissions
CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions.
.github/workflows/wasm-sysroot.yml CI/CD securitySupply chainGithub actions
low System graph frontend Frontend quality conf 1.00 "active" state uses light bg in a dark theme — ts/examples/vite-demo/src/Settings.tsx:196
A ternary like `active ? 'bg-white' : '...'` (or bg-gray-100/200) on a dark theme produces jarring white pills. Use a dark-emphasized active state instead — border + ring or slightly brighter dark bg. Example: `active ? 'bg-gray-800 border-gray-500 ring-1 ring-blue-500/30' : '…'`. Why: P-E in CHEC…
Fq active light bg
low System graph quality Debug conf 1.00 Debug logging residue appears in source files
Found 58 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup.
CleanupRepo hardeningGenerated repo pattern
low System graph cicd CI/CD security conf 1.00 30 occurrences GitHub Action is tag-pinned rather than SHA-pinned
actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
4 files, 30 locations
.github/workflows/wasm.yml:57, 63, 72, 80, 109, 152, 211, 236, +4 more (12 hits)
.github/workflows/linux.yml:63, 85, 95, 104, 113, 122, 160, 263, +1 more (9 hits)
.github/workflows/mingw64.yml:77, 95, 156, 182, 191, 200, 209, 317 (8 hits)
.github/workflows/wasm-sysroot.yml:33
CI/CD securitySupply chainGithub actions
low System graph frontend Frontend quality conf 1.00 Icon-only button without accessible name — ts/examples/vite-demo/src/components/DownloadStatus.tsx:35
A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work. Why: P3 in CHECKLIST.md — icon-only buttons skipped a title. Rule id: fq.button.no-label
Fq button no label
low System graph quality Integrity conf 1.00 Near-duplicate function bodies in 2 places
Functions with the same first-5-line body hash: scripts/lkl-wasm-tools/wasm_prefix_kernel_symbols.py:write_uleb, scripts/lkl-wasm-tools/wasm_fix_absolute_brackets.py:write_uleb This is *the* AI-coder failure mode (4× more duplication in vibe-coded repos — see https://jw.hn/ai-code-hygiene). Consol…
duplicatesduplication
low System graph quality Integrity conf 1.00 Near-duplicate function bodies in 3 places
Functions with the same first-5-line body hash: scripts/lkl-wasm-tools/wasm_prefix_kernel_symbols.py:read_uleb, scripts/lkl-wasm-tools/wasm_fix_absolute_brackets.py:read_uleb, scripts/lkl-wasm-tools/wasm_fix_absolute_brackets.py:read_sleb This is *the* AI-coder failure mode (4× more duplication in…
duplicatesduplication
low System graph quality dependencies conf 1.00 Node manifest has dependencies but no lockfile: ts/examples/electron-demo/package.json
`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely.
ts/examples/electron-demo/package.json LockfileReproducibilityGenerated repo pattern
low System graph quality dependencies conf 1.00 Node manifest has dependencies but no lockfile: ts/examples/vite-demo/package.json
`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely.
ts/examples/vite-demo/package.json LockfileReproducibilityGenerated repo pattern
low System graph quality dependencies conf 1.00 Node manifest has dependencies but no lockfile: ts/packages/anyfs-native/package.json
`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely.
ts/packages/anyfs-native/package.json LockfileReproducibilityGenerated repo pattern
low System graph quality dependencies conf 1.00 Node manifest has dependencies but no lockfile: ts/packages/core/package.json
`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely.
ts/packages/core/package.json LockfileReproducibilityGenerated repo pattern
low System graph quality dependencies conf 1.00 Node manifest has dependencies but no lockfile: ts/packages/nbd-proxy/package.json
`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely.
ts/packages/nbd-proxy/package.json LockfileReproducibilityGenerated repo pattern
low System graph quality dependencies conf 1.00 Node manifest has dependencies but no lockfile: ts/packages/react/package.json
`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely.
ts/packages/react/package.json LockfileReproducibilityGenerated repo pattern
low System graph quality dependencies conf 1.00 Node manifest has dependencies but no lockfile: ts/packages/trees/package.json
`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely.
ts/packages/trees/package.json LockfileReproducibilityGenerated repo pattern
low System graph quality Provenance conf 1.00 Shallow git history limits provenance confidence
The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence.
Git historyGenerated repo pattern
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — ts/examples/electron-demo/src/main.ts:482
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — ts/examples/vite-demo/src/App.tsx:40
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — ts/packages/anyfs-native/test/async-smoke.js:18
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — ts/packages/core/src/index.ts:64
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — ts/packages/core/src/wasm-session.ts:77
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — ts/packages/core/src/worker.ts:23
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — ts/packages/react/src/provider.tsx:242
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
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/2b046acc-8abe-4c9a-ad7b-f9d4983790a4/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/2b046acc-8abe-4c9a-ad7b-f9d4983790a4/

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.