Pages and contents

Docs
Skills
Subagents
Lessons (pitfalls)
Research

Research · research/security-report.md · Markdown

Supply-chain and resource report

What cad-agent depends on, vendors and links to, checked on 2026-11-01 at revision 3c0a609b205b (online checks). Findings: 1 critical, 15 medium, 37 low, 12 info. Generated by tools/resource_audit.py; how to read it and what blocks a merge are in the cad-supply-chain skill and on the supply-chain page.

Open findings by area and severity, from this report: 1 critical, 15 medium, 37 low, 12 info

Limits. A clean report is not proof of safety: what each check can and cannot see
  • A clean report is not proof of safety: advisory databases (OSV, the npm registry) only know what has been reported.
  • Licences come from licence files and registry metadata (GitHub, PyPI, npm), matched by keyword; they are not a legal review.
  • Link checks see status codes and redirects, not content: a parked or replaced page that answers 200 passes. Domain expiry is not checked.
  • GitHub links are checked at repository level; a missing file or anchor inside a live repository is not seen.
  • Python versions are checked at the newest release and the lowest release our range allows, not at every version in between.
  • Transitive Python dependencies are checked at the versions deps.dev resolves for our newest direct releases; an existing environment may hold other versions, and --installed checks only the installed versions of our direct dependencies.
  • Libraries bundled inside a vendored file (DOMPurify and KaTeX inside mermaid.min.js) are checked at the versions its receipt records; whether the bundling library reaches the affected code is not assessed.
  • Repository settings (secret scanning, Dependabot) are read only with an admin token; the weekly workflow cannot see them.
  • Offline mode checks only what the checkout shows (pins, hashes, licence files, lockfile, link schemes, install advice).

Findings

Critical (1)

Severity Subject Finding Evidence Action
critical webkit:mermaid dompurify 3.4.12, bundled inside a vendored file, has 5 known advisories GHSA-cg2g-xh64-v4q7 (critical, fixed in 3.4.17): DOMPurify SAFE_FOR_TEMPLATES bypass: split template expressions survive in attached shadow root content on DOM output modes; GHSA-mrv2-3pqr-j5jr (high, fixed in 3.4.17): DOMPurify IN_PLACE: hook that removes a parent or sibling leaves the detached sub dompurify comes inside another library's file: take the first release of that library that bundles dompurify >=3.4.17, and say in the receipt whether the affected code is reachable.

Medium (15)

