T09 · Insecure Skill Coding Practices
- Location
scrapers/aibase.py:54- Finding
Unrestricted Article URL Fetching Enables Server-Side Request Forgery
- Content
View full analysis
Optional[str]: """Fetch page content""" timeout = timeout or config.REQUEST_TIMEOUT try: resp = self.session.get(url, timeout=timeout) resp.raise_for_status() resp.encoding = resp.apparent_encoding return resp.text except Exception as e: print(f"[{self.site_id}] Failed to fetch page: {url}, error: {e}") return None ``` ### Technical Analysis The list parser accepts absolute URLs beginning with `http` without validating their scheme, normalized hostname, port, res ...[truncated 2761 chars]- Remediation
View remediation
