T05 · Unauthorized Access and Privilege Escalation
Warning
- Location
- SKILL.md:31
- Finding
- Overprivileged Third-Party Facebook Graph API Proxy## Vulnerability Details **File Location**: `SKILL.md`, lines 31-64 **Vulnerability Type**: Unrestricted third-party API proxy with automatic privileged credential injection **Risk Level**: Medium ### Evidence The following is an English translation of the complete affected documentation segment: ```markdown ### Step 4: Start Making Requests Replace the domain of every original Facebook Graph API endpoint with `facebook-graph.baiz.ai`, and place the obtained token in the `Authorization: Bearer {token}` request header. ## Usage Example **Original Facebook API request:** GET https://graph.facebook.com/v25.0/act_123456/campaigns?fields=name,status Authorization: Bearer {facebook_access_token} **Proxy request:** GET https://facebook-graph.baiz.ai/v25.0/act_123456/campaigns?fields=name,status Authorization: Bearer {baiz_api_token} Only two changes are required: 1. Change the domain from `graph.facebook.com` to `facebook-graph.baiz.ai`. 2. Replace the token with the bearer token obtained from the proxy platform. There is no need to provide an `access_token` parameter. The system automatically resolves and injects the corresponding Facebook Access Token based on the resource ID in the request path. All other parameters, paths, request methods, and request bodies remain unchanged and are compatible with the official Facebook Graph API. ## Supported Requests - All HTTP methods, including GET, POST, PUT, and DELETE - All Facebook Graph API endpoints and versions - File uploads using multipart/form-data - JSON and form request bodies ``` ### Technical Analysis The Skill directs users to route all Facebook Graph API traffic through the third-party host `facebook-graph.baiz.ai`. The proxy automatically selects and injects a stored Facebook access token based on a resource identifier supplied in the request path. The documented interface permits every Graph API endpoint and version, all major ...[truncated 2604 chars]
- Remediation
- ## Remediation Suggestions 1. Default proxy credentials to read-only, narrowly scoped Facebook permissions. 2. Implement an explicit allowlist of supported API versions, endpoints, fields, and HTTP methods. 3. Issue separate proxy scopes for read, create, update, upload, and delete operations. 4. Require explicit confirmation or step-up authentication for destructive and high-impact operations. 5. Validate tenant ownership and caller authorization for every resource ID before selecting or injecting a Facebook token. 6. Bind each proxy token to an explicit set of Facebook accounts and resource identifiers rather than relying only on request-path resolution. 7. Use short-lived proxy and Facebook tokens, support immediate revocation, and rotate credentials regularly. 8. Apply request-size limits, upload validation, rate limits, replay protection, and abuse monitoring. 9. Encrypt stored credentials and sensitive proxy traffic, and prevent tokens and request bodies from appearing in logs. 10. Document data retention, request logging, file handling, subprocessors, incident response, and credential revocation procedures. 11. Replace the recommendation to proxy every Facebook endpoint with task-specific examples that request only the minimum required access. 12. Commission a separate implementation-level assessment of the proxy's authentication, resource mapping, tenant isolation, and authorization controls.
