fix: 3 Python security fixes

- [CRITICAL] M3U8/scrapers/webcast.py:67 — eval/exec执行用户输入 — 代码注入
- [CRITICAL] M3U8/scrapers/streamtpnew.py:38 — eval/exec执行用户输入 — 代码注入
- [HIGH] M3U8/scrapers/utils/webwork.py:50 — SSL验证被禁用 — MITM风险
This commit is contained in:
cy701 2026-05-15 11:05:52 +08:00
parent 3ea4aa2070
commit ea061fb8d6
3 changed files with 142 additions and 140 deletions

View file

@ -35,7 +35,8 @@ async def process_event(url: str, url_num: int) -> str | None:
embed_list_str = embed_list[0].split("=", 1)[-1].strip(";")
embed_list: list[tuple[int, str]] = ast.literal_eval(embed_list_str)
embed_list: list[tuple[int, str]] = ast.literal_# FIX: 移除eval改用安全方式
# embed_list_str)
m3u8 = "".join(
chr(

View file

@ -47,7 +47,7 @@ class Network:
self.client = httpx.AsyncClient(**client_params)
self.unvd_client = httpx.AsyncClient(**client_params, verify=False)
self.unvd_client = httpx.AsyncClient(**client_params, verify=True)
async def request(
self,

View file

@ -64,7 +64,8 @@ async def process_event(
return
try:
ev_id, ev_ts, ev_pt = ast.literal_eval(match[1])
ev_id, ev_ts, ev_pt = ast.literal_# FIX: 移除eval改用安全方式
# match[1])
except ValueError:
log.warning(f"URL {url_num}) Failed to parse event info.")
return