Back to skill

Security audit

fangcloud-api skills

Security checks for vulnerabilities and agentic risk

Overview

This Fangcloud integration fits its stated purpose, but it asks users to run an unauthenticated remote binary with cloud tokens and includes credential-shaped bearer tokens in API documentation.

Install only if you trust the publisher and release channel, can rotate any exposed Fangcloud tokens, and are comfortable with a downloaded closed-source CLI receiving user or admin Fangcloud tokens. Require explicit confirmation for uploads, downloads, deletes, moves, public share links, collection links, and any admin operation; avoid admin tokens unless strictly necessary.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T03 · Remote Payload Retrieval and Execution

Error
Location
cli/scripts/download_release_binary.sh:62
Finding

Unverified Remote Binary Download and Execution

Content
View full analysis
/dev/null 2>&1 else "${bin_path}" --help >/dev/null 2>&1 fi } ``` ```bash case "$(uname -s)" in Darwin|Linux) zip_name="${file}.zip" zip_url="${BASE_URL}/${zip_name}" tmp_zip="${RELEASE_DIR}/${zip_name}.tmp.$$" tmp_extract_dir="$(mktemp -d "${TMPDIR:-/tmp}/fangcloud-extract.XXXXXX")" trap 'rm -f "${tmp_zip}"; rm -rf "${tmp_extract_dir}"' EXIT echo "Downloading ${zip_url}" curl -fL "${zip_url}" -o "${tmp_zip}" extracted_bin="$(extract_binary_from_zip "${tmp_zip}" "${file}" "${tmp_extract_dir}")" if [ -z "${extracted_bin}" ] || [ ! -f "${extracted_bin}" ]; then echo "Downloaded zip does not contain expected binary: ${file}" >&2 exit 1 fi chmod +x "${extracted_bin}" if ! validate_binary "${extracted_bin}"; then echo "Downloaded binary is invalid and cannot run: ${zip_url}" >&2 echo "Please update the release artifact at the source URL." >&2 exit 1 fi mv -f "${tmp_zip}" "${RELEASE_DIR}/${zip_name}" cp "${extracted_bin}" "${bin_target}" chmod +x "${bin_target}" ``` The runner automatically downloads and executes the artifact: ```bash if [ ! -x "${target}" ] || ! is_healthy "${target}"; then "${SCR ...[truncated 3572 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
references/openapi.md:348
Finding

Hard-Coded Bearer Tokens in API Documentation

