Undeclared Tool Scope
- Category
- MCP Least Privilege
- Confidence
- 70% confidence
- Finding
Without declared permissions the skill's intent is opaque and cannot be validated.
- Content
Security audit
Security checks for vulnerabilities and agentic risk
This is a coherent property-search skill that uses Zillapi as disclosed and does not show hidden persistence, unrelated data access, or destructive behavior.
Install this only if you are comfortable with Zillapi receiving your search locations, bounding boxes, filters, and API key for each query. Use a dedicated Zillapi key, keep max_items low, and confirm broad searches because returned listings consume API credits.
Without declared permissions the skill's intent is opaque and cannot be validated.
The handler transmits search parameters such as location or bounding box to the external Zillapi service via an HTTP request. While the module docstring names the API and the environment variable, there is no confirmation prompt, user-facing log, or warning that user-provided search data will be sent to a third party.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
- OpenAPI spec: <https://zillapi.com/openapi.json>
- REST docs: <https://zillapi.com/api/properties/>
- Hosted MCP server (alternative to this skill): <https://api.zillapi.com/mcp>
## Trademark
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import urllib.parse
import urllib.request
API_BASE = "https://api.zillapi.com/v1"
USER_AGENT = "zillow-skills/1.1.0 (+https://github.com/ZeroPointRepo/zillow-skills)"
TIMEOUT_SECONDS = 30
Code accesses environment variables that may contain secrets (API keys, tokens). This is a common pattern for credential theft.
def _key():
k = os.environ.get("ZILLAPI_KEY", "").strip()
if not k:
raise RuntimeError(
"ZILLAPI_KEY environment variable is not set. "
No suspicious patterns detected.