Repository navigation
Update vulnerable dependencies using workspace security constraints - #105
Merged
Merged
Conversation
Signed-off-by: Nabin Mulepati <nmulepati@nvidia.com>
nabinchha
requested review from
a team,
kipraveen,
mvansegbroeck,
oliverholworthy and
shan-nvidia
as code owners
October 26, 2026 15:08
Signed-off-by: Nabin Mulepati <nmulepati@nvidia.com>
Signed-off-by: Nabin Mulepati <nmulepati@nvidia.com>
Signed-off-by: Nabin Mulepati <nmulepati@nvidia.com>
andreatnvidia
approved these changes
Oct 27, 2026
andreatnvidia
left a comment
Contributor
There was a problem hiding this comment.
As a non-blocking follow-up, let's raise the Python minimum to 3.11 and require Pillow >=13.0.0 unconditionally, matching DataDesigner's new baseline. Python 3.10 still uses Pillow 12.3.0 and retains all 38 reported Pillow findings.
Contributor
Author
|
We'll create a follow-up PR to raise the Python minimum to 3.11 and require Pillow >=13.0.0 unconditionally once DataDesigner ships its next version with the new baseline. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Update the workspace lockfile and root security constraints for the supplied October 25 report (44 findings across seven dependencies), following DataDesigner's transitive dependency guidance.
Remove transitive-only security floors from published plugin requirements. Retain updated filelock, NLTK, and Pillow requirements in retrieval-sdg because that plugin directly imports them. All plugins now require DataDesigner 0.9.7+, which supplies the exceptional CA trust remediation through data-designer-config.
Why
Transitive security floors belong in application lockfiles, with workspace constraints where needed to preserve them during resolution. Publishing these dependencies in every plugin unnecessarily expands package requirements and duplicates upstream policy.
The following recommendations serve as the dependency security release notes for downstream applications:
>=1.30.0,<2>=3.10.4,<3.11>=2026.6.0>=2026.10.19>=4.2.1,<5>=3.20,<3.20.4>=13.0.0Unresolved findings:
>=1.43,<1.44, conflicting with patched API>=1.45.1. API 1.43.0 remains locked pending an upstream compatibility update.Pillow advisory check (October 27): #1093 describes CVE-2026-114501 as unresolved on 13.0.0, but the current Pillow advisory and both GitHub advisory APIs list affected versions
>=11.2.1,<13.0.0and patched version13.0.0. This PR follows that current published range; the upstream PR note needs reconciliation.This PR does not claim a clean vulnerability scan. Related upstream work: DataDesigner #1093 adds generated optional pip/uv constraints and recurring dependency audits. It is currently open; its constraints should be reviewed for compatibility with this repository's Python 3.10 baseline before adoption (notably its unconditional filelock 4.x floor).
Usage
Run
make syncto install the updated workspace lockfile. Downstream applications should upgrade their own lockfiles:uv lock --upgrade-package certifi --upgrade-package filelock --upgrade-package fsspec \ --upgrade-package mcp --upgrade-package nltk --upgrade-package pillowIf a floor does not survive re-resolution, add it to the application's root
[tool.uv].constraint-dependencies. Preserve this PR's Python markers for filelock and Pillow when supporting Python 3.10. Root constraints are not published in plugin metadata.Re-run the vulnerability scanner against the installed environment. Scans that ignore Python markers may also report the retained Python 3.10 Pillow entry in the universal lockfile.
How
uv.lockand durable root constraints.<4cap with interpreter-specific requirements and use matching markers for Pillow.Validation
make syncandmake all— passed after the metadata changes. Includes Ruff, 156 devtools tests, isolated plugin tests, plugin validation, metadata/license checks, strict documentation build, and package index build. Retrieval-sdg: 541 passed, 2 skipped.make codeownersandmake check-license-headers— passed.uv lock --checkandgit diff --check— passed.Independent
uv pip compile <plugin>/pyproject.toml --python-version 3.10 --no-header --no-annotate— passed for all five plugins.Verified published requirements contain no transitive-only security floors and installed Python 3.11 packages satisfy the six compatible patched-version floors.
The originating vulnerability scanner was not rerun; coverage follows the report's affected ranges and resolved package versions.
Scaffold follow-up:
make sync,make lint test-devtools validate check,uv lock --check, andgit diff --checkpassed; 159 devtools tests passed. The new scaffold regression failed for all three plugin types before the default was fixed.