From d4f75faee214d15480573545e811512b6b9da0fd Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Tue, 3 Nov 2026 00:04:59 +0000 Subject: [PATCH] fix(artifactbundle): reject non-string debug ids --- src/sentry/models/artifactbundle.py | 6 +++--- tests/sentry/debug_files/test_artifact_bundles.py | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/sentry/models/artifactbundle.py b/src/sentry/models/artifactbundle.py index 1138fd1c2464..141ccd491183 100644 --- a/src/sentry/models/artifactbundle.py +++ b/src/sentry/models/artifactbundle.py @@ -4,7 +4,7 @@ from collections.abc import Callable, Iterable, Mapping from enum import Enum from types import TracebackType -from typing import IO, Any, Self, cast +from typing import IO, Any, Self from django.db import models from django.db.models.signals import post_delete @@ -261,11 +261,11 @@ def normalize_headers(headers: dict[str, object]) -> dict[str, object]: @staticmethod def normalize_debug_id(debug_id: object) -> str | None: - if debug_id is None: + if not isinstance(debug_id, str): return None try: - return normalize_debug_id(cast(str, debug_id)) + return normalize_debug_id(debug_id) except SymbolicError: return None diff --git a/tests/sentry/debug_files/test_artifact_bundles.py b/tests/sentry/debug_files/test_artifact_bundles.py index ae3e5c84ff46..ed4c5a43c576 100644 --- a/tests/sentry/debug_files/test_artifact_bundles.py +++ b/tests/sentry/debug_files/test_artifact_bundles.py @@ -119,6 +119,15 @@ def get_indexed_files( return list(query) +def test_normalize_debug_id_rejects_non_strings() -> None: + assert ArtifactBundleArchive.normalize_debug_id(None) is None + assert ArtifactBundleArchive.normalize_debug_id(123) is None + assert ( + ArtifactBundleArchive.normalize_debug_id("aaaaaaaa-0000-0000-0000-000000000000") + == "aaaaaaaa-0000-0000-0000-000000000000" + ) + + class ArtifactLookupTest(TestCase): def clear_cache(self) -> None: redis_client = get_redis_cluster_for_artifact_bundles()