This is an automated email from the ASF dual-hosted git repository. sbp pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git
commit 85bc17791b1fa2aee6092e866f53c540c7126d2a Author: Sean B. Palmer <[email protected]> AuthorDate: Fri Jan 16 17:31:16 2026 +0000 Remove the dependency on PyNaCl due to CVE-2025-69277 --- atr/log.py | 40 ++++++++++++++++++++-------------------- pyproject.toml | 2 +- uv.lock | 29 +---------------------------- 3 files changed, 22 insertions(+), 49 deletions(-) diff --git a/atr/log.py b/atr/log.py index e121c20..8dca4ac 100644 --- a/atr/log.py +++ b/atr/log.py @@ -133,26 +133,26 @@ def python_repr(object_name: str) -> str: return f"<{object_name}>" -def secret(msg: str, data: bytes) -> None: - import base64 - - import nacl.encoding as encoding - import nacl.public as public - - import atr.config as config - - conf = config.get() - public_key_b64 = conf.LOG_PUBLIC_KEY - if public_key_b64 is None: - raise ValueError("LOG_PUBLIC_KEY is not set") - - recipient_pk = public.PublicKey( - public_key_b64.encode("ascii"), - encoder=encoding.Base64Encoder, - ) - ciphertext = public.SealedBox(recipient_pk).encrypt(data) - encoded_ciphertext = base64.b64encode(ciphertext).decode("ascii") - _event(logging.INFO, f"{msg} {encoded_ciphertext}") +# def secret(msg: str, data: bytes) -> None: +# import base64 + +# import nacl.encoding as encoding +# import nacl.public as public + +# import atr.config as config + +# conf = config.get() +# public_key_b64 = conf.LOG_PUBLIC_KEY +# if public_key_b64 is None: +# raise ValueError("LOG_PUBLIC_KEY is not set") + +# recipient_pk = public.PublicKey( +# public_key_b64.encode("ascii"), +# encoder=encoding.Base64Encoder, +# ) +# ciphertext = public.SealedBox(recipient_pk).encrypt(data) +# encoded_ciphertext = base64.b64encode(ciphertext).decode("ascii") +# _event(logging.INFO, f"{msg} {encoded_ciphertext}") def warning(msg: str) -> None: diff --git a/pyproject.toml b/pyproject.toml index e7efc51..7d42d65 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ dependencies = [ "puremagic>=1.30", "pydantic-xml (>=2.17.2,<3.0.0)", "pyjwt (>=2.10.1,<3.0.0)", - "pynacl>=1.5.0", + # "pynacl>=1.5.0", "python-decouple~=3.8", "python-gnupg~=0.5", "quart-schema[pydantic]~=0.21", diff --git a/uv.lock b/uv.lock index 6359ff9..e95a51b 100644 --- a/uv.lock +++ b/uv.lock @@ -3,7 +3,7 @@ revision = 3 requires-python = "==3.13.*" [options] -exclude-newer = "2026-01-16T14:26:33Z" +exclude-newer = "2026-01-16T17:38:55Z" [[package]] name = "aiofiles" @@ -1351,31 +1351,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997, upload-time = "2024-11-28T03:43:27.893Z" }, ] -[[package]] -name = "pynacl" -version = "1.6.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/06/c6/a3124dee667a423f2c637cfd262a54d67d8ccf3e160f3c50f622a85b7723/pynacl-1.6.0.tar.gz", hash = "sha256:cb36deafe6e2bce3b286e5d1f3e1c246e0ccdb8808ddb4550bb2792f2df298f2", size = 3505641, upload-time = "2025-09-10T23:39:22.308Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/63/37/87c72df19857c5b3b47ace6f211a26eb862ada495cc96daa372d96048fca/pynacl-1.6.0-cp38-abi3-macosx_10_10_universal2.whl", hash = "sha256:f4b3824920e206b4f52abd7de621ea7a44fd3cb5c8daceb7c3612345dfc54f2e", size = 382610, upload-time = "2025-09-10T23:38:49.459Z" }, - { url = "https://files.pythonhosted.org/packages/0c/64/3ce958a5817fd3cc6df4ec14441c43fd9854405668d73babccf77f9597a3/pynacl-1.6.0-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:16dd347cdc8ae0b0f6187a2608c0af1c8b7ecbbe6b4a06bff8253c192f696990", size = 798744, upload-time = "2025-09-10T23:38:58.531Z" }, - { url = "https://files.pythonhosted.org/packages/e4/8a/3f0dd297a0a33fa3739c255feebd0206bb1df0b44c52fbe2caf8e8bc4425/pynacl-1.6.0-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:16c60daceee88d04f8d41d0a4004a7ed8d9a5126b997efd2933e08e93a3bd850", size = 1397879, upload-time = "2025-09-10T23:39:00.44Z" }, - { url = "https://files.pythonhosted.org/packages/41/94/028ff0434a69448f61348d50d2c147dda51aabdd4fbc93ec61343332174d/pynacl-1.6.0-cp38-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:25720bad35dfac34a2bcdd61d9e08d6bfc6041bebc7751d9c9f2446cf1e77d64", size = 833907, upload-time = "2025-09-10T23:38:50.936Z" }, - { url = "https://files.pythonhosted.org/packages/52/bc/a5cff7f8c30d5f4c26a07dfb0bcda1176ab8b2de86dda3106c00a02ad787/pynacl-1.6.0-cp38-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8bfaa0a28a1ab718bad6239979a5a57a8d1506d0caf2fba17e524dbb409441cf", size = 1436649, upload-time = "2025-09-10T23:38:52.783Z" }, - { url = "https://files.pythonhosted.org/packages/7a/20/c397be374fd5d84295046e398de4ba5f0722dc14450f65db76a43c121471/pynacl-1.6.0-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:ef214b90556bb46a485b7da8258e59204c244b1b5b576fb71848819b468c44a7", size = 817142, upload-time = "2025-09-10T23:38:54.4Z" }, - { url = "https://files.pythonhosted.org/packages/12/30/5efcef3406940cda75296c6d884090b8a9aad2dcc0c304daebb5ae99fb4a/pynacl-1.6.0-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:49c336dd80ea54780bcff6a03ee1a476be1612423010472e60af83452aa0f442", size = 1401794, upload-time = "2025-09-10T23:38:56.614Z" }, - { url = "https://files.pythonhosted.org/packages/be/e1/a8fe1248cc17ccb03b676d80fa90763760a6d1247da434844ea388d0816c/pynacl-1.6.0-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:f3482abf0f9815e7246d461fab597aa179b7524628a4bc36f86a7dc418d2608d", size = 772161, upload-time = "2025-09-10T23:39:01.93Z" }, - { url = "https://files.pythonhosted.org/packages/a3/76/8a62702fb657d6d9104ce13449db221a345665d05e6a3fdefb5a7cafd2ad/pynacl-1.6.0-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:140373378e34a1f6977e573033d1dd1de88d2a5d90ec6958c9485b2fd9f3eb90", size = 1370720, upload-time = "2025-09-10T23:39:03.531Z" }, - { url = "https://files.pythonhosted.org/packages/6d/38/9e9e9b777a1c4c8204053733e1a0269672c0bd40852908c9ad6b6eaba82c/pynacl-1.6.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6b393bc5e5a0eb86bb85b533deb2d2c815666665f840a09e0aa3362bb6088736", size = 791252, upload-time = "2025-09-10T23:39:05.058Z" }, - { url = "https://files.pythonhosted.org/packages/63/ef/d972ce3d92ae05c9091363cf185e8646933f91c376e97b8be79ea6e96c22/pynacl-1.6.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4a25cfede801f01e54179b8ff9514bd7b5944da560b7040939732d1804d25419", size = 1362910, upload-time = "2025-09-10T23:39:06.924Z" }, - { url = "https://files.pythonhosted.org/packages/35/2c/ee0b373a1861f66a7ca8bdb999331525615061320dd628527a50ba8e8a60/pynacl-1.6.0-cp38-abi3-win32.whl", hash = "sha256:dcdeb41c22ff3c66eef5e63049abf7639e0db4edee57ba70531fc1b6b133185d", size = 226461, upload-time = "2025-09-10T23:39:11.894Z" }, - { url = "https://files.pythonhosted.org/packages/75/f7/41b6c0b9dd9970173b6acc026bab7b4c187e4e5beef2756d419ad65482da/pynacl-1.6.0-cp38-abi3-win_amd64.whl", hash = "sha256:cf831615cc16ba324240de79d925eacae8265b7691412ac6b24221db157f6bd1", size = 238802, upload-time = "2025-09-10T23:39:08.966Z" }, - { url = "https://files.pythonhosted.org/packages/8e/0f/462326910c6172fa2c6ed07922b22ffc8e77432b3affffd9e18f444dbfbb/pynacl-1.6.0-cp38-abi3-win_arm64.whl", hash = "sha256:84709cea8f888e618c21ed9a0efdb1a59cc63141c403db8bf56c469b71ad56f2", size = 183846, upload-time = "2025-09-10T23:39:10.552Z" }, -] - [[package]] name = "pyright" version = "1.1.408" @@ -1861,7 +1836,6 @@ dependencies = [ { name = "puremagic" }, { name = "pydantic-xml" }, { name = "pyjwt" }, - { name = "pynacl" }, { name = "python-decouple" }, { name = "python-gnupg" }, { name = "quart-schema", extra = ["pydantic"] }, @@ -1921,7 +1895,6 @@ requires-dist = [ { name = "puremagic", specifier = ">=1.30" }, { name = "pydantic-xml", specifier = ">=2.17.2,<3.0.0" }, { name = "pyjwt", specifier = ">=2.10.1,<3.0.0" }, - { name = "pynacl", specifier = ">=1.5.0" }, { name = "python-decouple", specifier = "~=3.8" }, { name = "python-gnupg", specifier = "~=0.5" }, { name = "quart-schema", extras = ["pydantic"], specifier = "~=0.21" }, --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