15 medium: 4 repo-moved, 2 install-from-registry, 2 link-not-https, 2 repo-archived, 1 advisory, 1 install-pipe-to-shell …
Table 15 rows: Severity, Subject, Finding, Evidence, …
Severity Subject Finding Evidence Action
medium pypi:pillow our range allows pillow 10.0.0, which has 53 known advisories GHSA-332p-7hrc-92wf (critical, fixed in 13.0.0): Pillow: Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO; GHSA-3f63-hfp8-52jq (critical, fixed in 10.2.0): Arbitrary Code Execution in Pillow; GHSA-5x8w-8jj5-q52h (critical, fixed in 13.0.0): Pillow: Heap buffer overflow in FlashPix Raise the floor to >=13.0.0 in pyproject.toml.
medium doc:research/landscape.md research/landscape.md installs a plugin from a marketplace research/landscape.md:82: 'claude plugin marketplace add earthtojake/text-to-cad#latest' Standing rule: never install skills or plugins from registries. Vendor a pinned commit (tools/vendor_sync.py) or point at a reviewed release by commit, and say so.
medium doc:research/landscape.md research/landscape.md installs a plugin from a marketplace research/landscape.md:83: 'claude plugin install text-to-cad@earthtojake' Standing rule: never install skills or plugins from registries. Vendor a pinned commit (tools/vendor_sync.py) or point at a reviewed release by commit, and say so.
medium doc:research/landscape.md research/landscape.md pipes a download into a shell research/landscape.md:161: 'curl | sh' If this is advice, replace it with a pinned, checksummed download or a package manager; if it only describes how a project installs, say that it is a risk.
medium url:https://dl.openfoam.com/source/latest/openfoam-docker https://dl.openfoam.com/source/latest/openfoam-docker is gone (HTTP 404) research/simulation-tools.md:77 Replace it with a live source (or an archive.org copy, marked as such), or remove it.
medium url:http://www.dhondt.de/ www.dhondt.de is linked over plain HTTP research/fea-and-process-tools.md:24 Link the https:// address; if the site has none, say so next to the link.
medium url:http://www.dhondt.de/ccx_2.23.pdf www.dhondt.de is linked over plain HTTP research/fea-and-process-tools.md:24 Link the https:// address; if the site has none, say so next to the link.
medium url:https://dev.opencascade.org/ dev.opencascade.org now redirects to occt3d.com https://dev.opencascade.org/ -> https://occt3d.com/open-cascade-technology/index.html (README.md:183) Check the new site belongs to the same owner and is what we meant; link it directly, or drop the link.
medium npm:fsevents fsevents runs an install script (only on darwin) node_modules/fsevents 2.3.2: hasInstallScript, optional Read the script; in CI prefer npm ci --ignore-scripts where the package works without it.
medium url:https://github.com/google/feabench google/feabench is archived (read-only, no fixes) last push 2025-05-07 Show it as "unmaintained" (status or note) instead of removing it; plan a replacement if we use its code.
medium url:https://github.com/microsoft/CADFusion microsoft/CADFusion is archived (read-only, no fixes) last push 2026-07-02 Show it as "unmaintained" (status or note) instead of removing it; plan a replacement if we use its code.
medium url:https://github.com/American-Embedded/kistack American-Embedded/kistack moved to BackplaneWorks/kistack https://github.com/American-Embedded/kistack redirects to https://github.com/BackplaneWorks/kistack Update the link to the new name (the old name can be registered by someone else); check the new owner is who you expect.
medium url:https://github.com/anyoptimization/pymoo anyoptimization/pymoo moved to the-dual-space/pymoo https://github.com/anyoptimization/pymoo redirects to https://github.com/the-dual-space/pymoo Update the link to the new name (the old name can be registered by someone else); check the new owner is who you expect.
medium url:https://github.com/facebook/Ax facebook/Ax moved to meta/Ax https://github.com/facebook/Ax redirects to https://github.com/meta/Ax Update the link to the new name (the old name can be registered by someone else); check the new owner is who you expect.
medium url:https://github.com/i2cjak/Backplane i2cjak/Backplane moved to BackplaneWorks/Backplane https://github.com/i2cjak/Backplane redirects to https://github.com/BackplaneWorks/Backplane Update the link to the new name (the old name can be registered by someone else); check the new owner is who you expect.

Low (37)

