Skip to content

fix: resolve litellm CVEs, deduplicate jwt expiry check, fix GH Actions shell injection#1494

Open
aashishkumar-tech wants to merge 3 commits into
guardrails-ai:mainfrom
aashishkumar-tech:fix/litellm-jwt-actions-security
Open

fix: resolve litellm CVEs, deduplicate jwt expiry check, fix GH Actions shell injection#1494
aashishkumar-tech wants to merge 3 commits into
guardrails-ai:mainfrom
aashishkumar-tech:fix/litellm-jwt-actions-security

Conversation

@aashishkumar-tech

Copy link
Copy Markdown

Closes #1485

Changes

Fix 1 — litellm upper bound (pyproject.toml)

Fix 2 — Deduplicate jwt expiry check

  • Created shared utility guardrails/hub_token/utils.py with client_check_token_expiry()
  • Uses manual base64 decode of exp claim instead of jwt.decode(verify_signature=False)
  • Removes the unverified-signature pattern from both hub_client.py and token.py
  • Added 4 unit tests in tests/unit_tests/hub/test_jwt_expiry.py

Fix 3 — GitHub Actions shell injection

  • Moved all 4 ${{ inputs.* }} interpolations in validator_pypi_publish/action.yml to env: blocks
  • Shell references them as environment variables instead of inline interpolation
  • Prevents potential secret masking bypass via transformations

@vercel

vercel Bot commented Jun 4, 2026

Copy link
Copy Markdown

@aashishkumar-tech is attempting to deploy a commit to the Guardrails AI Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Best-practice: litellm pin excludes patched CVE versions, unverified-jwt-decode duplication, workflow inputs interpolation

1 participant