diff --git a/scripts/browse.py b/scripts/browse.py index c15214e7..09f376a7 100644 --- a/scripts/browse.py +++ b/scripts/browse.py @@ -5,12 +5,21 @@ from llm_utils import create_chat_completion cfg = Config() +# Define and check for local file address prefixes +def check_local_file_access(url): + local_prefixes = ['file:///', 'file://localhost', 'http://localhost', 'https://localhost'] + return any(url.startswith(prefix) for prefix in local_prefixes) + def scrape_text(url): """Scrape text from a webpage""" # Most basic check if the URL is valid: if not url.startswith('http'): return "Error: Invalid URL" + # Restrict access to local files + if check_local_file_access(url): + return "Error: Access to local files is restricted" + try: response = requests.get(url, headers=cfg.user_agent_header) except requests.exceptions.RequestException as e: @@ -126,4 +135,4 @@ def summarize_text(text, question): max_tokens=300, ) - return final_summary \ No newline at end of file + return final_summary