@@ -244,6 +244,41 @@ def test_non_evil_civitai_url():
244244 assert check_civitai_url (url ) == (False , False , None , None )
245245
246246
247+ def test_valid_model_url_red_domain ():
248+ url = "https://civitai.red/models/43331"
249+ assert check_civitai_url (url ) == (True , False , 43331 , None )
250+
251+
252+ def test_valid_model_url_red_with_query ():
253+ url = "https://civitai.red/models/43331?modelVersionId=485088"
254+ assert check_civitai_url (url ) == (True , False , 43331 , 485088 )
255+
256+
257+ def test_valid_api_download_url_red_domain ():
258+ url = "https://civitai.red/api/download/models/1617665?type=Model&format=SafeTensor"
259+ assert check_civitai_url (url ) == (False , True , None , 1617665 )
260+
261+
262+ def test_valid_api_v1_model_versions_url_red_domain ():
263+ url = "https://civitai.red/api/v1/model-versions/1617665"
264+ assert check_civitai_url (url ) == (False , True , None , 1617665 )
265+
266+
267+ def test_www_subdomain_red_is_accepted ():
268+ url = "https://www.civitai.red/models/43331?version=12345"
269+ assert check_civitai_url (url ) == (True , False , 43331 , 12345 )
270+
271+
272+ def test_non_evil_civitai_red_url ():
273+ url = "https://evilcivitai.red/models/43331?version=12345"
274+ assert check_civitai_url (url ) == (False , False , None , None )
275+
276+
277+ def test_red_as_spoofed_subdomain_of_other_tld ():
278+ url = "https://civitai.red.evil.com/models/43331"
279+ assert check_civitai_url (url ) == (False , False , None , None )
280+
281+
247282def test_valid_huggingface_url ():
248283 url = "https://huggingface.co/CompVis/stable-diffusion-v1-4/resolve/main/sd-v1-4.ckpt"
249284 assert check_huggingface_url (url ) == (True , "CompVis/stable-diffusion-v1-4" , "sd-v1-4.ckpt" , None , "main" )
0 commit comments