37 low: 21 repo-stale, 3 advisory, 3 install-unpinned, 2 catalogue-no-licence, 2 dependabot-ecosystem, 2 py-no-floor …
Table 37 rows: Severity, Subject, Finding, Evidence, …
Severity Subject Finding Evidence Action
low pypi:markdown our range allows markdown 3.5, which has 1 known advisory GHSA-5wmx-573v-2qwq (medium, fixed in 3.8.1): Python-Markdown has an Uncaught Exception Raise the floor to >=3.8.1 in pyproject.toml.
low pypi:vtk our range allows vtk 9.2.2, which has 3 known advisories PYSEC-2025-224 (medium, fixed in 9.5.1): Kitware VTK (Visualization Toolkit) up to 9.5.0 is vulnerable to Buffer Overflow in vtkGLTFDocumentLoader. The vulnerability occurs in the BufferDataExtractionW; PYSEC-2025-225 (medium, fixed in 9.5.1): Kitware VTK (Visualization Toolkit) through 9.5.0 contai Raise the floor to >=9.5.1 in pyproject.toml.
low webkit:mermaid katex 0.16.47, bundled inside a vendored file, has 1 known advisory GHSA-238p-pmpm-9mq7 (low, fixed in 0.18.2): KaTeX: Existing prototype pollution can bypass trust restrictions katex comes inside another library's file: take the first release of that library that bundles katex >=0.18.2, and say in the receipt whether the affected code is reachable.
low url:https://cadarena.dev/ no licence recorded for CAD Arena research/landscape.json benchmarks; research/landscape.md:194 Record the licence (or "none": ideas only).
low url:https://github.com/Kamel773/CAD_Code_Generation no licence recorded for CADPrompt/CADCodeVerify research/landscape.json benchmarks Record the licence (or "none": ideas only).
low repo:dependabot-npm Dependabot does not watch npm (package.json) .github/dependabot.yml ecosystems: github-actions Add a weekly npm entry targeting dev (owner decision: it opens PRs).
low repo:dependabot-pip Dependabot does not watch pip (pyproject.toml) .github/dependabot.yml ecosystems: github-actions Add a weekly pip entry targeting dev (owner decision: it opens PRs).
low doc:docs/web-diagrams.md docs/web-diagrams.md runs playwright without a version docs/web-diagrams.md:59: 'npx playwright install chromium' Pin it (playwright==X or playwright@X), so a later release cannot change what runs.
low doc:research/landscape.md research/landscape.md runs cadgen without a version research/landscape.md:96: 'uvx cadgen telemetry off' Pin it (cadgen==X or cadgen@X), so a later release cannot change what runs.
low doc:research/landscape.md research/landscape.md runs kicad-mcp-pro without a version research/landscape.md:132: 'uvx kicad-mcp-pro' Pin it (kicad-mcp-pro==X or kicad-mcp-pro@X), so a later release cannot change what runs.
low url:https://github.com/Kamel773/CAD_Code_Generation Kamel773/CAD_Code_Generation has no licence GitHub can detect https://github.com/Kamel773/CAD_Code_Generation Without a licence it is all rights reserved: ideas only, never copied code.
low pypi:numpy numpy has no lower version bound in cad, required pyproject.toml: cad: numpy, required: numpy Set a floor at a release without known advisories (and the oldest one you are willing to support), so an install with old pins cannot pick something worse.
low pypi:pyyaml pyyaml has no lower version bound in required pyproject.toml: required: pyyaml Set a floor at a release without known advisories (and the oldest one you are willing to support), so an install with old pins cannot pick something worse.
low url:https://github.com/AutodeskAILab/JoinABLe no push to AutodeskAILab/JoinABLe for over a year last push 2022-04-22 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/ElmerCSC/elmerfem-docker no push to ElmerCSC/elmerfem-docker for over a year last push 2021-03-09 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/Gary-code/CADReview no push to Gary-code/CADReview for over a year last push 2025-08-08 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/Kamel773/CAD_Code_Generation no push to Kamel773/CAD_Code_Generation for over a year last push 2025-02-28 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/Mechanical-Python/SnapFit_Calculator no push to Mechanical-Python/SnapFit_Calculator for over a year last push 2022-03-16 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/SadilKhan/Text2CAD no push to SadilKhan/Text2CAD for over a year last push 2025-05-15 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/anniedoris/CAD-Coder no push to anniedoris/CAD-Coder for over a year last push 2025-07-17 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/artofscience/flexures no push to artofscience/flexures for over a year last push 2023-11-06 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/buxtronix/living-hinge no push to buxtronix/living-hinge for over a year last push 2024-05-31 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/calculix/beso no push to calculix/beso for over a year last push 2025-04-03 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/dimitrismallis/CAD-Assistant no push to dimitrismallis/CAD-Assistant for over a year last push 2025-10-30 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/dl4to/dl4to no push to dl4to/dl4to for over a year last push 2024-11-19 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/kovacsv/occt-import-js no push to kovacsv/occt-import-js for over a year last push 2024-12-03 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/lamaalrajih/kicad-mcp no push to lamaalrajih/kicad-mcp for over a year last push 2025-10-17 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/missionlab/fenitop no push to missionlab/fenitop for over a year last push 2024-11-01 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/nohkumado/openscad_snapfit no push to nohkumado/openscad_snapfit for over a year last push 2021-11-01 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/secnot/rectpack no push to secnot/rectpack for over a year last push 2021-11-24 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/sgsellan/swept-volumes no push to sgsellan/swept-volumes for over a year last push 2024-07-18 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/skyneticist/flexure-hinge-calculator no push to skyneticist/flexure-hinge-calculator for over a year last push 2025-06-08 Check it is still maintained; if not, show it as "unmaintained".
low url:https://github.com/tamasmeszaros/libnest2d no push to tamasmeszaros/libnest2d for over a year last push 2024-05-03 Check it is still maintained; if not, show it as "unmaintained".
low webkit:occt-import-js no push to kovacsv/occt-import-js for over a year last push 2024-12-03 Check it is still maintained; if not, show it as "unmaintained".
low vendor:kicad-mcp-pro 3 upstream files of kicad-mcp-pro are neither vendored nor excluded .mcp.json, .vscode/extensions.json, .vscode/mcp.example.json (3 of them ignored by a .gitignore, so never committed) Add them to the manifest exclude list with a reason (or commit them), so the record says what was left out.
low webkit:fonts 5 vendored files in fonts have no recorded hash fonts/OFL-Inter.txt, fonts/OFL-JetBrainsMono.txt, fonts/fonts.css, fonts/inter.woff2, fonts/jetbrains-mono.woff2 Record their SHA-256 and source (as mermaid/SOURCE.json does), so a silent change is caught.
low webkit:three 5 vendored files in three have no recorded hash three/addons/controls/OrbitControls.js, three/addons/geometries/RoundedBoxGeometry.js, three/addons/loaders/STLLoader.js, three/addons/utils/BufferGeometryUtils.js, three/three.module.min.js Record their SHA-256 and source (as mermaid/SOURCE.json does), so a silent change is caught.

