T09 · Insecure Skill Coding Practices
- Location
scripts/eqxiu_aigc/client.py:34- Finding
Authentication Token Can Be Forwarded to Arbitrary Configurable Endpoints
- Content
View full analysis
None: self.base_url = base_url.rstrip("/") self.timeout = timeout self._session = requests.Session() if access_token: self._session.headers.update({CONFIG_TOKEN_KEY: access_token}) ``` ```python r = self._session.post( f"{self.base_url}/aigc/draw/ai/create/stream", json={"userPrompt": prompt, "productCodeSub": product_code_sub}, headers=headers, stream=True, timeout=self.timeout, ) ``` From `scripts/eqxiu_aigc/upload_material.py`: ```python def _http_get( url: str, *, access_token: str | None = None, params: Mapping[str, Any] | None = None, extra_headers: MutableMapping[str, str] | None = None, timeout: int = DEFAULT_UPLOAD_TIMEOUT, ) -> requests.Response: headers: dict[str, str] = dict(extra_headers or {}) if access_token: headers["X-Openclaw-Token"] = access_token return requests.get(url, params=dict(params) if params else N ...[truncated 2875 chars]- Remediation
View remediation
