Back to skill

Security audit

Tcsl Api Fetcher

Security checks for vulnerabilities and agentic risk

Overview

This is a documentation-only API skill, but its solution mapping can route harmless lookup requests to account, staff, role, warehouse, and delete/update endpoints.

Install only if you will use it as a reference with human review. Do not let an agent automatically call endpoints selected from the solution mapping; require explicit confirmation for create, update, delete, staff, role, account, warehouse, payment, and member operations. Prefer HTTPS endpoints and avoid sending real credentials, employee PII, or payment account data through the documented plaintext test URLs.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Error
Location
references/_all_apis.json:16972
Finding

Plaintext HTTP Endpoints Expose Credentials and Personal Data in Transit

Content
View full analysis

Vulnerability Details

File Location: references/_all_apis.json, lines 16972–17031
Vulnerability Type: Sensitive data transmitted over unencrypted HTTP
Risk Level: High

Complete Vulnerable Code Snippet

json
{
  "name": "门店POS账号新增/修改",
  "title": "门店POS账号新增/修改",
  "method": "POST",
  "path": "http://open-test.tcsl.com.cn/api/sly/newProxy/openapi/api/v1/staff/createorupdate",
  "request_params": [
    {
      "name": "thirdId",
      "type": "是",
      "required": "String",
      "description": "第三方ID"
    },
    {
      "name": "id",
      "type": "否",
      "required": "Long",
      "description": "商龙云id"
    },
    {
      "name": "jobNumber",
      "type": "是",
      "required": "String",
      "description": "工号"
    },
    {
      "name": "picUrl",
      "type": "否",
      "required": "String",
      "description": "工号图片"
    },
    {
      "name": "orgList",
      "type": "是",
      "required": "array",
      "description": "所属机构"
    },
    {
      "name": "-orgId",
      "type": "是",
      "required": "Long",
      "description": "机构id"
    },
    {
      "name": "nickName",
      "type": "是",
      "required": "String",
      "description": "姓名"
    },
    {
      "name": "password",
      "type": "是",
      "required": "String",
      "description": "密码"
    },
    {
      "name": "status",
      "type": "是",
      "required": "Integer",
      "description": "启停状态: 0-禁用; 1-启用"
    },
    {
      "name": "mobile",
      "type": "是",
      "required": "String",
      "description": "手机号"
    },
    {
      "name": "email",
      "type": "否",
      "required": "String",
      "description": "邮箱"
    }
  ]
}

Technical Analysis

The API reference specifies a security-sensitive POST operation using plaintext HTTP. Its request schema includes a password, employee identity, telephone number, email address, organization membership, and account status.

HTTP provides neither transport confidentiality nor cryptographic integrit ...[truncated 2102 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace every http:// API path with a verified https:// endpoint supported by the service.
  2. Configure clients to reject plaintext HTTP rather than silently downgrading or following cross-scheme redirects.
  3. Add an automated validation step that parses every documented API path and fails generation or publication when the scheme is not HTTPS.
  4. Verify TLS certificates and hostnames using the platform's standard trust store; do not disable certificate validation.
  5. Remove plaintext password values from examples and use clearly synthetic placeholders such as ${PASSWORD}.
  6. Avoid returning passwords or password-equivalent fields in response examples.
  7. Rotate any credential that may previously have traversed the HTTP endpoints, particularly if it was reused in another environment.
  8. Review all related plaintext endpoints, including account, role, staff, and deletion APIs, rather than correcting only the cited occurrence.
  9. Document a strict separation between test and production credentials and prohibit reuse across environments.
  10. Where possible, use short-lived tokens and request signing in addition to TLS, while recognizing that signing does not replace transport encryption.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (14)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The employee archive API documentation enumerates highly sensitive personal data fields such as ID card number, cellphone, address, birthday, email, marital status, sex, and health certificate details without any privacy, minimization, or handling guidance. In a skill that helps agents integrate with real business systems, this materially increases the likelihood of over-collection, insecure storage, excessive logging, and privacy-law violations.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

Order and bill query capabilities are mapped to unrelated account, staff, role, and unit modification endpoints, expanding the effective privilege of a simple reporting feature into administrative control. This creates a serious confused-deputy risk where benign prompts about billing could route to personnel or configuration changes.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The mapping shows read-oriented features such as retrieval/query functions being associated with destructive or mutating endpoints like update, delete, and create operations. In an agent skill, this breaks least-privilege expectations and can cause unintended state changes or abuse if the agent selects APIs based on feature labels rather than true operation semantics.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The feature "获取客位档案" is described as an archive/retrieval action, yet it includes item unit create/delete/list management endpoints, including delete over HTTP. This mismatch could let a caller expecting a harmless lookup trigger inventory/unit modifications, resulting in data corruption or service disruption.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

Payment and balance query features include unrelated administrative and personnel-management endpoints, which is especially sensitive because finance-related skills often receive broad trust and access. If exploited or misrouted, an actor could pivot from payment visibility into account or staff changes, increasing both operational and financial risk.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

Membership-related features include account deletion and unrelated catalog/classification management endpoints, which are not justified by member lookup or member-center functionality. This allows user-management tasks to become a path to destructive or unrelated business-object changes, violating least privilege and increasing blast radius.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documentation includes payment callback examples with full-looking payer and payee account numbers in cleartext. Even if these are sample values, exposing realistic financial account identifiers without masking or explicit dummy-data labeling normalizes unsafe handling of sensitive payment data and increases the risk of accidental reuse in logs, tests, or downstream integrations.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

Warehouse and supplier lookup features include write operations such as warehouse creation and bill-generation endpoints, which do not align with a lookup-only purpose. While the direct impact may be narrower than finance/admin pivots, it still permits unauthorized data creation and business-process manipulation through seemingly safe queries.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The natural-language content of the skill file is fully Chinese, and there is no statement that this language is optional, user-selected, or limited to a China-specific audience. Under the policy rule, forcing a specific language without opt-in can be a locale policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

This JSON reference catalog is written entirely in Chinese for API names, titles, and field descriptions, and does not indicate that users can choose another language or that the locale restriction is intentional. Under the policy rule for language/locale, a file that effectively forces a single language without opt-in can be flagged.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

This JSON manifest-like file contains only broad titles and no explicit information about when the associated skill or documentation should be invoked versus ignored. For manifest-scope files, missing specificity around trigger scope can lead to unintended invocation or ambiguous matching behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The natural-language content in the file is presented only in Chinese, which may impose a language choice without any documented opt-in or locale justification. Under the language/locale policy, skills should not force a specific language unless the constraint is explicit and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

This JSON mapping uses Chinese labels throughout, such as feature names and system identifiers, but does not state that the file is intentionally limited to Chinese-speaking users or provide any opt-in/choice. That can conflict with a language/locale policy requiring explicit user choice or justified locale constraints.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

This plain-text file contains user-facing natural language exclusively in Chinese and does not indicate that other language options are available. Under the language/locale policy rule, forcing a specific language without user opt-in can be a policy concern when no justified regional constraint is documented.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.