Info (12)

12 info: 11 link-unverified, 1 py-no-floor
Severity Subject Finding Evidence Action
info url:https://develop.openfoam.com/Development/openfoam develop.openfoam.com did not answer The read operation timed out (upstreams/registry.yaml) Check by hand; run again later.
info url:https://help.solidworks.com/2022/English/SolidWorks/sldworks/c_K_Factor.htm help.solidworks.com answered HTTP 403 research/process-profiles.md:729 Many sites refuse scripts; check by hand.
info url:https://hull-repository.worktribe.com/output/4511720/interlayer-bonding-has-bulk-material-strength-in-extrusion-additive-manufacturing-new-understanding-of-anisotropy hull-repository.worktribe.com answered HTTP 403 research/compliant-mechanisms.md:292 Many sites refuse scripts; check by hand.
info url:https://openelab.io/products/seeed-studio-recomputer-mini-j501-heatsink openelab.io answered HTTP 429 research/simulation-tools.md:198 Many sites refuse scripts; check by hand.
info url:https://www.autodesk.com/products/fusion-360/blog/fusion-compute-mcp/ www.autodesk.com answered HTTP 403 research/agent-toolkits-2026-10.md:49 Many sites refuse scripts; check by hand.
info url:https://www.elegoo.com/blogs/3d-printer-user-guide/mastering-hollowing-and-adding-holes-in-elegoo-satellite www.elegoo.com answered HTTP 429 research/process-profiles.md:704 Many sites refuse scripts; check by hand.
info url:https://www.iso.org/standard/67289.html www.iso.org answered HTTP 403 research/process-profiles.md:733 Many sites refuse scripts; check by hand.
info url:https://www.iso.org/standard/7748.html www.iso.org answered HTTP 403 research/process-profiles.md:730 Many sites refuse scripts; check by hand.
info url:https://www.mouser.com/pdfDocs/Jetson_AGX_Orin_Series_TDG-10943-001_v11.pdf www.mouser.com did not answer The read operation timed out (research/simulation-tools.md:189) Check by hand; run again later.
info url:https://www.plasticstoday.com/plastics-processing/can-this-part-be-saved-part-3-living-hinges www.plasticstoday.com answered HTTP 403 research/compliant-mechanisms.md:335 Many sites refuse scripts; check by hand.
info url:https://xometry.pro/en/articles/fdm-design-tips/ xometry.pro answered HTTP 403 research/process-profiles.md:670 Many sites refuse scripts; check by hand.
info pypi:pytest pytest has no lower version bound in dev pyproject.toml: dev: pytest Set a floor at a release without known advisories (and the oldest one you are willing to support), so an install with old pins cannot pick something worse.

