Skip to content

build(deps): bump cryptography from 49.0.0 to 50.0.0 - #774

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/cryptography-50.0.0
Closed

build(deps): bump cryptography from 49.0.0 to 50.0.0#774
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/cryptography-50.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 5, 2026

Copy link
Copy Markdown
Contributor

Bumps cryptography from 49.0.0 to 50.0.0.

Changelog

Sourced from cryptography's changelog.

50.0.0 - 2026-07-31


* **SECURITY ISSUE**:
  :func:`~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_der`
  and its PEM and S/MIME variants no longer expose distinguishable errors or
  timing when unwrapping a ``RecipientInfo``'s ``encryptedKey``, which could
  act as a Bleichenbacher oracle for callers that decrypt untrusted messages.
  A random key is now substituted on failure, as described in :rfc:`3218`.
  Credit to **@X1AOxiang** for reporting the issue. **CVE-2026-69247**
* Deprecated Diffie-Hellman key exchange over finite fields (FFDH).
  Everything FFDH is deprecated, including the types in
  ``cryptography.hazmat.primitives.asymmetric.dh`` and loading FFDH keys or
  parameters with the key loading APIs. Users should migrate to a more
  modern key exchange algorithm.
* Added ``xof()`` class methods to
  :class:`~cryptography.hazmat.primitives.hashes.SHAKE128` and
  :class:`~cryptography.hazmat.primitives.hashes.SHAKE256` for constructing
  algorithm instances configured for use with
  :class:`~cryptography.hazmat.primitives.hashes.XOFHash`.
* The :mod:`X.509 verification <cryptography.x509.verification>` APIs are now
  considered stable and are subject to our API stability policy.
* Added the :doc:`/cobblestone` recipe, an implementation of the
  Cobblestone-128 and Cobblestone-256 instantiations of the `C2SP
  chunked-encryption specification
  <https://c2sp.org/chunked-encryption>`_ for streaming authenticated
  encryption of large messages.
* Parsing a Signed Certificate Timestamp list now rejects encodings that
  carry trailing bytes after the list or after an individual SCT, instead of
  silently ignoring them.
* Added support for using :class:`~cryptography.x509.Name` as a field type in
  the :doc:`/hazmat/asn1/index` module.
* Loading a public key or an EC private key now rejects DER where the
  ``subjectPublicKey`` (or EC ``publicKey``) ``BIT STRING`` declares a non-zero
  number of unused bits, instead of silently ignoring it.
* Parsing a CRL entry's ``InvalidityDate`` extension now rejects a
  ``GeneralizedTime`` that carries fractional seconds or another non-DER form,
  matching the strict encoding already required for every other X.509 time
  field.
* :func:`~cryptography.x509.ocsp.load_der_ocsp_request` and
  :func:`~cryptography.x509.ocsp.load_der_ocsp_response` now reject a request
  or response whose ``version`` field is not ``v1``, the only version defined
  by RFC 6960, matching the version validation already performed when loading
  certificates, CSRs and CRLs.
* :class:`~cryptography.hazmat.primitives.hashes.XOFHash` is now supported
  when building against AWS-LC.
* HMAC (and therefore PBKDF2-HMAC) with SHA-3 hashes is now supported when
  building against AWS-LC.
* Diffie-Hellman (:doc:`/hazmat/primitives/asymmetric/dh`) is now supported
  when building against AWS-LC.
</tr></table> 

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Summary by CodeRabbit

  • 개선 사항
    • 암호화 관련 구성 요소를 최신 버전으로 업데이트했습니다.
    • 최신 보안 환경 및 플랫폼과의 호환성이 향상되었습니다.