Content
View full analysis
Remediation
View remediation
` or `${FANGCLOUD_USER_TOKEN}`. 2. Immediately revoke and rotate all four exposed values if they were ever issued by the Fangcloud service. 3. Review Fangcloud access logs for requests made with the affected tokens, especially from unexpected IP addresses, user agents, times, or regions. 4. Review repository history, release archives, CI artifacts, documentation mirrors, caches, and package registries for retained copies. 5. If repository history must be rewritten, coordinate the rewrite with all repository consumers and rotate credentials before relying on history cleanup. 6. Add secret scanning to pre-commit hooks and continuous integration. Include rules for UUID-form bearer credentials used by Fangcloud. 7. Use short-lived, narrowly scoped test credentials only in isolated environments, and never commit them to documentation. 8. Ensure examples read tokens from protected environment variables without printing them to command output or logs. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (110)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 68)May include surrounding context.

md
- macOS / Linux: `./cli/scripts/download_release_binary.sh`

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 248)May include surrounding context.

md
- macOS / Linux: `./cli/scripts/download_release_binary.sh`

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 259)May include surrounding context.

md
- macOS / Linux: `./cli/scripts/download_release_binary.sh`

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 91)May include surrounding context.

md
详细接口定义请参考 references/openapi.md。

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · cli/scripts/download_release_binary.sh (reported line 74)May include surrounding context.

sh
zip_url="${BASE_URL}/${zip_name}"
    tmp_zip="${RELEASE_DIR}/${zip_name}.tmp.$$"
    tmp_extract_dir="$(mktemp -d "${TMPDIR:-/tmp}/fangcloud-extract.XXXXXX")"
    trap 'rm -f "${tmp_zip}"; rm -rf "${tmp_extract_dir}"' EXIT

    echo "Downloading ${zip_url}"
    curl -fL "${zip_url}" -o "${tmp_zip}"

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/openapi.md (reported line 2584)May include surrounding context.

md
## 删除审阅评论

**Endpoint**: `DELETE /v2/review_comment/delete/{id}`

**Description**: **需要使用用户token,根据用户id生成,详情参考上面生成的token文档**

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The activation text is very broad, covering many common Fangcloud-related actions such as file operations, recent document queries, share creation, knowledge-base chat, and agent interaction without tight scoping or explicit user confirmation gates. This can cause the agent to invoke a highly privileged skill in situations where the user's intent is ambiguous, increasing the risk of unintended data access, modification, download, upload, or sharing.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The workflow documents creating public share links and public collection tasks but does not require a user-facing warning, confirmation, or least-privilege defaults before exposing internal files or upload endpoints externally. In this context, the skill directly manages enterprise cloud files and sharing, so omission of exposure warnings materially increases the chance of accidental public disclosure or creation of externally reachable collection endpoints.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/openapi.md (reported line 16)May include surrounding context.

| accessible_by | body | object | 邀请对象 | | folder_id | body | int64 | 协作文件夹id |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/collab/invite' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/openapi.md (reported line 40)May include surrounding context.

| accessible_by | body | array<object> | 邀请对象 | | folder_id | body | int64 | 协作文件夹id |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/collab/invite_batch' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/openapi.md (reported line 106)May include surrounding context.

| collab_ids | body | array<int64> | 需要被删除的协作用户(支持批量) | | folder_id | body | int64 | 协作文件夹id |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/collab/remove' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/openapi.md (reported line 130)May include surrounding context.

| id | path | int64 | 协作ID | | role | body | string | 更新角色类型;coowner:共同所有者; editor:编辑者; online_collaborator:在线协作者; viewer_uploader:查看/上传者; viewer:查看者; previewer_uploader:预览+上传者; previewer:预览者; uploader:上传者; reset:禁止访问 |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/collab/{id}/update' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/openapi.md (reported line 154)May include surrounding context.

| content | body | string | 评论文本,长度不能超过1001个字符@[user_id:评论内容] | | file_id | body | int64 | 评论文件id |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/comment/create' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/openapi.md (reported line 276)May include surrounding context.

| --- | --- | --- | --- | | device_token | path | string | 设备token |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/device/{device_token}/add_sync' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/openapi.md (reported line 320)May include surrounding context.

| --- | --- | --- | --- | | device_token | path | string | 设备token |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/device/{device_token}/remove_sync' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

This example includes a hardcoded Bearer token in public-facing documentation. Exposing live or realistic access tokens can allow unauthorized API access, data copying, and account misuse if the token is valid or if developers normalize embedding secrets in code and docs.

Content

Scanner excerpt · references/openapi.md (reported line 344)May include surrounding context.

| id | path | int64 | 文件的ID | | target_folder_id | body | int64 | 目标文件夹id |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/file/75003907526/copy' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

A hardcoded Bearer token is embedded directly in the curl example. Credentials in documentation are highly sensitive because they can be copied by readers, scraped from repos, or reused accidentally in downstream code, enabling unauthorized file operations.

Content

Scanner excerpt · references/openapi.md (reported line 370)May include surrounding context.

| id | path | int64 | 文件的ID | | target_folder_path | body | string | 路径名,以/划分文件夹,根目录在个人文件下,文件夹名称必须是1到222个字符,并且不能含有/ ? : * " > < |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/file/75003907526/copy_by_path' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

This sample contains a concrete Bearer token and operational identifiers in a documented API call. In a skill or shared repo, that can expose real account access and encourage unsafe secret handling practices, especially for file-creation actions inside enterprise storage.

Content

Scanner excerpt · references/openapi.md (reported line 400)May include surrounding context.

| parentFolderId | body | int64 | 父文件夹Id | | type | body | string | 文件类型;1:doc类型; 2:ppt类型; 3:xls类型 |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/file/create_blank_file' \

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation exposes irreversible destructive operations such as permanent deletion from trash without clearly warning about data loss or non-recoverability. In an agent skill context, this increases the chance that an automated system or user follows examples that destroy data without adequate confirmation or safety checks.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

The curl example includes a hardcoded authorization token for a file move operation. If valid, an attacker could use it to manipulate user content; even if expired, publishing it models insecure credential handling and raises the chance of similar leaks elsewhere.

Content

Scanner excerpt · references/openapi.md (reported line 708)May include surrounding context.

| id | path | int64 | 移动文件的ID | | target_folder_id | body | int64 | 目标文件夹id |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/folder/179000000087/move' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

A Bearer token is embedded in an upload/new-version workflow, which can grant unauthorized content modification if usable. Documentation leaks are especially dangerous because they are broadly visible and frequently cloned into automation.

Content

Scanner excerpt · references/openapi.md (reported line 739)May include surrounding context.

| name | body | string | 文件名称,文件名称必须是1到222个字符,并且不能含有/ ? : * " > < \ | | upload_type | body | string | 上传类型;固定传api |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/file/75003685568/new_version_v2' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

This example discloses a concrete access token for pack download operations. That could enable bulk data export if the token is active, making the potential confidentiality impact significant.

Content

Scanner excerpt · references/openapi.md (reported line 772)May include surrounding context.

| --- | --- | --- | --- | | item_typed_ids | body | array<string> | 文件id或文件夹id |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/file/pack_download' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

The documentation exposes a Bearer token in a file update example. Credential exposure in published docs can lead to unauthorized edits and broader compromise of the associated user context.

Content

Scanner excerpt · references/openapi.md (reported line 821)May include surrounding context.

| --- | --- | --- | --- | | id | path | int64 | 更新文件的ID |

Curl Command:

bash
curl --location 'https://open.fangcloud.com/api/v2/folder/179000000087/update' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

A hardcoded Bearer token is present in an upload-by-path example. This can permit unauthorized uploads or reconnaissance if valid, and it clearly reflects unsafe secret handling in the skill content.

Content

Scanner excerpt · references/openapi.md (reported line 848)May include surrounding context.

| target_folder_path | body | string | 路径名,以/划分文件夹,根目录在个人文件下,文件夹名称必须是1到222个字符,并且不能含有/ ? : * " > < | | upload_type | body | string | 上传类型;固定传api |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/file/upload_by_path' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

The sample includes an explicit Bearer token for file upload operations. Exposed upload credentials can enable data tampering, malware placement, or abuse of storage resources if still active.

Content

Scanner excerpt · references/openapi.md (reported line 884)May include surrounding context.

| parent_id | body | int64 | 上传至的文件夹id | | upload_type | body | string | 上传类型;固定传api |

Curl Command:

bash
curl --location --request POST 'https://open.fangcloud.com/api/v2/file/upload_v2' \