What we depend on

22 Python packages (75 more pulled in), 22 npm packages, 6 vendored projects, 6 web kit folders, 418 links, 13 skills and agents

Python dependencies

Extra Direct With transitive (deps.dev, newest releases)
required 2 2
cad 6 45
robot 1 10
sim 10 41
site 1 1
fea 5 23
explore 1 11
dev 1 5

75 transitive packages (at the versions deps.dev resolves) were also checked against OSV; findings on them name the direct dependency they come through.

Table 22 rows: Package, Extras, Range, Newest, …
Package Extras Range Newest Released Licence Lowest allowed Advisories (newest / lowest)
cadquery cad >=2.4 2.8.0 2026-06-21 Apache Public License 2.0 2.4.0 0 / 0
gmsh fea >=4.11 4.15.2 2026-03-24 GPLv2+ 4.11.0 0 / 0
imageio sim >=2.30 2.38.1 2026-10-08 BSD-2-Clause 2.30.0 0 / 0
imageio-ffmpeg sim >=0.5 0.7.0 2026-10-28 BSD-2-Clause 0.5.0 0 / 0
manifold3d sim >=2.4 3.5.4 2026-09-25 Apache Software License 2.4.5 0 / 0
markdown site >=3.5 3.11.2 2026-10-19 BSD-3-Clause 3.5 0 / 1
matplotlib cad, fea, sim >=3.7 3.11.2 2026-09-11 Python Software Foundation License 3.7.0 0 / 0
mujoco robot >=3 3.17.0 2026-10-22 Apache-2.0 3.0.0 0 / 0
numpy cad, required any 2.5.4 2026-10-10 BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0 0 / 0
optuna explore >=3.4 5.0.0 2026-09-07 MIT License 3.4.0 0 / 0
pillow cad, sim >=10.0 13.0.0 2026-10-16 MIT-CMU 10.0.0 0 / 53
pyamg fea >=5 5.4.1 2026-10-30 MIT License 5.0.0 0 / 0
pymoto sim >=2.0 2.0.1 2026-05-07 MIT 2.0.0 0 / 0
pypardiso fea >=0.4 0.4.7 2025-11-02 BSD-3-Clause 0.4.0 0 / 0
pytest dev any 9.2.0 2026-10-27 MIT 0 / 0
pyvista sim >=0.44 0.49.2 2026-10-28 MIT 0.44.0 0 / 0
pyyaml required any 6.0.3 2025-09-25 MIT 0 / 0
rtree sim >=1.0 1.4.1 2025-08-13 MIT 1.0.0 0 / 0
scikit-fem fea >=9 12.0.2 2026-06-05 BSD License 9.0.0 0 / 0
scipy sim >=1.10 1.18.1 2026-08-21 BSD License 1.10.0 0 / 0
trimesh cad, sim >=4.0 5.2.0 2026-10-24 MIT License 4.0.0 0 / 0
vtk cad >=9.2 9.7.1 2026-09-28 BSD 9.2.2 0 / 3

npm (site build and browser tests)

4 direct, 22 packages in the lockfile including transitive.

Table 22 rows: Package, Version, Direct, Dev, …
Package Version Direct Dev Licence Install script Advisories
@playwright/test 1.56.1 yes yes Apache-2.0 0
dayjs 1.11.23 yes MIT 0
dom-serializer 3.1.1 yes MIT 0
domelementtype 3.0.0 yes BSD-2-Clause 0
domhandler 6.0.1 yes BSD-2-Clause 0
domutils 4.0.2 yes BSD-2-Clause 0
entities 8.1.0 yes BSD-2-Clause 0
escape-string-regexp 4.0.0 yes MIT 0
fsevents 2.3.2 yes MIT yes 0
htmlparser2 12.0.0 yes MIT 0
is-plain-object 5.1.0 yes MIT 0
launder 1.7.2 yes MIT 0
marked 16.4.1 yes yes MIT 0
nanoid 3.3.20 yes MIT 0
parse-srcset 1.0.2 yes MIT 0
picocolors 1.1.1 yes ISC 0
playwright 1.56.1 yes Apache-2.0 0
playwright-core 1.56.1 yes Apache-2.0 0
postcss 8.5.32 yes MIT 0
sanitize-html 2.18.1 yes yes MIT 0
source-map-js 1.2.2 yes BSD-3-Clause 0
yaml 2.9.1 yes yes ISC 0

