T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/query.py:140- Finding
Bundled CLI Exposes Capabilities Beyond the Skill's Declared Scope
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is not clearly malicious, but it needs review because a contact-lookup package also exposes broader ecommerce search, analytics, historical revenue/traffic, installed-app, and raw JSON capabilities.
Review this before installing if you only want a narrow contact lookup tool. The skill requires an ECcompass API token and can retrieve contact details as well as broader ecommerce intelligence through the bundled CLI, so use a scoped or disposable token if available, avoid bulk personal-data harvesting, and confirm your use complies with privacy and outreach laws.
scripts/query.py:140Bundled CLI Exposes Capabilities Beyond the Skill's Declared Scope
scripts/query.py:29API Credential Can Be Forwarded to a Different Origin During HTTP Redirects
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
"Content-Type": "application/json",
})
try:
with urllib.request.urlopen(req, timeout=30) as resp:
return json.loads(resp.read().decode())
except urllib.error.HTTPError as e:
raw = e.read().decode() if e.fp else ""
The metadata presents this as a narrow contact-lookup skill, but the content also advertises broader domain search, analytics, GMV, traffic, plugin, and market-intelligence capabilities through a larger associated skill set. This mismatch can mislead reviewers and operators about the true data-access surface and may cause over-trust or inappropriate deployment in contexts where only limited functionality was expected.
Referenced artifact was not completely inspected
- [AI Instructions](SKILL.md) — How the agent uses this skill
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
],
"credentials": {
"APEX_TOKEN": {
"description": "ECcompass API access token. Sign up at https://eccompass.ai, then go to Dashboard → API Access → Create Token.",
"required": true
}
},
The examples document store discovery and domain analytics behavior, while the manifest describes retrieval of decision-maker LinkedIn profiles and business emails. This capability mismatch is dangerous because it obscures the true function of the skill, impairs informed review and consent, and can hide processing of business contact data behind unrelated-looking examples. In a contact-enrichment skill, inconsistent documentation increases the risk of deceptive data handling and misuse of personal/business identity data.
The script implements broad store discovery, analytics, historical intelligence, and app-enumeration capabilities that materially exceed the manifest's stated purpose of finding LinkedIn profiles and business emails for specific store domains. This capability mismatch increases the chance the skill is used for undisclosed data enrichment or competitive intelligence, violating least privilege and user expectations.
The README explicitly promotes retrieval of decision-maker LinkedIn profiles and business email addresses, which is personal contact data, but provides no privacy notice, lawful-use guidance, consent expectations, or restrictions on misuse. In an agent skill context, this omission increases the risk that the tool will be used for scraping, unsolicited outreach, profiling, or other privacy-invasive activities without user friction or policy guardrails.
The skill declares access to an environment variable and requires network communication, but it does not define explicit tool permissions or allowed-tools scope. That omission weakens least-privilege controls and can allow broader-than-expected execution or exfiltration paths if the runtime grants default capabilities.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -X POST https://api.eccompass.ai/public/api/v1/search \
-H "APEX_TOKEN: $APEX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
---
## 1. Search — `POST https://api.eccompass.ai/public/api/v1/search`
### Request
Although external transmission is normally expected, this specific endpoint is for retrieving LinkedIn contacts and verified email addresses tied to a company domain. In this skill context, the endpoint materially supports transmission and retrieval of privacy-sensitive personal data from a third party, increasing abuse potential for scraping, profiling, and unsolicited outreach.
---
## 5. LinkedIn Contacts — `GET https://api.eccompass.ai/public/api/v1/contacts/{domain}`
### Request
The schema explicitly documents an endpoint that returns named LinkedIn contacts with verified email addresses for arbitrary store domains, but provides no privacy, consent, acceptable-use, or abuse-prevention guidance. In the context of a lead-generation skill, this materially enables bulk harvesting of personal contact data for outreach, spam, or profiling, making the exposure more dangerous than a generic business-analytics API.
This concrete request example demonstrates direct retrieval of personal contact records from a third-party service using a domain as input. In a lead-generation skill centered on finding decision-makers and emails, the data flow is more dangerous than a generic external API call because it operationalizes access to sensitive contact data for potential mass outreach or targeting.
GET https://api.eccompass.ai/public/api/v1/contacts/ooni.com
APEX_TOKEN: <your_token>
Keyword-based market search enables broad discovery of e-commerce targets unrelated to a user-specified domain, which exceeds the declared purpose of finding contacts for a known store. In context, this makes the skill more dangerous because it supports large-scale prospecting and intelligence gathering rather than narrow, transparent contact lookup.
Historical GMV and traffic retrieval provides competitive and operational intelligence well beyond simple contact lookup. In this skill context, that overreach is meaningful because the manifest primes reviewers and users to expect contact-finding, not detailed commercial analytics on target businesses.
No suspicious patterns detected.