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.

earthtojake/text-to-cad

https://github.com/earthtojake/text-to-cad · scanned 2026-07-23 19:38 UTC (3 months ago)

263 raw signals (0 security + 263 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 3 months ago · v3 · last Δ +2.0 (diff) · 259 actionable findings from 1 signal source. 4 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
Scan summary Repository scanned at 57.9/100 with 90.0% coverage. It contains 23290 nodes across 11 cross-layer flows, written primarily in mixed languages. Engine surfaced 263 findings — concentrated in security (96), quality (80), dependencies (32). Risk profile is high: 0 critical, 23 high, 108 medium. Recommended next step: open the security layer findings first — that's where the highest-impact wins live.

Showing 241 of 259 actionable findings. 263 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.

high System graph security Trivy conf 1.00 CVE-2026-12151: undici 6.26.0 — viewer/package-lock.json
undici: undici: Denial of Service due to unbounded memory growth via WebSocket frames Impact: The undici WebSocket client enforces maxPayloadSize on the cumulative byte count of fragments in a message but does not enforce a limit on the number of fragments. A malicious WebSocket server can stream …
VulnCve 2026 12151
high System graph security Trivy conf 1.00 CVE-2026-13149: brace-expansion 5.0.6 — docs/package-lock.json
brace-expansion: Brace-expansion: Denial of Service due to exponential-time complexity brace-expansion through 5.0.6 is vulnerable to denial of service. The expand() function exhibits exponential-time complexity in the number of consecutive non-expanding '{}' brace groups. An attacker who passes a…
VulnCve 2026 13149
high System graph security Trivy conf 1.00 CVE-2026-13676: fast-uri 3.1.2 — docs/package-lock.json
fast-uri: fast-uri: Security policy bypass due to improper Unicode hostname canonicalization fast-uri versions 2.3.1 through 3.1.2 and 4.0.0 fail to canonicalize Unicode (IDN) hostnames for HTTP-family URLs. The IDN conversion path calls a helper that does not exist on the global URL constructor, …
VulnCve 2026 13676
high System graph security Trivy conf 1.00 CVE-2026-16221: fast-uri 3.1.2 — docs/package-lock.json
Impact: fast-uri versions from 2.3.1 through 4.1.0 (including the 3.x ... Impact: fast-uri versions from 2.3.1 through 4.1.0 (including the 3.x line up to 3.1.3 and the 2.x line up to 2.4.2) do not treat a literal backslash character (U+005C) as an authority delimiter. Node's native WHATWG URL pa…
VulnCve 2026 16221
high System graph security Trivy conf 1.00 CVE-2026-54290: hono 4.12.18 — docs/package-lock.json
hono: CORS Middleware reflects any Origin with credentials when `origin` defaults to the wildcard Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.25, with credentials: true and no explicit origin (the default wildcard), the CORS Middleware reflec…
VulnCve 2026 54290
high System graph security Trivy conf 1.00 CVE-2026-59869: js-yaml 4.1.1 — docs/package-lock.json
js-yaml: js-yaml: Denial of Service via crafted YAML documents js-yaml is a JavaScript YAML parser and dumper. From 3.0.0 before 3.15.0 and from 4.0.0 before 4.3.0, js-yaml can spend quadratic CPU time parsing a document whose size grows only linearly when a chain of mappings uses merge keys where…
VulnCve 2026 59869
high System graph security Trivy conf 1.00 CVE-2026-64641: next 16.2.6 — docs/package-lock.json
Next.js: Denial of Service in App Router using Server Actions ## Impact Crafted requests targeting Next.js applications using App Router with at least one Server Action can lead to excessive CPU usage blocking processing of further requests in the same process. ## Workarounds No workaround exis…
VulnCve 2026 64641
high System graph security Trivy conf 1.00 CVE-2026-64642: next 16.2.6 — docs/package-lock.json
Next.js: Middleware / Proxy bypass in App Router applications using Turbopack and single locale ## Impact Crafted requests targeting Next.js applications using App Router built with Turbopack and a **single** entry in `config.i18n.locales` can bypass middleware/proxy based authentication. ## Wor…
VulnCve 2026 64642
high System graph security Trivy conf 1.00 CVE-2026-64645: next 16.2.6 — docs/package-lock.json
Next.js: Server-Side Request Forgery in rewrites via attacker-controlled destination hostname ## Impact A `rewrites()` or `redirects()` rule that builds its external destination hostname from request-controlled input can be pointed at an arbitrary hostname, regardless of the rule's hostname suffi…
VulnCve 2026 64645
high System graph security Trivy conf 1.00 CVE-2026-64649: next 16.2.6 — docs/package-lock.json
Next.js: Server-Side Request Forgery in Server Actions on custom servers ## Impact When a Server Action forwards or redirects a request, an attacker can cause the server to send that outbound request to a malicious host (Server-Side Request Forgery). This requires the attacker's request to contro…
VulnCve 2026 64649
high System graph security Trivy conf 1.00 GHSA-f88m-g3jw-g9cj: sharp 0.34.5 — docs/package-lock.json
sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-2026-35590, CVE-2026-35591 ### Impact A number of vulnerabilities, two rated as "High" severity using CVSSv4, have been discovered and fixed in the upstream libvips dependency. Those processing untrusted input with v…
VulnGhsa f88m g3jw g9cj
high System graph security Skillspector conf 0.95 SkillSpector OH1 (output-handling) in skills/bambu-labs/scripts/bambu_lan_print.py
subprocess.run(command, check=False, capture_output Model output is used without validation or sanitization. Unvalidated output injected into downstream contexts (SQL, shell, HTML) enables injection attacks and arbitrary code execution. Skill: bambu-labs Rule: OH1 Category: output-handling Sever…
skills/bambu-labs/scripts/bambu_lan_print.py:580 Mcp skillOutput handlingOh1
high System graph security Skillspector conf 0.70 SkillSpector P1 (prompt-injection) in skills/bambu-labs/references/new-printer-onboarding.md
Enable Developer Mode This pattern attempts to override system instructions or ignore safety constraints. Without LLM analysis, manual review is recommended. Skill: bambu-labs Rule: P1 Category: prompt-injection Severity: HIGH Confidence: 0.70 Remediation: Remove or rewrite any text that instr…
skills/bambu-labs/references/new-printer-onboarding.md:20 Mcp skillPrompt injectionP1
high System graph security Skillspector conf 0.70 SkillSpector P1 (prompt-injection) in skills/bambu-labs/SKILL.md
Enable Developer Mode This pattern attempts to override system instructions or ignore safety constraints. Without LLM analysis, manual review is recommended. Skill: bambu-labs Rule: P1 Category: prompt-injection Severity: HIGH Confidence: 0.70 Remediation: Remove or rewrite any text that instr…
skills/bambu-labs/SKILL.md:43 Mcp skillPrompt injectionP1
high System graph security Skillspector conf 0.60 SkillSpector PE3 (priv-esc) in skills/cad/scripts/packages/cadpy/src/cadpy/catalog.py
.env" Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts. Skill: cad Rule: PE3 Category: priv-esc Severity: HIGH Confidence: 0.60 Remediation: Remove references to credential paths. Use environment variables or secrets managers. For …
skills/cad/scripts/packages/cadpy/src/cadpy/catalog.py:24 Mcp skillPriv escPe3
high System graph security Skillspector conf 0.80 SkillSpector SC4 (supply-chain) in skills/cad/scripts/packages/cadpy/pyproject.toml
requires-python Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits. Skill: cad Rule: SC4 Category: supply-chain Severity: HIGH Confidence: 0.80 Remediation: Update the dependency to a patched version that addresse…
skills/cad/scripts/packages/cadpy/pyproject.toml:9 Mcp skillSupply chainSc4
high System graph dependencies dependencies conf 0.90 Vulnerable dependency brace-expansion 1.1.14: GHSA-3jxr-9vmj-r5cp
OSV.dev reports `brace-expansion` at version `1.1.14` (resolved in `docs/package-lock.json`) is affected by GHSA-3jxr-9vmj-r5cp (aka CVE-2026-13149). Note: `brace-expansion` is a transitive dependency — pulled in by another package, not declared directly in a manifest. brace-expansion: DoS via exp…
docs/package-lock.json ScaOsvGhsa 3jxr 9vmj r5cp
high System graph dependencies dependencies conf 0.90 Vulnerable dependency brace-expansion 5.0.6: GHSA-3jxr-9vmj-r5cp
OSV.dev reports `brace-expansion` at version `5.0.6` (resolved in `docs/package-lock.json`) is affected by GHSA-3jxr-9vmj-r5cp (aka CVE-2026-13149). Note: `brace-expansion` is a transitive dependency — pulled in by another package, not declared directly in a manifest. brace-expansion: DoS via expo…
docs/package-lock.json ScaOsvGhsa 3jxr 9vmj r5cp
high System graph dependencies dependencies conf 0.90 Vulnerable dependency fast-uri 3.1.2: GHSA-4c8g-83qw-93j6
OSV.dev reports `fast-uri` at version `3.1.2` (resolved in `docs/package-lock.json`) is affected by GHSA-4c8g-83qw-93j6 (aka CVE-2026-13676). Note: `fast-uri` is a transitive dependency — pulled in by another package, not declared directly in a manifest. fast-uri vulnerable to host confusion via f…
docs/package-lock.json ScaOsvGhsa 4c8g 83qw 93j6
high System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-88fw-hqm2-52qc
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-88fw-hqm2-52qc (aka CVE-2026-54290). Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. hono: CORS Middleware reflects any Origin with cr…
docs/package-lock.json ScaOsvGhsa 88fw hqm2 52qc
high System graph dependencies dependencies conf 1.00 Vulnerable dependency next 16.2.6: GHSA-6gpp-xcg3-4w24
OSV.dev reports `next` at version `16.2.6` (resolved in `docs/package-lock.json`) is affected by GHSA-6gpp-xcg3-4w24 (aka CVE-2026-64642). Next.js: Middleware / Proxy bypass in App Router applications using Turbopack and single locale Aliases: CVE-2026-64642 Advisory: https://osv.dev/vulnerabilit…
docs/package.json ScaOsvGhsa 6gpp xcg3 4w24
high System graph dependencies dependencies conf 1.00 Vulnerable dependency next 16.2.6: GHSA-89xv-2m56-2m9x
OSV.dev reports `next` at version `16.2.6` (resolved in `docs/package-lock.json`) is affected by GHSA-89xv-2m56-2m9x (aka CVE-2026-64649). Next.js: Server-Side Request Forgery in Server Actions on custom servers Aliases: CVE-2026-64649 Advisory: https://osv.dev/vulnerability/GHSA-89xv-2m56-2m9x F…
docs/package.json ScaOsvGhsa 89xv 2m56 2m9x
high System graph dependencies dependencies conf 0.90 Vulnerable dependency vite 7.3.2: GHSA-fx2h-pf6j-xcff
OSV.dev reports `vite` at version `7.3.2` (resolved in `viewer/package-lock.json`) is affected by GHSA-fx2h-pf6j-xcff (aka CVE-2026-53571). vite: `server.fs.deny` bypass on Windows alternate paths Aliases: CVE-2026-53571 Advisory: https://osv.dev/vulnerability/GHSA-fx2h-pf6j-xcff Fix: upgrade `vi…
viewer/package.json ScaOsvGhsa fx2h pf6j xcff
medium System graph frontend Frontend quality conf 0.80 `dangerouslySetInnerHTML` used in a React component — docs/src/app/layout.tsx:112
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
docs/src/app/layout.tsx:112 Fq dangerous html
medium System graph quality Agent instructions conf 1.00 Agent authority lacks a verifier contract: plugins/cad/skills/cad-viewer/SKILL.md
This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes.
plugins/cad/skills/cad-viewer/SKILL.md VerificationSkill file
medium System graph quality Agent instructions conf 1.00 Agent authority lacks a verifier contract: plugins/cad/skills/gcode/SKILL.md
This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes.
plugins/cad/skills/gcode/SKILL.md VerificationSkill file
medium System graph quality Agent instructions conf 1.00 Agent authority lacks a verifier contract: plugins/cad/skills/sdf/SKILL.md
This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes.
plugins/cad/skills/sdf/SKILL.md VerificationSkill file
medium System graph quality Agent instructions conf 1.00 Agent authority lacks a verifier contract: plugins/cad/skills/srdf/SKILL.md
This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes.
plugins/cad/skills/srdf/SKILL.md VerificationSkill file
medium System graph quality Agent instructions conf 1.00 Agent authority lacks a verifier contract: skills/cad-viewer/SKILL.md
This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes.
skills/cad-viewer/SKILL.md VerificationSkill file
medium System graph quality Agent instructions conf 1.00 Agent authority lacks a verifier contract: skills/gcode/SKILL.md
This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes.
skills/gcode/SKILL.md VerificationSkill file
medium System graph quality Agent instructions conf 1.00 Agent authority lacks a verifier contract: skills/sdf/SKILL.md
This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes.
skills/sdf/SKILL.md VerificationSkill file
medium System graph quality Agent instructions conf 1.00 Agent authority lacks a verifier contract: skills/srdf/SKILL.md
This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes.
skills/srdf/SKILL.md VerificationSkill file
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 security Trivy conf 1.00 CVE-2026-47673: hono 4.12.18 — docs/package-lock.json
Hono: JWT middleware accepts any Authorization scheme, not only Bearer Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.21, the jwt and jwk middlewares do not verify that the Authorization header value uses theBearer scheme. Any two-part header va…
VulnCve 2026 47673
medium System graph security Trivy conf 1.00 CVE-2026-47674: hono 4.12.18 — docs/package-lock.json
Hono: IP Restriction bypasses static deny rules for non-canonical IPv6 Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.21, the ip-restriction middleware (hono/ip-restriction) compares incoming IP addresses against configured deny and allow rules…
VulnCve 2026 47674
medium System graph security Trivy conf 1.00 CVE-2026-47675: hono 4.12.18 — docs/package-lock.json
Hono: Cookie helper does not sanitize sameSite and priority, allowing Set-Cookie injection Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.21, the serialize() function in hono/cookie validates domain and path options against characters that corru…
VulnCve 2026 47675
medium System graph security Trivy conf 1.00 CVE-2026-47676: hono 4.12.18 — docs/package-lock.json
Hono: app.mount() strips mount prefix using undecoded path, causing incorrect routing for percent-encoded paths Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.21, app.mount() strips the mount prefix from the incoming request path using the raw U…
VulnCve 2026 47676
medium System graph security Trivy conf 1.00 CVE-2026-53550: js-yaml 4.1.1 — docs/package-lock.json
js-yaml: js-yaml: Denial of Service via crafted YAML merge keys js-yaml is a JavaScript YAML parser and dumper. Prior to 4.2.0 and 3.15.0, a crafted YAML document can trigger algorithmic CPU exhaustion in js-yaml merge-key processing (<<) by repeating the same alias many times in a merge sequence.…
VulnCve 2026 53550
medium System graph security Trivy conf 1.00 CVE-2026-54286: hono 4.12.18 — docs/package-lock.json
hono: Path traversal in `serve-static` on Windows via encoded backslash (`%5C`) Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.25, on Windows hosts, an encoded backslash (%5C) in the request path decodes to \, which the Windows path resolver tre…
VulnCve 2026 54286
medium System graph security Trivy conf 1.00 CVE-2026-54287: hono 4.12.18 — docs/package-lock.json
hono: AWS Lambda adapter merges multiple `Set-Cookie` headers into one value, dropping cookies on ALB single-header and Lattice Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.25, on AWS Lambda, the ALB single-header response and the VPC Lattice …
VulnCve 2026 54287
medium System graph security Trivy conf 1.00 CVE-2026-54288: hono 4.12.18 — docs/package-lock.json
hono: Body Limit Middleware can be bypassed on AWS Lambda by understating `Content-Length` Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.25, the Body Limit Middleware trusts the request's Content-Length header to decide whether a body is within…
VulnCve 2026 54288
medium System graph security Trivy conf 1.00 CVE-2026-54289: hono 4.12.18 — docs/package-lock.json
hono: Lambda@Edge adapter keeps only the last value of a repeated request header, dropping the rest Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.25, on AWS Lambda@Edge, CloudFront delivers a request header that appears more than once as severa…
VulnCve 2026 54289
medium System graph security Trivy conf 1.00 CVE-2026-59895: hono 4.12.18 — docs/package-lock.json
Hono: Server-Side XSS via JSX Escaping Bypass in cx() Utility Hono is a Web application framework that provides support for any JavaScript runtime. From 4.0.0 before 4.12.27, cx() in hono/css composes class names from plain strings but marks the result as already escaped without HTML-escaping the …
VulnCve 2026 59895
medium System graph security Trivy conf 1.00 CVE-2026-59896: hono 4.12.18 — docs/package-lock.json
hono/jsx does not isolate context per request, leading to cross-request data disclosure Hono is a Web application framework that provides support for any JavaScript runtime. From 4.11.8 before 4.12.27, hono/jsx did not isolate context values per request during server-side rendering, allowing creat…
VulnCve 2026 59896
medium System graph security Trivy conf 1.00 CVE-2026-59897: hono 4.12.18 — docs/package-lock.json
Hono: API Gateway v1 adapter can drop a distinct repeated request header value during de-duplication Hono is a Web application framework that provides support for any JavaScript runtime. From 4.3.3 before 4.12.27, the AWS API Gateway v1 adapter can drop a distinct repeated request header value bec…
VulnCve 2026 59897
medium System graph security Trivy conf 1.00 CVE-2026-64643: next 16.2.6 — docs/package-lock.json
Next.js: Unauthenticated disclosure of internal Server Function endpoints ## Impact In Next.js applications using App Router, Server Actions (`use server`) or `use cache` endpoints can be disclosed bypassing any authentication on the pages where these endpoints are usually used. Server Action ID…
VulnCve 2026 64643
medium System graph security Trivy conf 1.00 CVE-2026-64644: next 16.2.6 — docs/package-lock.json
Next.js: Denial of Service in the Image Optimization API using SVGs ### Impact When self-hosting Next.js with the default image loader, the Image Optimization API can optimize remotely hosted images if configured (not enabled by default). If those images contain malicious content, they can cause …
VulnCve 2026 64644
medium System graph security Trivy conf 1.00 CVE-2026-64646: next 16.2.6 — docs/package-lock.json
Next.js: Unbounded Server Action payload in Edge runtime ## Impact Requests targeting Next.js applications using App Router with at least one Server Action can lead to excessive memory consumption if that Server Actions uses the Edge runtime ## Workarounds If you cannot upgrade, ensure your hos…
VulnCve 2026 64646
medium System graph security Trivy conf 1.00 CVE-2026-64647: next 16.2.6 — docs/package-lock.json
Next.js: Cache confusion of response bodies for requests with bodies containing invalid UTF-8 byte sequences ## Impact A server-side `fetch` with a request body may return a cached **response** body from a different request to the same URL but different body. Confidential data in the `POST`'s **r…
VulnCve 2026 64647
medium System graph security Trivy conf 1.00 CVE-2026-64648: next 16.2.6 — docs/package-lock.json
Next.js: Cache confusion of response bodies for requests with bodies ## Impact A server-side `fetch` with a request body may return a cached **response** body from a different request to the same URL but different body. Confidential data in the `POST`'s **response** body would then leak to unauth…
VulnCve 2026 64648
medium System graph security Trivy conf 1.00 CVE-2026-8723: qs 6.15.1 — docs/package-lock.json
### Summary `qs.stringify` throws `TypeError` when called with `arr ... ### Summary `qs.stringify` throws `TypeError` when called with `arrayFormat: 'comma'` and `encodeValuesOnly: true` on an array containing `null` or `undefined`. The throw is synchronous and not handled by any of qs's nul…
VulnCve 2026 8723
medium System graph security Trivy conf 1.00 CVE-2026-9679: undici 6.26.0 — viewer/package-lock.json
undici: undici vulnerable to HTTP header injection via Set-Cookie percent-decoding Impact: undici's cookie parser in parseSetCookie percent-decodes cookie values via qsUnescape, turning encoded sequences like %0D%0A, %00, %3B, and %3D into their literal byte equivalents. RFC 6265 §5.4 does not spe…
VulnCve 2026 9679
medium System graph api Wiring conf 0.55 Dangling fetch: POST /__cad/implicit-export?file=${encodeURIComponent(fileRef)}&format=${encodeURIComponent(exportFormat)} (viewer/src/client/workbench/implicitExport.js:34)
`viewer/src/client/workbench/implicitExport.js:34` calls `POST /__cad/implicit-export?file=${encodeURIComponent(fileRef)}&format=${encodeURIComponent(exportFormat)}` but no backend route in the scanned graph matches that path. The path appears development/example-only, so verify its custom dev serv…
viewer/src/client/workbench/implicitExport.js:34 Dangling fetchFetchNon production context
medium System graph security Semgrep conf 0.55 dynamic urllib use detected — plugins/cad/skills/step-parts/scripts/download_step_part.py:66
Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead. R…
plugins/cad/skills/step-parts/scripts/download_step_part.py:66 SecurityPython
medium System graph security Semgrep conf 0.55 dynamic urllib use detected — skills/step-parts/scripts/download_step_part.py:66
Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead. R…
skills/step-parts/scripts/download_step_part.py:66 SecurityPython
medium System graph quality Integrity conf 0.90 Fire-and-forget `fetch()` has no rejection handler — viewer/src/client/components/CadWorkspace.js:1746
This fetch result is neither awaited, returned, assigned, nor followed by `.catch(...)`. A network failure can therefore become an unhandled promise rejection. Await/return the promise or attach an explicit rejection handler.
viewer/src/client/components/CadWorkspace.js:1746 runtime safetyRobustnessUnhandled promise
medium System graph quality Integrity conf 0.90 Fire-and-forget `fetch()` has no rejection handler — viewer/src/client/components/workbench/CadWorkspaceTopBar.js:834
This fetch result is neither awaited, returned, assigned, nor followed by `.catch(...)`. A network failure can therefore become an unhandled promise rejection. Await/return the promise or attach an explicit rejection handler.
viewer/src/client/components/workbench/CadWorkspaceTopBar.js:834 runtime safetyRobustnessUnhandled promise
medium System graph security Trivy conf 1.00 GHSA-frvp-7c67-39w9: @hono/node-server 1.19.14 — docs/package-lock.json
Node.js Adapter for Hono: Path traversal in `serve-static` on Windows via encoded backslash (`%5C`) The same as the `hono` core [Path traversal in `serve-static` on Windows via encoded backslash (`%5C`)](https://github.com/honojs/hono/security/advisories/GHSA-wwfh-h76j-fc44). ### Summary On Wind…
VulnGhsa frvp 7c67 39w9
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/release.yml CI/CD securitySupply chainGithub actions
medium System graph security Semgrep conf 0.75 insecure hash algorithm sha1 — plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:349
Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. Rule: python.lang.security.insecure-hash-algorithms.insecure-hash-algorithm-sha1 Severity: WARNING OWASP: A03:2017 - Se…
plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:349 SecurityPython
medium System graph security Semgrep conf 0.75 insecure hash algorithm sha1 — skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:349
Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. Rule: python.lang.security.insecure-hash-algorithms.insecure-hash-algorithm-sha1 Severity: WARNING OWASP: A03:2017 - Se…
skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:349 SecurityPython
medium System graph security Semgrep conf 0.75 insecure hash algorithm sha1 — viewer/moveit2_server/moveit2_server/moveit_py.py:349
Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. Rule: python.lang.security.insecure-hash-algorithms.insecure-hash-algorithm-sha1 Severity: WARNING OWASP: A03:2017 - Se…
viewer/moveit2_server/moveit2_server/moveit_py.py:349 SecurityPython
medium System graph security security conf 0.65 Insecure pattern 'dangerous_innerhtml' in docs/src/app/layout.tsx:112
Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible.
docs/src/app/layout.tsx:112 Dangerous innerhtml
medium System graph security security conf 0.80 Insecure pattern 'node_child_process' in plugins/cad/skills/implicit-cad/scripts/export.mjs:2
Found a known-risky pattern (node_child_process). Review and replace if possible.
plugins/cad/skills/implicit-cad/scripts/export.mjs:2 Node child process
medium System graph security security conf 0.80 Insecure pattern 'node_child_process' in skills/implicit-cad/scripts/export.mjs:2
Found a known-risky pattern (node_child_process). Review and replace if possible.
skills/implicit-cad/scripts/export.mjs:2 Node child process
medium System graph security security conf 0.80 Insecure pattern 'node_child_process' in viewer/scripts/start-agent-viewer.mjs:2
Found a known-risky pattern (node_child_process). Review and replace if possible.
viewer/scripts/start-agent-viewer.mjs:2 Node child process
medium System graph quality Integrity conf 0.85 Network/subprocess call without timeout or try/except — plugins/cad/skills/bambu-labs/scripts/bambu_lan_print.py:580
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
plugins/cad/skills/bambu-labs/scripts/bambu_lan_print.py:580 runtime safetyRobustness
medium System graph quality Integrity conf 0.85 Network/subprocess call without timeout or try/except — plugins/cad/skills/gcode/scripts/gcode_tool.py:528
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
plugins/cad/skills/gcode/scripts/gcode_tool.py:528 runtime safetyRobustness
medium System graph quality Integrity conf 0.85 Network/subprocess call without timeout or try/except — skills/bambu-labs/scripts/bambu_lan_print.py:580
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
skills/bambu-labs/scripts/bambu_lan_print.py:580 runtime safetyRobustness
medium System graph quality Integrity conf 0.85 Network/subprocess call without timeout or try/except — skills/gcode/scripts/gcode_tool.py:528
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
skills/gcode/scripts/gcode_tool.py:528 runtime safetyRobustness
medium System graph security Coverage conf 1.00 No auth library detected
The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing.
auth
medium System graph security Skillspector conf 0.60 SkillSpector AST4 (behavioral-ast) in skills/bambu-labs/scripts/bambu_lan_print.py
result = subprocess.run(command, check=False, capture_output=True, text=True) subprocess module calls execute external commands. Without careful input validation, this enables command injection. Skill: bambu-labs Rule: AST4 Category: behavioral-ast Severity: MEDIUM Confidence: 0.60 Remediation…
skills/bambu-labs/scripts/bambu_lan_print.py:580 Mcp skillBehavioral astAst4
medium System graph security Skillspector conf 0.80 SkillSpector EA2 (excessive-agency) in skills/cad/references/cad-brief.md
do not ask the user Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation. Skill: cad Rule: EA2 Category: excessive-agency Severity: MEDIUM…
skills/cad/references/cad-brief.md:3 Mcp skillExcessive agencyEa2
medium System graph security Skillspector conf 0.75 SkillSpector EA4 (excessive-agency) in skills/cad/scripts/packages/cadpy/src/cadpy/generation_status.py
timeout=0 Skill allows unbounded resource consumption (API calls, storage, compute). Without rate limits or quotas, a compromised or misbehaving agent can cause denial-of-service or cost overruns. Skill: cad Rule: EA4 Category: excessive-agency Severity: MEDIUM Confidence: 0.75 Remediation: Se…
skills/cad/scripts/packages/cadpy/src/cadpy/generation_status.py:101 Mcp skillExcessive agencyEa4
medium System graph security Skillspector conf 0.70 SkillSpector LP3 (mcp-least-priv) in skills/bambu-labs/SKILL.md
MCP Least Privilege Without declared permissions the skill's intent is opaque and cannot be validated. Skill: bambu-labs Rule: LP3 Category: mcp-least-priv Severity: MEDIUM Confidence: 0.70 Remediation: Add a 'permissions' field to SKILL.md listing the capabilities this skill requires.
skills/bambu-labs/SKILL.md:1 Mcp skillMcp least privLp3
medium System graph security Skillspector conf 0.70 SkillSpector LP3 (mcp-least-priv) in skills/cad/SKILL.md
MCP Least Privilege Without declared permissions the skill's intent is opaque and cannot be validated. Skill: cad Rule: LP3 Category: mcp-least-priv Severity: MEDIUM Confidence: 0.70 Remediation: Add a 'permissions' field to SKILL.md listing the capabilities this skill requires.
skills/cad/SKILL.md:1 Mcp skillMcp least privLp3
medium System graph security Semgrep conf 0.55 use defused xml — packages/cadpy/src/cadpy/threemf.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
packages/cadpy/src/cadpy/threemf.py:8 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/context.py:5
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/context.py:5 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:10
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:10 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/srdf_source.py:7
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/srdf_source.py:7 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/threemf.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/threemf.py:8 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/cad/scripts/packages/cadpy/src/cadpy/threemf.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/cad/scripts/packages/cadpy/src/cadpy/threemf.py:8 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/dxf/scripts/packages/cadpy/src/cadpy/threemf.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/dxf/scripts/packages/cadpy/src/cadpy/threemf.py:8 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/sdf/scripts/sdf/builder.py:5
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/sdf/scripts/sdf/builder.py:5 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/sdf/scripts/sdf/cli.py:10
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/sdf/scripts/sdf/cli.py:10 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/sdf/scripts/sdf/source.py:6
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/sdf/scripts/sdf/source.py:6 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/sdf/scripts/sdf/validation.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/sdf/scripts/sdf/validation.py:8 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/srdf/scripts/srdf/cli.py:13
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/srdf/scripts/srdf/cli.py:13 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/srdf/scripts/srdf/source.py:7
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/srdf/scripts/srdf/source.py:7 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/urdf/scripts/urdf/cli.py:10
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/urdf/scripts/urdf/cli.py:10 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — plugins/cad/skills/urdf/scripts/urdf/source.py:9
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
plugins/cad/skills/urdf/scripts/urdf/source.py:9 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/context.py:5
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/context.py:5 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:10
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:10 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/srdf_source.py:7
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/srdf_source.py:7 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/threemf.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/threemf.py:8 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/cad/scripts/packages/cadpy/src/cadpy/threemf.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/cad/scripts/packages/cadpy/src/cadpy/threemf.py:8 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/dxf/scripts/packages/cadpy/src/cadpy/threemf.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/dxf/scripts/packages/cadpy/src/cadpy/threemf.py:8 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/sdf/scripts/sdf/builder.py:5
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/sdf/scripts/sdf/builder.py:5 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/sdf/scripts/sdf/cli.py:10
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/sdf/scripts/sdf/cli.py:10 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/sdf/scripts/sdf/source.py:6
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/sdf/scripts/sdf/source.py:6 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/sdf/scripts/sdf/validation.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/sdf/scripts/sdf/validation.py:8 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/srdf/scripts/srdf/cli.py:13
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/srdf/scripts/srdf/cli.py:13 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/srdf/scripts/srdf/source.py:7
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/srdf/scripts/srdf/source.py:7 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/urdf/scripts/urdf/cli.py:10
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/urdf/scripts/urdf/cli.py:10 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — skills/urdf/scripts/urdf/source.py:9
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
skills/urdf/scripts/urdf/source.py:9 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — viewer/moveit2_server/moveit2_server/context.py:5
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
viewer/moveit2_server/moveit2_server/context.py:5 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — viewer/moveit2_server/moveit2_server/moveit_py.py:10
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
viewer/moveit2_server/moveit2_server/moveit_py.py:10 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — viewer/moveit2_server/moveit2_server/srdf_source.py:7
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
viewer/moveit2_server/moveit2_server/srdf_source.py:7 SecurityPython
medium System graph security Semgrep conf 0.55 use defused xml — viewer/packages/cadpy/src/cadpy/threemf.py:8
The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. Rule: python.lang.security.use-defused-xml.use-d…
viewer/packages/cadpy/src/cadpy/threemf.py:8 SecurityPython
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency @hono/node-server 1.19.14: GHSA-frvp-7c67-39w9
OSV.dev reports `@hono/node-server` at version `1.19.14` (resolved in `docs/package-lock.json`) is affected by GHSA-frvp-7c67-39w9. Note: `@hono/node-server` is a transitive dependency — pulled in by another package, not declared directly in a manifest. Node.js Adapter for Hono: Path traversal in …
docs/package-lock.json ScaOsvGhsa frvp 7c67 39w9
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency body-parser 2.2.2: GHSA-v422-hmwv-36x6
OSV.dev reports `body-parser` at version `2.2.2` (resolved in `docs/package-lock.json`) is affected by GHSA-v422-hmwv-36x6. Note: `body-parser` is a transitive dependency — pulled in by another package, not declared directly in a manifest. No summary published yet. Advisory: https://osv.dev/vulne…
docs/package-lock.json ScaOsvGhsa v422 hmwv 36x6
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency fast-uri 3.1.2: GHSA-v2hh-gcrm-f6hx
OSV.dev reports `fast-uri` at version `3.1.2` (resolved in `docs/package-lock.json`) is affected by GHSA-v2hh-gcrm-f6hx. Note: `fast-uri` is a transitive dependency — pulled in by another package, not declared directly in a manifest. No summary published yet. Advisory: https://osv.dev/vulnerabili…
docs/package-lock.json ScaOsvGhsa v2hh gcrm f6hx
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-2gcr-mfcq-wcc3
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-2gcr-mfcq-wcc3 (aka CVE-2026-47676). Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. Hono: app.mount() strips mount prefix using undec…
docs/package-lock.json ScaOsvGhsa 2gcr mfcq wcc3
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-3hrh-pfw6-9m5x
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-3hrh-pfw6-9m5x (aka CVE-2026-47675). Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. Hono: Cookie helper does not sanitize sameSite an…
docs/package-lock.json ScaOsvGhsa 3hrh pfw6 9m5x
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-f577-qrjj-4474
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-f577-qrjj-4474 (aka CVE-2026-47673). Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. Hono: JWT middleware accepts any Authorization sc…
docs/package-lock.json ScaOsvGhsa f577 qrjj 4474
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-hvrm-45r6-mjfj
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-hvrm-45r6-mjfj (aka CVE-2026-59896). Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. hono/jsx does not isolate context per request, le…
docs/package-lock.json ScaOsvGhsa hvrm 45r6 mjfj
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-j6c9-x7qj-28xf
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-j6c9-x7qj-28xf (aka CVE-2026-54287). Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. hono: AWS Lambda adapter merges multiple `Set-Coo…
docs/package-lock.json ScaOsvGhsa j6c9 x7qj 28xf
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-rv63-4mwf-qqc2
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-rv63-4mwf-qqc2. Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. No summary published yet. Advisory: https://osv.dev/vulnerability/GHS…
docs/package-lock.json ScaOsvGhsa rv63 4mwf qqc2
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-w62v-xxxg-mg59
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-w62v-xxxg-mg59. Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. No summary published yet. Advisory: https://osv.dev/vulnerability/GHS…
docs/package-lock.json ScaOsvGhsa w62v xxxg mg59
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-wgpf-jwqj-8h8p
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-wgpf-jwqj-8h8p. Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. No summary published yet. Advisory: https://osv.dev/vulnerability/GHS…
docs/package-lock.json ScaOsvGhsa wgpf jwqj 8h8p
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-wwfh-h76j-fc44
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-wwfh-h76j-fc44. Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. No summary published yet. Advisory: https://osv.dev/vulnerability/GHS…
docs/package-lock.json ScaOsvGhsa wwfh h76j fc44
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-xgm2-5f3f-mvvc
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-xgm2-5f3f-mvvc. Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. No summary published yet. Advisory: https://osv.dev/vulnerability/GHS…
docs/package-lock.json ScaOsvGhsa xgm2 5f3f mvvc
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency hono 4.12.18: GHSA-xrhx-7g5j-rcj5
OSV.dev reports `hono` at version `4.12.18` (resolved in `docs/package-lock.json`) is affected by GHSA-xrhx-7g5j-rcj5. Note: `hono` is a transitive dependency — pulled in by another package, not declared directly in a manifest. No summary published yet. Advisory: https://osv.dev/vulnerability/GHS…
docs/package-lock.json ScaOsvGhsa xrhx 7g5j rcj5
medium System graph dependencies dependencies conf 1.00 Vulnerable dependency next 16.2.6: GHSA-4633-3j49-mh5q
OSV.dev reports `next` at version `16.2.6` (resolved in `docs/package-lock.json`) is affected by GHSA-4633-3j49-mh5q (aka CVE-2026-64647). Next.js: Cache confusion of response bodies for requests with bodies containing invalid UTF-8 byte sequences Aliases: CVE-2026-64647 Advisory: https://osv.dev…
docs/package.json ScaOsvGhsa 4633 3j49 mh5q
medium System graph dependencies dependencies conf 1.00 Vulnerable dependency next 16.2.6: GHSA-4c39-4ccg-62r3
OSV.dev reports `next` at version `16.2.6` (resolved in `docs/package-lock.json`) is affected by GHSA-4c39-4ccg-62r3 (aka CVE-2026-64646). Next.js: Unbounded Server Action payload in Edge runtime Aliases: CVE-2026-64646 Advisory: https://osv.dev/vulnerability/GHSA-4c39-4ccg-62r3 Fix: upgrade `nex…
docs/package.json ScaOsvGhsa 4c39 4ccg 62r3
medium System graph dependencies dependencies conf 1.00 Vulnerable dependency next 16.2.6: GHSA-68g3-v927-f742
OSV.dev reports `next` at version `16.2.6` (resolved in `docs/package-lock.json`) is affected by GHSA-68g3-v927-f742 (aka CVE-2026-64648). Next.js: Cache confusion of response bodies for requests with bodies Aliases: CVE-2026-64648 Advisory: https://osv.dev/vulnerability/GHSA-68g3-v927-f742 Fix: …
docs/package.json ScaOsvGhsa 68g3 v927 f742
medium System graph dependencies dependencies conf 1.00 Vulnerable dependency next 16.2.6: GHSA-955p-x3mx-jcvp
OSV.dev reports `next` at version `16.2.6` (resolved in `docs/package-lock.json`) is affected by GHSA-955p-x3mx-jcvp (aka CVE-2026-64643). Next.js: Unauthenticated disclosure of internal Server Function endpoints Aliases: CVE-2026-64643 Advisory: https://osv.dev/vulnerability/GHSA-955p-x3mx-jcvp …
docs/package.json ScaOsvGhsa 955p x3mx jcvp
medium System graph dependencies dependencies conf 1.00 Vulnerable dependency next 16.2.6: GHSA-m99w-x7hq-7vfj
OSV.dev reports `next` at version `16.2.6` (resolved in `docs/package-lock.json`) is affected by GHSA-m99w-x7hq-7vfj. No summary published yet. Advisory: https://osv.dev/vulnerability/GHSA-m99w-x7hq-7vfj Fix: upgrade `next` past the affected range per the advisory.
docs/package.json ScaOsvGhsa m99w x7hq 7vfj
medium System graph dependencies dependencies conf 1.00 Vulnerable dependency next 16.2.6: GHSA-p9j2-gv94-2wf4
OSV.dev reports `next` at version `16.2.6` (resolved in `docs/package-lock.json`) is affected by GHSA-p9j2-gv94-2wf4. No summary published yet. Advisory: https://osv.dev/vulnerability/GHSA-p9j2-gv94-2wf4 Fix: upgrade `next` past the affected range per the advisory.
docs/package.json ScaOsvGhsa p9j2 gv94 2wf4
medium System graph dependencies dependencies conf 1.00 Vulnerable dependency next 16.2.6: GHSA-q8wf-6r8g-63ch
OSV.dev reports `next` at version `16.2.6` (resolved in `docs/package-lock.json`) is affected by GHSA-q8wf-6r8g-63ch. No summary published yet. Advisory: https://osv.dev/vulnerability/GHSA-q8wf-6r8g-63ch Fix: upgrade `next` past the affected range per the advisory.
docs/package.json ScaOsvGhsa q8wf 6r8g 63ch
medium System graph dependencies dependencies conf 0.90 Vulnerable dependency vite 7.3.2: GHSA-v6wh-96g9-6wx3
OSV.dev reports `vite` at version `7.3.2` (resolved in `viewer/package-lock.json`) is affected by GHSA-v6wh-96g9-6wx3. No summary published yet. Advisory: https://osv.dev/vulnerability/GHSA-v6wh-96g9-6wx3 Fix: upgrade `vite` past the affected range per the advisory.
viewer/package.json ScaOsvGhsa v6wh 96g9 6wx3
low System graph quality Integrity conf 1.00 28 env vars used in code but missing from .env.example
Drift between code and config docs. The first few: `BAMBOX_BIN`, `BAMBU_STUDIO_BIN`, `BLOB_READ_WRITE_TOKEN`, `BLOB_STORE_ID`, `CAD_PYTHON`, `CAD_PYTHONPATH`, `DEV`, `DISCORD_URL` + 20 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break.
config drift
low System graph api Wiring conf 1.00 6 backend endpoints not called by scanned frontend
No scanned frontend call matched these backend routes. Sample: ANY /api/cad/reveal, ANY /api/cad/download, ANY /api/cad/server, ANY /api/cad/catalog, ANY /api/hero-step, ANY /api/hero-step-module. This is fine when endpoints serve external clients (mobile apps, SDKs, third-party integrations, serve…
Unused endpoint
low System graph security Trivy conf 1.00 CVE-2026-11525: undici 6.26.0 — viewer/package-lock.json
undici: undici: Weakening of cookie SameSite policy due to incorrect parsing of Set-Cookie header Impact: When undici parses a Set-Cookie header, it accepts any SameSite attribute value that contains Strict, Lax, or None as a substring, rather than the case-insensitive exact match specified by RFC…
VulnCve 2026 11525
low System graph security Trivy conf 1.00 CVE-2026-12590: body-parser 2.2.2 — docs/package-lock.json
body-parser: body-parser: Denial of Service via invalid limit option Impact: In body-parser versions prior to 1.20.6 (1.x line) and 2.3.0 (2.x line), when the parser is configured with an invalid limit option value such as an unparseable string or NaN, bytes.parse returns null and the request body…
VulnCve 2026 12590
low System graph security Trivy conf 1.00 CVE-2026-49356: @babel/core 7.29.0 — docs/package-lock.json
@babel/core: @babel/core: Arbitrary file read via sourceMappingURL comment Babel is a compiler for writing next generation JavaScript. Prior to 8.0.0-rc.6 and 7.29.6, @babel/core affected by an arbitrary file read via a sourceMappingURL comment. Using @babel/core to compile maliciously crafted cod…
VulnCve 2026 49356
low System graph security Trivy conf 1.00 CVE-2026-6733: undici 6.26.0 — viewer/package-lock.json
undici: Undici: Response queue poisoning on reused keep-alive sockets can lead to incorrect response delivery. Impact: Undici's HTTP/1.1 client is vulnerable to response queue poisoning on reused keep-alive sockets. An attacker-controlled upstream server can inject an unsolicited HTTP/1.1 response…
VulnCve 2026 6733
low System graph quality Debug conf 1.00 Debug logging residue appears in source files
Found 171 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 dependencies dependencies conf 0.90 Dependency react is a major version behind
`react` is pinned at `18.3.1` in `viewer/package.json` while the latest release on the npm registry is `19.2.8` — 1 major version(s) behind. Old majors stop receiving security backports and accumulate known CVEs. Review the upstream changelog / migration guide and upgrade `react` to `19.2.8`.
viewer/package.json FreshnessOutdated
low System graph dependencies dependencies conf 0.90 Dependency react-dom is a major version behind
`react-dom` is pinned at `18.3.1` in `viewer/package.json` while the latest release on the npm registry is `19.2.8` — 1 major version(s) behind. Old majors stop receiving security backports and accumulate known CVEs. Review the upstream changelog / migration guide and upgrade `react-dom` to `19.2.8…
viewer/package.json FreshnessOutdated
low System graph cicd CI/CD security conf 1.00 5 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.
5 files, 5 locations
.github/workflows/deploy-docs.yml:32
.github/workflows/deploy-viewer.yml:32
.github/workflows/release.yml:71
.github/workflows/test.yml:23
.github/workflows/upload-models.yml:32
CI/CD securitySupply chainGithub actions
low System graph quality Tests conf 1.00 Low test-to-source ratio
190 tests / 1017 src (ratio 0.19).
low System graph quality Agent instructions conf 1.00 Multiple root agent instruction files without precedence
The repo has multiple top-level AI-coder instruction files. Without precedence rules, different agents may follow different policies.
Governance
low System graph quality Integrity conf 1.00 Near-duplicate function bodies in 3 places
Functions with the same substantial AST body hash: viewer/moveit2_server/moveit2_server/protocol.py:49:normalize_quat_xyzw, skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/protocol.py:49:normalize_quat_xyzw, plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/p…
duplicatesduplication
low System graph quality Integrity conf 1.00 Near-duplicate function bodies in 5 places
Functions with the same substantial AST body hash: viewer/moveit2_server/moveit2_server/srdf_source.py:73:read_srdf_source, skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/srdf_source.py:73:read_srdf_source, skills/srdf/scripts/srdf/source.py:80:read_srdf_source, plugins/cad/skills/c…
duplicatesduplication
low System graph quality Integrity conf 1.00 Near-duplicate function bodies in 8 places
Functions with the same substantial AST body hash: viewer/packages/cadpy/src/cadpy/assembly_flatten.py:52:filesystem_entry, packages/cadpy/src/cadpy/assembly_flatten.py:52:filesystem_entry, skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/assembly_flatten.py:52:filesystem_entry, skills/dxf…
duplicatesduplication
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `final_joint_values_legacy` in plugins/cad/skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:571
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `final_joint_values_legacy` in skills/cad-viewer/scripts/viewer/moveit2_server/moveit2_server/moveit_py.py:571
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `final_joint_values_legacy` in viewer/moveit2_server/moveit2_server/moveit_py.py:571
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph software Dead code conf 1.00 Possibly dead Python function: add_module
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/assembly.py:116
low System graph software Dead code conf 1.00 Possibly dead Python function: aligned_view_name_for_facts
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/analysis.py:658
low System graph software Dead code conf 1.00 Possibly dead Python function: artifact_path_for_step_path
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/catalog.py:261
low System graph software Dead code conf 1.00 Possibly dead Python function: assert_bbox_coordinate
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/validators.py:50
low System graph software Dead code conf 1.00 Possibly dead Python function: assert_bbox_span
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/validators.py:63
low System graph software Dead code conf 1.00 Possibly dead Python function: assert_selector_count
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/validators.py:90
low System graph software Dead code conf 1.00 Possibly dead Python function: ball_frame
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/assembly.py:153
low System graph software Dead code conf 1.00 Possibly dead Python function: cylindrical_frame
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/assembly.py:150
low System graph software Dead code conf 1.00 Possibly dead Python function: datum
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/assembly.py:132
low System graph software Dead code conf 1.00 Possibly dead Python function: export_assembly_step_from_payload
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/assembly_export.py:951
low System graph software Dead code conf 1.00 Possibly dead Python function: export_assembly_step_scene_from_payload
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/assembly_export.py:963
low System graph software Dead code conf 1.00 Possibly dead Python function: export_glb_with_topology
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/generation.py:1788
low System graph software Dead code conf 1.00 Possibly dead Python function: filesystem_entry
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/assembly_flatten.py:52
low System graph software Dead code conf 1.00 Possibly dead Python function: filesystem_entry
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
packages/cadpy/src/cadpy/assembly_flatten.py:52
low System graph software Dead code conf 1.00 Possibly dead Python function: find_source_by_source_ref
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/catalog.py:192
low System graph software Dead code conf 1.00 Possibly dead Python function: generate_step
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/generation.py:2242
low System graph software Dead code conf 1.00 Possibly dead Python function: hidden_artifact_path_for_step_path
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/catalog.py:265
low System graph software Dead code conf 1.00 Possibly dead Python function: linear_frame
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/assembly.py:147
low System graph software Dead code conf 1.00 Possibly dead Python function: native_glb_sidecar_job
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/generation.py:1775
low System graph software Dead code conf 1.00 Possibly dead Python function: read_dxf_text_to_cad_metadata
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/file_metadata.py:42
low System graph software Dead code conf 1.00 Possibly dead Python function: run_tool_cli
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/generation.py:2310
low System graph software Dead code conf 1.00 Possibly dead Python function: scene_occurrence_prototype_shape
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/step_scene.py:1455
low System graph software Dead code conf 1.00 Possibly dead Python function: step_path_from_target
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/step_targets.py:122
low System graph software Dead code conf 1.00 Possibly dead Python function: stl_sidecar_job
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/generation.py:1757
low System graph software Dead code conf 1.00 Possibly dead Python function: stl_sidecar_job
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
packages/cadpy/src/cadpy/generation.py:1757
low System graph software Dead code conf 1.00 Possibly dead Python function: three_mf_sidecar_job
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
viewer/packages/cadpy/src/cadpy/generation.py:1763
low System graph software Dead code conf 1.00 Possibly dead Python function: three_mf_sidecar_job
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
packages/cadpy/src/cadpy/generation.py:1763
low System graph frontend Frontend quality conf 0.85 React Flow edge with `label=` but no project-wide edge-label CSS override — plugins/cad/skills/cad/scripts/snapshot/runtime/snapshot-render.js:4168
React Flow edge labels render with a white rectangle behind the text by default, which scatters bright boxes across a dark canvas. Either drop the label, or override `.react-flow__edge-textbg` and `.react-flow__edge-text` in your stylesheet. Why: P-H in CHECKLIST.md — vendor edge labels bleed whit…
plugins/cad/skills/cad/scripts/snapshot/runtime/snapshot-render.js:4168 Fq edge label no bg
low System graph frontend Frontend quality conf 0.85 React Flow edge with `label=` but no project-wide edge-label CSS override — skills/cad/scripts/snapshot/runtime/snapshot-render.js:4168
React Flow edge labels render with a white rectangle behind the text by default, which scatters bright boxes across a dark canvas. Either drop the label, or override `.react-flow__edge-textbg` and `.react-flow__edge-text` in your stylesheet. Why: P-H in CHECKLIST.md — vendor edge labels bleed whit…
skills/cad/scripts/snapshot/runtime/snapshot-render.js:4168 Fq edge label no bg
low System graph security Skillspector conf 0.50 SkillSpector AST7 (behavioral-ast) in skills/bambu-labs/scripts/bambu_lan_print.py
if hasattr(args, attr) and not getattr(args, attr, "") and entry.get(key): Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls. Skill: bambu-labs Rule: AST7 Category: behavioral-ast Severity: LOW Confidence: 0.50 Rem…
skills/bambu-labs/scripts/bambu_lan_print.py:207 Mcp skillBehavioral astAst7
low System graph security Skillspector conf 0.50 SkillSpector AST7 (behavioral-ast) in skills/cad/scripts/packages/cadpy/src/cadpy/assembly.py
joint_cls = getattr(build123d, joint_type) Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls. Skill: cad Rule: AST7 Category: behavioral-ast Severity: LOW Confidence: 0.50 Remediation: Replace dynamic getattr() wit…
skills/cad/scripts/packages/cadpy/src/cadpy/assembly.py:282 Mcp skillBehavioral astAst7
low System graph security Skillspector conf 0.50 SkillSpector AST7 (behavioral-ast) in skills/cad/scripts/packages/cadpy/src/cadpy/generation.py
generator = getattr(module, generator_name, None) Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls. Skill: cad Rule: AST7 Category: behavioral-ast Severity: LOW Confidence: 0.50 Remediation: Replace dynamic getatt…
skills/cad/scripts/packages/cadpy/src/cadpy/generation.py:1088 Mcp skillBehavioral astAst7
low System graph security Skillspector conf 0.50 SkillSpector AST7 (behavioral-ast) in skills/cad/scripts/packages/cadpy/src/cadpy/step_scene.py
mode = getattr(reader, mode_name, None) Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls. Skill: cad Rule: AST7 Category: behavioral-ast Severity: LOW Confidence: 0.50 Remediation: Replace dynamic getattr() with e…
skills/cad/scripts/packages/cadpy/src/cadpy/step_scene.py:968 Mcp skillBehavioral astAst7
low System graph security Skillspector conf 0.70 SkillSpector EA3 (excessive-agency) in skills/bambu-labs/LICENSE
NOT LIMITED TO Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface. Skill: bambu-labs Rule: EA3 Category: excessive-agency Severity: LOW Confidence: 0.70 Remed…
skills/bambu-labs/LICENSE:16 Mcp skillExcessive agencyEa3
low System graph security Skillspector conf 0.70 SkillSpector EA3 (excessive-agency) in skills/cad/LICENSE
NOT LIMITED TO Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface. Skill: cad Rule: EA3 Category: excessive-agency Severity: LOW Confidence: 0.70 Remediation:…
skills/cad/LICENSE:16 Mcp skillExcessive agencyEa3
low System graph security Skillspector conf 0.60 SkillSpector SC1 (supply-chain) in skills/cad/requirements.txt
playwright Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions. Skill: cad Rule: SC1 Category: supply-chain Severity: LOW Confidence: 0.60 Remediation: Pin all dependency versions in requirements.txt or pyproject.toml. Use exact versions (…
skills/cad/requirements.txt:2 Mcp skillSupply chainSc1
low System graph quality Complexity conf 1.00 Very large file: packages/cadjs/src/common/cadScene.js (2203 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: packages/cadjs/src/common/themeSettings.js (1688 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: packages/cadpy/src/cadpy/assembly_composition.py (1269 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: packages/cadpy/src/cadpy/generation.py (2351 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: packages/cadpy/src/cadpy/step_scene.py (2626 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: packages/implicitjs/src/common/themeSettings.js (1717 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: packages/implicitjs/src/lib/implicitCad/render.js (1966 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/bambu-labs/scripts/bambu_lan_print.py (1771 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad-viewer/scripts/viewer/packages/cadjs/src/common/cadScene.js (2203 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad-viewer/scripts/viewer/packages/cadjs/src/common/themeSettings.js (1688 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/assembly_composition.py (1269 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/generation.py (2351 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/step_scene.py (2626 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad-viewer/scripts/viewer/packages/implicitjs/src/common/themeSettings.js (1717 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad-viewer/scripts/viewer/packages/implicitjs/src/lib/implicitCad/render.js (1966 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad/scripts/packages/cadpy/src/cadpy/assembly_composition.py (1269 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad/scripts/packages/cadpy/src/cadpy/generation.py (2351 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad/scripts/packages/cadpy/src/cadpy/step_scene.py (2626 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/cad/scripts/snapshot/runtime/snapshot-render.js (4168 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/dxf/scripts/packages/cadpy/src/cadpy/assembly_composition.py (1269 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/dxf/scripts/packages/cadpy/src/cadpy/generation.py (2351 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/dxf/scripts/packages/cadpy/src/cadpy/step_scene.py (2626 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/implicit-cad/scripts/packages/implicitjs/src/common/themeSettings.js (1717 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: plugins/cad/skills/implicit-cad/scripts/packages/implicitjs/src/lib/implicitCad/render.js (1966 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/bambu-labs/scripts/bambu_lan_print.py (1771 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad-viewer/scripts/viewer/packages/cadjs/src/common/cadScene.js (2203 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad-viewer/scripts/viewer/packages/cadjs/src/common/themeSettings.js (1688 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/assembly_composition.py (1269 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/generation.py (2351 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad-viewer/scripts/viewer/packages/cadpy/src/cadpy/step_scene.py (2626 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad-viewer/scripts/viewer/packages/implicitjs/src/common/themeSettings.js (1717 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad-viewer/scripts/viewer/packages/implicitjs/src/lib/implicitCad/render.js (1966 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad/scripts/packages/cadpy/src/cadpy/assembly_composition.py (1269 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad/scripts/packages/cadpy/src/cadpy/generation.py (2351 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad/scripts/packages/cadpy/src/cadpy/step_scene.py (2626 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/cad/scripts/snapshot/runtime/snapshot-render.js (4168 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/dxf/scripts/packages/cadpy/src/cadpy/assembly_composition.py (1269 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/dxf/scripts/packages/cadpy/src/cadpy/generation.py (2351 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/dxf/scripts/packages/cadpy/src/cadpy/step_scene.py (2626 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/implicit-cad/scripts/packages/implicitjs/src/common/themeSettings.js (1717 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: skills/implicit-cad/scripts/packages/implicitjs/src/lib/implicitCad/render.js (1966 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: tests/python/skills/cad/cadpy/test_generation.py (2691 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/packages/cadjs/src/common/cadScene.js (2203 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/packages/cadjs/src/common/themeSettings.js (1688 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/packages/cadpy/src/cadpy/assembly_composition.py (1269 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/packages/cadpy/src/cadpy/generation.py (2351 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/packages/cadpy/src/cadpy/step_scene.py (2626 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/packages/implicitjs/src/common/themeSettings.js (1717 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/packages/implicitjs/src/lib/implicitCad/render.js (1966 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/src/client/components/CadViewer.js (4793 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/src/client/components/CadWorkspace.js (9109 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/src/client/components/viewer/hooks/useViewerPicking.js (1422 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/src/client/components/workbench/StepFileSheet.js (1702 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/src/client/components/workbench/ThemeSettingsPopover.js (2438 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: viewer/src/client/workbench/sidebar.test.js (2339 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph dependencies dependencies conf 0.90 Vulnerable dependency @babel/core 7.29.0: GHSA-4x5r-pxfx-6jf8
OSV.dev reports `@babel/core` at version `7.29.0` (resolved in `docs/package-lock.json`) is affected by GHSA-4x5r-pxfx-6jf8 (aka CVE-2026-49356). Note: `@babel/core` is a transitive dependency — pulled in by another package, not declared directly in a manifest. @babel/core: Arbitrary File Read via…
docs/package-lock.json ScaOsvGhsa 4x5r pxfx 6jf8
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/41745799-8d92-4609-af4e-6f47a601b418/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/41745799-8d92-4609-af4e-6f47a601b418/

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.