Vendored code (vendor/)

Project Pinned Imported Licence (manifest / file) Files Skills Upstream Behind Scorecard Drift
agentcad 52af472ddade 2026-10-24 Apache-2.0 / Apache-2.0 234 0 ok 15 0 changed, 0 added, 0 missing (234 compared)
bd_warehouse e6ae6e7bae74 2026-10-24 Apache-2.0 / Apache-2.0 123 0 ok 2 0 changed, 0 added, 0 missing (123 compared)
build123d-mcp 59b256121886 2026-10-24 Apache-2.0 / Apache-2.0 175 4 ok 0 0 changed, 0 added, 0 missing (175 compared)
kicad-happy 2fd9aa0fe2d6 2026-10-24 MIT / MIT 213 11 ok 0 0 changed, 0 added, 0 missing (213 compared)
kicad-mcp-pro (https://github.com/oaslananka/kicad-mcp-pro) f03b478f597d 2026-10-24 MIT / MIT 2088 30 ok 98 8.7 0 changed, 0 added, 3 missing (2088 compared)
text-to-cad 2f793659fb7b 2026-10-24 MIT / MIT 1864 13 ok 19 0 changed, 0 added, 0 missing (1864 compared)

Web kit (src/cadagent/webkit/vendor/)

Folder Packages Bundled inside Files Hashed Matches its npm package Newest Advisories
file-parsers [email protected], [email protected] 5 5 fflate: 2 of 2 fflate 0.8.3, three 0.187.0 0
fonts 5 0 0
linkedom [email protected] 2 2 linkedom 0.18.15 0
mermaid [email protected] [email protected], [email protected] 3 2 mermaid: 2 of 2 dompurify 3.4.17, katex 0.19.1, mermaid 12.2.0 6
occt-import-js [email protected] 31 31 occt-import-js 0.0.23 0
three [email protected] 5 0 three 0.187.0 0

73 catalogue links (catalog.json, upstreams/registry.yaml, research/landscape.json) and 345 more in published pages; 42 have findings above.

Skills and agents

Table 13 rows: Item, Kind, Source, Version
Item Kind Source Version
cad-pr-reviewer agent this repository 3c0a609b205b
cad-resume agent this repository 3c0a609b205b
cad-motion-validation skill this repository 3c0a609b205b
cad-pr-review skill this repository 3c0a609b205b
cad-remote-runs skill this repository 3c0a609b205b
cad-supply-chain skill this repository 3c0a609b205b
cad-work-tracking skill this repository 3c0a609b205b
design-process skill this repository 3c0a609b205b
mcmaster-parts skill this repository 3c0a609b205b
build123d-mcp 4 vendored skills https://github.com/pzfreo/build123d-mcp 59b256121886
kicad-happy 11 vendored skills https://github.com/aklofas/kicad-happy 2fd9aa0fe2d6
kicad-mcp-pro 30 vendored skills https://github.com/oaslananka/kicad-mcp-pro f03b478f597d
text-to-cad 13 vendored skills https://github.com/earthtojake/text-to-cad 2f793659fb7b

Sources

8 sources, with how each was reached
  • deps.dev: api.deps.dev v3 dependency graphs (newest releases)
  • github: GitHub REST API (gh)
  • npm-audit: npm audit --package-lock-only
  • npm-registry: registry.npmjs.org (abbreviated metadata)
  • offline: pyproject.toml, package.json, package-lock.json, vendor/manifest.json, kit hash records, THIRD_PARTY_NOTICES.md, upstreams/registry.yaml, research/landscape.json, published Markdown
  • osv: osv.dev querybatch and vulns
  • pypi: pypi.org JSON API
  • scorecard: api.securityscorecards.dev