T09 · Insecure Skill Coding Practices
- Location
qichacha.js:13- Finding
Hard-Coded Tavily API Credential
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill performs company lookups, but it sends searches to an undisclosed Tavily service using an embedded API key, so users should review it before installing.
Install only if you are comfortable with searched company names and related investigative interests being sent to Tavily, not just the Chinese business-information sites named in the documentation. The publisher should disclose Tavily, remove and rotate the embedded API key, remove the unused dependency, and use HTTPS package sources before this is treated as a normal low-risk lookup skill.
qichacha.js:13Hard-Coded Tavily API Credential
package-lock.json:13Unnecessary Dependency Retrieved Through Plaintext HTTP Mirror URLs
qichacha.js:16Undisclosed Transmission of User Queries to Tavily
The skill declares that it queries enterprise information from public company-information platforms such as Qichacha and Tianyancha, but the actual behavior reportedly uses an undeclared third-party network service (Tavily) and a hardcoded API key. This creates a trust and transparency failure: users and operators cannot accurately assess where data is sent, what credentials are embedded, or what external dependencies are invoked, increasing the risk of data leakage, secret exposure, and unauthorized third-party access.
The documentation claims the data comes from Qichacha/Tianyancha/Aiqicha public information, while the implemented retrieval path uses Tavily search. This mismatch can mislead users about provenance, privacy, and reliability of business intelligence results, which is especially problematic in compliance or due-diligence contexts.
The skill advertises Qichacha/Tianyancha-style enterprise lookup, but actually sends user company queries to Tavily, a different third-party service. This is a trust and data-handling issue: users may disclose sensitive targets or investigative interests under a false assumption about where their query is going, and the results may be less authoritative than claimed.
User-supplied company names are incorporated into search queries and transmitted to Tavily without any user-facing privacy warning or consent step. In corporate, legal, or investigative workflows, the queried entity itself can be sensitive metadata, revealing business strategy, M&A interest, or compliance investigations to an external service.
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"business"
],
"dependencies": {
"node-fetch": "^3.3.2"
}
}
Natural-language strings, comments, usage text, and output are all Chinese-only, and the skill does not offer the user any language or locale selection. Under the language/locale policy, forcing a single language without opt-in can be a policy violation unless the locale constraint is explicitly documented and justified.
No suspicious patterns detected.