Skip to content

Pin exact dependency versions in package.json #1410

@aivong-openhands

Description

@aivong-openhands

Problem

The package.json uses caret (^) version ranges for direct dependencies (e.g., "react": "^18.3.1"), which allows automatic minor/patch upgrades without explicit review. This introduces supply chain risk — unvetted updates could introduce regressions or security vulnerabilities.

Recommendation

For an application like agent-canvas (not a library), use exact pinned versions (no ^, ~, or >= prefixes) to ensure only explicitly reviewed versions are installed. This aligns with the LiteLLM security incident lesson: wait ~7 days after a CVE before upgrading, and only upgrade intentionally.

Example change

- "react": "^18.3.1",
+ "react": "18.3.1",

References

HUMAN:

Metadata

Metadata

Assignees

No one assigned

    Labels

    app-teamOpenHands team planning to work on this

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions