From 3c649a8e628095fce4a1d965b3c63e7740f93b8e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 13 Aug 2026 09:14:46 +0000 Subject: [PATCH 1/2] Initial plan From d49502580b935ed643bb8217afb6134905edbe04 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 13 Aug 2026 09:15:44 +0000 Subject: [PATCH 2/2] Fix incomplete URL substring sanitization (CodeQL alert #92) Co-authored-by: ed-woodfall <22744772+ed-woodfall@users.noreply.github.com> --- cloudos_cli/interactive_session/interactive_session.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cloudos_cli/interactive_session/interactive_session.py b/cloudos_cli/interactive_session/interactive_session.py index e863e341..61b2a73f 100644 --- a/cloudos_cli/interactive_session/interactive_session.py +++ b/cloudos_cli/interactive_session/interactive_session.py @@ -6,6 +6,7 @@ import json import time from datetime import datetime, timedelta, timezone +from urllib.parse import urlparse from rich.table import Table from rich.console import Console from rich.panel import Panel @@ -804,7 +805,12 @@ def parse_link_path(link_path_str): For Lifebit Platform: {"project_name": "...", "folder_path": "..."} """ # Check for Azure blob storage paths and provide helpful error - if link_path_str.startswith('az://') or link_path_str.startswith('https://') and '.blob.core.windows.net' in link_path_str: + _parsed_url = urlparse(link_path_str) + _is_azure_https = ( + _parsed_url.scheme == 'https' + and (_parsed_url.hostname or '').endswith('.blob.core.windows.net') + ) + if link_path_str.startswith('az://') or _is_azure_https: raise ValueError( f"Azure blob storage paths are not supported for linking. " f"Folder linking is not supported on Azure execution platforms. "