Bumps [cryptography](https://github.com/pyca/cryptography) from 49.0.0 to 50.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@49.0.0...50.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 50.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 5, 2026
@dependabot
dependabot Bot requested a review from seonghobae as a code owner August 5, 2026 06:35
@dependabot dependabot Bot added the python Pull requests that update python code label Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5860fe1b-b3d4-41e9-82ae-dc13ad23fdb6

📥 Commits

Reviewing files that changed from the base of the PR and between 3f65dbe and dd3415e.

📒 Files selected for processing (2)
  • requirements-strix-ci-hashes.txt
  • requirements-strix-ci.txt

📝 Walkthrough

Walkthrough

cryptography 의존성을 49.0.0에서 50.0.0으로 업데이트했습니다. 새 버전에 맞는 SHA-256 해시 목록도 적용했습니다.

Changes

cryptography 의존성 업데이트

Layer / File(s) Summary
버전 및 해시 업데이트
requirements-strix-ci.txt, requirements-strix-ci-hashes.txt
cryptography 버전을 50.0.0으로 변경했습니다. 해당 버전의 SHA-256 해시 목록으로 교체했습니다.

Estimated code review effort: 1 (매우 간단) | ~5분

Suggested reviewers: seonghobae

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 cryptography 의존성을 49.0.0에서 50.0.0으로 업데이트하는 주요 변경 사항을 정확하고 간결하게 설명합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/pip/cryptography-50.0.0

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Contributor

Closing as superseded by #743. That reviewed integration already carries cryptography==50.0.0 plus the required aiohttp==3.14.3/compatible Strix security floor and regenerated hash lock, with exact-head quality, security, supply-chain, doctoring, and branch-protection evidence. Merging this two-file Dependabot branch separately would duplicate the version bump while omitting the integrated dependency-floor context and create avoidable reconciliation churn. Reopen only if #743 drops the 50.0.0 upgrade.

@seonghobae seonghobae closed this Aug 5, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/pip/cryptography-50.0.0 branch August 5, 2026 06:48
@opencode-agent

opencode-agent Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: dd3415e36df7dbcc9604d3d667948a1827f9284a
  • Workflow run: 30981954027
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode reviewed the current-head bounded evidence and requested changes before merge.

Findings

1. P1 requirements-strix-ci.txt:4 - Strix Security Scan fails at Install Strix after the cryptography 50.0.0 bump

  • Problem: Active GitHub Check Strix Security Scan/strix failed on head dd3415e at step 17 'Install Strix' (run 30981901684, job 92227922394, annotation .github:313-313). The step ran 'python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt' (the file this PR changes) and could not validate the strix executable, printing 'Pinned Strix installation did not produce a trusted absolute executable path.', 'Refusing a Strix executable from a workspace or runner-temp path.', 'Pinned Strix installation did not produce a trusted absolute scripts root.', 'Pinned Strix executable is outside the trusted scripts root.' and exiting with code 1; the security scan therefore did not run on this head.
  • Root cause: This PR is the only head change touching the requirements consumed by the failing step: the cryptography==50.0.0 pin (line 4) and its new hash block in requirements-strix-ci-hashes.txt. A major-version bump (49 -> 50, released 2026-07-31 with a SECURITY ISSUE changelog entry) can change wheel selection or console-script installation behavior such that the pinned install does not produce a trusted strix entry point; the truncated log does not expose the pip-level message, so the exact cause must be reproduced.
  • Fix: Reproduce the failing install on head content: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt and confirm 'command -v strix' yields an absolute, non-symlink path outside $GITHUB_WORKSPACE/$RUNNER_TEMP. If the 50.0.0 hash set is incomplete for the runner platform (Python 3.13 per .github/workflows/strix.yml), regenerate requirements-strix-ci-hashes.txt with the pinned resolver so all platform wheel hashes are present; confirm strix-agent==1.0.4 and dependents (google-auth, pyjwt, pyopenssl) accept cryptography 50. Re-run the Strix Security Scan workflow on this head and require green. Interim remediation: revert the pin to cryptography==49.0.0 until the 50.0.0 install is verified.
  • Regression test: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt && test -x "$(command -v strix)" plus python3 -m pip check (mirrors the failing workflow step), then a re-run of .github/workflows/strix.yml on head dd3415e.
  • Suggested diff: posted in this finding's inline review thread.

Summary

PR #774 bumps cryptography 49.0.0 -> 50.0.0 in requirements-strix-ci.txt (line 4) and requirements-strix-ci-hashes.txt (new lines 402-462). Active failed GitHub Check Strix Security Scan/strix (run 30981901684, job 92227922394, step 17 'Install Strix', annotation .github:313-313) exited 1 after 'pip install --require-hashes -r requirements-strix-ci-hashes.txt' printed 'Pinned Strix installation did not produce a trusted absolute executable path.', 'Refusing a Strix executable from a workspace or runner-temp path.', 'Pinned Strix installation did not produce a trusted absolute scripts root.', 'Pinned Strix executable is outside the trusted scripts root.', 'Process completed with exit code 1.'; no superseding same-head success is listed, so the security scan does not run on head dd3415e and approval is blocked until the install is diagnosed and green. Approval sufficiency: insufficient, active failed check. Verification posture: failed-check log plus Focused changed hunks; reproduction required. Linter/static: no lint contract changed by requirements files. TDD/regression: no tests changed; regression direction is the failing workflow step (pip install --require-hashes + command -v strix) and a re-run of .github/workflows/strix.yml. Coverage: PASS, not applicable (no supported changed source files or package manifests), per Coverage execution evidence. Docstring coverage: not applicable, same evidence. DAG: Mermaid flowchart of head flow requirements-strix-ci.txt -> requirements-strix-ci-hashes.txt -> Install Strix step -> trusted-path guard -> check FAILURE; reflects head flow. PoC/execution: none beyond the trusted failed-check log; no execution receipts supplied. DDD/domain: not applicable, requirements-only change. CDD/context: not applicable. Similar issues: none evidenced. Claim/concept check: PR claims only a dependency bump; the major-version (49->50, 2026-07-31, SECURITY ISSUE changelog) install behavior is unverified on head. Standards search: hash set must match the official cryptography 50.0.0 distribution; regenerate with the pinned resolver. Compatibility/convention: naming n/a (no new identifiers); pin+hash-file convention preserved. Breaking-change/backcompat: major bump must be validated against strix-agent==1.0.4 and dependents google-auth/pyjwt/pyopenssl; check failure blocks. Implementation completeness: n/a. Performance: n/a. Developer experience: CI surface is the Install Strix trusted-path guard failing. User experience: n/a non-web; CI workflow/log surface. Visual/DOM: non-web interaction surface = workflow logs and check annotations reviewed. Accessibility/i18n: n/a non-web. Supply-chain/license: cryptography 50.0.0 new major with security fix; hash-set completeness must be verified. Packaging: requirements pin/hash install fails on head. Security/privacy: the failing install guard means the Strix security scan did not run on this head. Changed files inspected as evidence: requirements-strix-ci.txt and requirements-strix-ci-hashes.txt (Focused changed hunks and failed-check log).

Adversarial validation

{"status":"failed","probes":[{"path":"requirements-strix-ci.txt","line":4,"hypothesis":"Bumping cryptography to 50.0.0 breaks the pinned Strix CI install on the current head.","attack_or_counterexample":"Re-running the failing workflow step's own sequence on head dd3415e36df7dbcc9604d3d667948a1827f9284a: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt followed by the trusted-executable-path checks (command -v strix, absolute, non-symlink, outside $GITHUB_WORKSPACE/$RUNNER_TEMP).","evidence":"Failed GitHub Check evidence (run 30981901684, job 92227922394, step 17 'Install Strix', annotation .github:313-313): step exited 1 after installing the changed requirements and printed '::error::Pinned Strix installation did not produce a trusted absolute executable path.', '::error::Refusing a Strix executable from a workspace or runner-temp path.', '::error::Pinned Strix installation did not produce a trusted absolute scripts root.', '::error::Pinned Strix executable is outside the trusted scripts root.', '##[error]Process completed with exit code 1.'; source-line-sha256=cf042e5bbae9cdc8854c27a0cf2f22a0020c2b2f338be6a1ccd1800f1ade4193 at requirements-strix-ci.txt:4","outcome":"confirmed"},{"path":"requirements-strix-ci-hashes.txt","line":404,"hypothesis":"The new cryptography==50.0.0 hash block does not yield a working pinned strix install on the CI runner.","attack_or_counterexample":"The failing step installs exactly the changed file: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt (cryptography==50.0.0 block at lines 402-462), then the trusted-path guard rejects the result.","evidence":"Failed GitHub Check evidence: the same Install Strix step consumed the changed hashes file and exited 1 with all four trusted-path guard errors printed, so the pinned install did not produce the expected strix console script at a trusted absolute path on head dd3415e36df7dbcc9604d3d667948a1827f9284a; source-line-sha256=8a6c384c2c7b84cdd563bbdee7129a2d2c70b09e4f82d20cbcd9f8a15df87f95 at requirements-strix-ci-hashes.txt:404","outcome":"confirmed"}],"residual_risk":"The exact pip-level cause (missing platform wheel hash vs. cryptography 50.0.0 console-script/install regression) is not visible in the truncated log and must be reproduced; until the Install Strix step is green, the Strix security scan does not run on this head, and strix-agent==1.0.4 runtime compatibility with cryptography 50.0.0 remains unverified."}
  • Result: REQUEST_CHANGES

  • Reason: Active Strix Security Scan check fails at Install Strix on this head after the cryptography 50.0.0 bump; the pinned install of the changed requirements does not produce the trusted strix executable.

  • Head SHA: dd3415e36df7dbcc9604d3d667948a1827f9284a

  • Workflow run: 30981954027

  • Workflow attempt: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (2 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (2 files)"]
  R1 --> V1["required checks"]
Loading

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

OpenCode reviewed the current-head bounded evidence and requested changes before merge.

Findings

1. P1 requirements-strix-ci.txt:4 - Strix Security Scan fails at Install Strix after the cryptography 50.0.0 bump

  • Problem: Active GitHub Check Strix Security Scan/strix failed on head dd3415e at step 17 'Install Strix' (run 30981901684, job 92227922394, annotation .github:313-313). The step ran 'python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt' (the file this PR changes) and could not validate the strix executable, printing 'Pinned Strix installation did not produce a trusted absolute executable path.', 'Refusing a Strix executable from a workspace or runner-temp path.', 'Pinned Strix installation did not produce a trusted absolute scripts root.', 'Pinned Strix executable is outside the trusted scripts root.' and exiting with code 1; the security scan therefore did not run on this head.
  • Root cause: This PR is the only head change touching the requirements consumed by the failing step: the cryptography==50.0.0 pin (line 4) and its new hash block in requirements-strix-ci-hashes.txt. A major-version bump (49 -> 50, released 2026-07-31 with a SECURITY ISSUE changelog entry) can change wheel selection or console-script installation behavior such that the pinned install does not produce a trusted strix entry point; the truncated log does not expose the pip-level message, so the exact cause must be reproduced.
  • Fix: Reproduce the failing install on head content: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt and confirm 'command -v strix' yields an absolute, non-symlink path outside $GITHUB_WORKSPACE/$RUNNER_TEMP. If the 50.0.0 hash set is incomplete for the runner platform (Python 3.13 per .github/workflows/strix.yml), regenerate requirements-strix-ci-hashes.txt with the pinned resolver so all platform wheel hashes are present; confirm strix-agent==1.0.4 and dependents (google-auth, pyjwt, pyopenssl) accept cryptography 50. Re-run the Strix Security Scan workflow on this head and require green. Interim remediation: revert the pin to cryptography==49.0.0 until the 50.0.0 install is verified.
  • Regression test: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt && test -x "$(command -v strix)" plus python3 -m pip check (mirrors the failing workflow step), then a re-run of .github/workflows/strix.yml on head dd3415e.
  • Suggested diff: posted in this finding's inline review thread.

Summary

PR #774 bumps cryptography 49.0.0 -> 50.0.0 in requirements-strix-ci.txt (line 4) and requirements-strix-ci-hashes.txt (new lines 402-462). Active failed GitHub Check Strix Security Scan/strix (run 30981901684, job 92227922394, step 17 'Install Strix', annotation .github:313-313) exited 1 after 'pip install --require-hashes -r requirements-strix-ci-hashes.txt' printed 'Pinned Strix installation did not produce a trusted absolute executable path.', 'Refusing a Strix executable from a workspace or runner-temp path.', 'Pinned Strix installation did not produce a trusted absolute scripts root.', 'Pinned Strix executable is outside the trusted scripts root.', 'Process completed with exit code 1.'; no superseding same-head success is listed, so the security scan does not run on head dd3415e and approval is blocked until the install is diagnosed and green. Approval sufficiency: insufficient, active failed check. Verification posture: failed-check log plus Focused changed hunks; reproduction required. Linter/static: no lint contract changed by requirements files. TDD/regression: no tests changed; regression direction is the failing workflow step (pip install --require-hashes + command -v strix) and a re-run of .github/workflows/strix.yml. Coverage: PASS, not applicable (no supported changed source files or package manifests), per Coverage execution evidence. Docstring coverage: not applicable, same evidence. DAG: Mermaid flowchart of head flow requirements-strix-ci.txt -> requirements-strix-ci-hashes.txt -> Install Strix step -> trusted-path guard -> check FAILURE; reflects head flow. PoC/execution: none beyond the trusted failed-check log; no execution receipts supplied. DDD/domain: not applicable, requirements-only change. CDD/context: not applicable. Similar issues: none evidenced. Claim/concept check: PR claims only a dependency bump; the major-version (49->50, 2026-07-31, SECURITY ISSUE changelog) install behavior is unverified on head. Standards search: hash set must match the official cryptography 50.0.0 distribution; regenerate with the pinned resolver. Compatibility/convention: naming n/a (no new identifiers); pin+hash-file convention preserved. Breaking-change/backcompat: major bump must be validated against strix-agent==1.0.4 and dependents google-auth/pyjwt/pyopenssl; check failure blocks. Implementation completeness: n/a. Performance: n/a. Developer experience: CI surface is the Install Strix trusted-path guard failing. User experience: n/a non-web; CI workflow/log surface. Visual/DOM: non-web interaction surface = workflow logs and check annotations reviewed. Accessibility/i18n: n/a non-web. Supply-chain/license: cryptography 50.0.0 new major with security fix; hash-set completeness must be verified. Packaging: requirements pin/hash install fails on head. Security/privacy: the failing install guard means the Strix security scan did not run on this head. Changed files inspected as evidence: requirements-strix-ci.txt and requirements-strix-ci-hashes.txt (Focused changed hunks and failed-check log).

Adversarial validation

{"status":"failed","probes":[{"path":"requirements-strix-ci.txt","line":4,"hypothesis":"Bumping cryptography to 50.0.0 breaks the pinned Strix CI install on the current head.","attack_or_counterexample":"Re-running the failing workflow step's own sequence on head dd3415e36df7dbcc9604d3d667948a1827f9284a: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt followed by the trusted-executable-path checks (command -v strix, absolute, non-symlink, outside $GITHUB_WORKSPACE/$RUNNER_TEMP).","evidence":"Failed GitHub Check evidence (run 30981901684, job 92227922394, step 17 'Install Strix', annotation .github:313-313): step exited 1 after installing the changed requirements and printed '::error::Pinned Strix installation did not produce a trusted absolute executable path.', '::error::Refusing a Strix executable from a workspace or runner-temp path.', '::error::Pinned Strix installation did not produce a trusted absolute scripts root.', '::error::Pinned Strix executable is outside the trusted scripts root.', '##[error]Process completed with exit code 1.'; source-line-sha256=cf042e5bbae9cdc8854c27a0cf2f22a0020c2b2f338be6a1ccd1800f1ade4193 at requirements-strix-ci.txt:4","outcome":"confirmed"},{"path":"requirements-strix-ci-hashes.txt","line":404,"hypothesis":"The new cryptography==50.0.0 hash block does not yield a working pinned strix install on the CI runner.","attack_or_counterexample":"The failing step installs exactly the changed file: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt (cryptography==50.0.0 block at lines 402-462), then the trusted-path guard rejects the result.","evidence":"Failed GitHub Check evidence: the same Install Strix step consumed the changed hashes file and exited 1 with all four trusted-path guard errors printed, so the pinned install did not produce the expected strix console script at a trusted absolute path on head dd3415e36df7dbcc9604d3d667948a1827f9284a; source-line-sha256=8a6c384c2c7b84cdd563bbdee7129a2d2c70b09e4f82d20cbcd9f8a15df87f95 at requirements-strix-ci-hashes.txt:404","outcome":"confirmed"}],"residual_risk":"The exact pip-level cause (missing platform wheel hash vs. cryptography 50.0.0 console-script/install regression) is not visible in the truncated log and must be reproduced; until the Install Strix step is green, the Strix security scan does not run on this head, and strix-agent==1.0.4 runtime compatibility with cryptography 50.0.0 remains unverified."}
  • Result: REQUEST_CHANGES

  • Reason: Active Strix Security Scan check fails at Install Strix on this head after the cryptography 50.0.0 bump; the pinned install of the changed requirements does not produce the trusted strix executable.

  • Head SHA: dd3415e36df7dbcc9604d3d667948a1827f9284a

  • Workflow run: 30981954027

  • Workflow attempt: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (2 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (2 files)"]
  R1 --> V1["required checks"]
Loading

Comment thread requirements-strix-ci.txt
google-cloud-aiplatform==1.133.0
protobuf<7.0.0
cryptography==49.0.0
cryptography==50.0.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Strix Security Scan fails at Install Strix after the cryptography 50.0.0 bump

  • Location: requirements-strix-ci.txt:4
  • Problem: Active GitHub Check Strix Security Scan/strix failed on head dd3415e at step 17 'Install Strix' (run 30981901684, job 92227922394, annotation .github:313-313). The step ran 'python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt' (the file this PR changes) and could not validate the strix executable, printing 'Pinned Strix installation did not produce a trusted absolute executable path.', 'Refusing a Strix executable from a workspace or runner-temp path.', 'Pinned Strix installation did not produce a trusted absolute scripts root.', 'Pinned Strix executable is outside the trusted scripts root.' and exiting with code 1; the security scan therefore did not run on this head.
  • Root cause: This PR is the only head change touching the requirements consumed by the failing step: the cryptography==50.0.0 pin (line 4) and its new hash block in requirements-strix-ci-hashes.txt. A major-version bump (49 -> 50, released 2026-07-31 with a SECURITY ISSUE changelog entry) can change wheel selection or console-script installation behavior such that the pinned install does not produce a trusted strix entry point; the truncated log does not expose the pip-level message, so the exact cause must be reproduced.
  • Fix: Reproduce the failing install on head content: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt and confirm 'command -v strix' yields an absolute, non-symlink path outside $GITHUB_WORKSPACE/$RUNNER_TEMP. If the 50.0.0 hash set is incomplete for the runner platform (Python 3.13 per .github/workflows/strix.yml), regenerate requirements-strix-ci-hashes.txt with the pinned resolver so all platform wheel hashes are present; confirm strix-agent==1.0.4 and dependents (google-auth, pyjwt, pyopenssl) accept cryptography 50. Re-run the Strix Security Scan workflow on this head and require green. Interim remediation: revert the pin to cryptography==49.0.0 until the 50.0.0 install is verified.
  • Regression test: python3 -m pip install --disable-pip-version-check --no-cache-dir --require-hashes -r requirements-strix-ci-hashes.txt && test -x "$(command -v strix)" plus python3 -m pip check (mirrors the failing workflow step), then a re-run of .github/workflows/strix.yml on head dd3415e.

Suggested diff

-cryptography==50.0.0
+cryptography==49.0.0

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

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant