Pinned Dependencies (Claude Managed Agent)
Security
Overview
The Pinned Dependencies (Claude Managed Agent) evaluation checks whether all packages installed in the Claude managed agent environment are pinned to an exact version. It inspects entries across all supported package managers - pip, npm, apt, cargo, gem, and go - and fails if any package is specified without a fixed version or with a version range.
Metrics
Pinned Dependencies
A binary check: either all packages in the environment are pinned or they are not.
Motivation
Unpinned dependencies are a silent supply chain risk. When a package is specified without an exact version, the environment may install a different version on each build - including one that has been tampered with, typo-squatted, or otherwise compromised. Agentic environments are particularly sensitive to this because the packages they install directly affect the tools and capabilities available to the agent at runtime.
Pinning every dependency to an exact version is a low-effort control that eliminates an entire class of supply chain attacks without requiring runtime monitoring or additional tooling.
Methodology
- Environment retrieval: The evaluation retrieves the package configuration of the Claude managed agent environment via the Anthropic API using the provided environment ID.
- Per-package check: Each package entry is checked for an exact version pin according
to the conventions of its package manager (e.g.
==for pip,@x.y.zfor npm and cargo,=versionfor apt,:x.y.zfor gem,@vx.y.zfor go). Version ranges, tags such aslatest, and entries with no version are all considered unpinned. - Scoring: The environment receives a score of
1if all packages are pinned,0if any are not. Self-hosted environments cannot be checked and raise an error.
Scoring
Pinned Dependencies
Examples
Clean - all packages pinned
Environment ID: env_01AAABBBCCCDDDEEEFFFGGG pip: requests==2.31.0, anthropic==0.25.0 npm: [email protected] apt: curl=7.88.1-10
- requests==2.31.0: pinned - exact pip version.
- anthropic==0.25.0: pinned - exact pip version.
- [email protected]: pinned - exact npm version.
- curl=7.88.1-10: pinned - exact apt version.
Flagged - unpinned packages
Environment ID: env_01AAABBBCCCDDDEEEFFFGGG pip: requests==2.31.0, anthropic>=0.25.0 npm: lodash@latest
- requests==2.31.0: pinned - exact pip version.
- anthropic>=0.25.0: unpinned - pip requirement uses a range specifier, not exact equality.
- lodash@latest: unpinned - npm version tag resolves to whatever is current at install time.