Back to skill

Security audit

知识获取

Security checks for vulnerabilities and agentic risk

Overview

The skill is broadly aligned with link-to-note ingestion, but it can automatically make uploaded Feishu notes externally accessible and fetch arbitrary URLs, creating review-worthy exposure risk.

Install only if you are comfortable with configured Feishu uploads potentially becoming externally accessible links. Use a dedicated low-privilege Feishu app and folder, avoid submitting confidential or internal URLs, disable Feishu archival when testing, and prefer deployment with strict outbound network controls and Chromium sandboxing enabled.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (3)

T09 · Insecure Skill Coding Practices

Error
Location
plugins/core/content-extractor.js:421
Finding

Server-Side Request Forgery Through Unrestricted URL Extraction

Content
View full analysis
raw.replace(/[)\]}",;。!?!?.]+$/g, "")) .filter(Boolean); const uniqueUrls = Array.from(new Set(urls)); if (uniqueUrls.length === 0) { throw new Error("No URL detected", true); } return uniqueUrls; } ``` ```js async extractGeneric(url) { const response = await axios.get(url, { timeout: this.config.timeout, headers: { "User-Agent": this.config.userAgent }, }); const $ = cheerio.load(response.data); return { type: "webpage", title: $("title").text() || $('meta[property="og:title"]').attr("content") || "Untitled webpage", author: $('meta[name="author"]').attr("content") || "Unknown author", description: $('meta[property="og:description"]').attr("content") || $('meta[name="description"]').attr("content") || "", text: $("article").text() || $("main").text() || $("body").text() || "", publishTime: $('meta[property="article:published_time"]').attr("content") || "", images: $("img") .map((_, el) => ({ url: $(el).attr("src"), alt: $(el).attr("alt") || "", })) .get() .filter((img) => img.url), url, }; } ``` ### Technical Analysis The validation layer accepts any string beginning with `http://` or `https://`. It does not parse and validate the destination host, resolve DNS, reject non-public addresses, or constrain requests to an allowlist. The generic extractor then sends a server-side request to ...[truncated 2227 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
index.js:686
Finding

Feishu Notes Are Automatically Made Externally Accessible

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
plugins/core/content-extractor.js:96
Finding

Untrusted Web Content Is Rendered With the Chromium Sandbox Disabled

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (129)

Tp4

High
Category
MCP Tool Poisoning
Confidence
88% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
89% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the skill actually modifies local plugin source files, injects exports/methods, and updates registration metadata, that is a powerful and dangerous capability completely unrelated to the declared note-ingestion purpose. Undisclosed code modification is high risk because it can persist changes, alter trusted components, and create a path for broader compromise in the local agent environment.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The workflow describes saving processed content to a publicly accessible Feishu location without clearly warning users that their processed material may become visible to others. This undermines informed consent and can cause accidental disclosure of private browsing interests, collected content, summaries, and embedded links.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

Public exposure of archived notes is not necessary for the stated knowledge-acquisition purpose and materially increases the chance of leaking extracted content, metadata, and user-derived analysis. Because the skill processes links from multiple platforms, the resulting notes may contain sensitive, proprietary, or personal information that should not be published by default.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill uploads generated notes derived from extracted external content to Feishu and then programmatically makes the resulting file publicly accessible, without any user-facing warning, confirmation, or consent mechanism. In a knowledge-acquisition skill that aggregates content from websites, social platforms, and messages, this creates a strong risk of privacy leakage, copyright-sensitive redistribution, and unintentional public exposure of user-curated material.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The code explicitly changes uploaded Feishu files to public sharing by setting external_access_entity to 'open' and comment/view permissions broadly, which can expose extracted notes and any embedded source content to anyone with the link. In this skill context, the notes are generated from user-supplied links and may contain scraped or sensitive material, so making them public by default materially increases the risk of unintended data disclosure.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

After upload, the skill sets Feishu document permissions to external_access_entity='open' and comment_entity='anyone_can_view', effectively broadening document exposure beyond private archival. This can turn scraped or user-supplied content into publicly accessible/commentable documents, creating a serious confidentiality and integrity risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The code changes uploaded file permissions to public/open-comment without warning the user, which is a concrete unsafe side effect rather than a purely UX issue. Because the skill processes arbitrary fetched and user-provided content, silent public sharing can expose sensitive notes, URLs, metadata, and extracted text to external parties.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill takes user-provided text, scraped content, authorship metadata, links, and generated summaries, stores them in Feishu Drive, and may also message links/tokens via Feishu IM. In this context, the combination of automatic archival plus broadened sharing creates a realistic natural-language data exfiltration path for sensitive or proprietary information.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill automatically embeds extracted page content into generated Markdown notes and then uploads those notes to Feishu with public accessibility enabled. In this context, the danger is amplified because the skill processes arbitrary multi-platform content, so private, sensitive, copyrighted, or access-controlled material may be republished unintentionally to a broad audience.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill uploads generated notes containing extracted third-party content to Feishu and then changes permissions to public without any user-facing warning, approval step, or disclosure. Silent exfiltration and publication of processed content is dangerous because users may provide links expecting analysis only, not redistribution to a publicly reachable cloud location.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The implementation does more than optional cloud archiving: it creates a publicly accessible Feishu link for each uploaded note and returns that link in the output. This behavior materially expands data exposure compared with the described functionality, increasing the risk that users archive content believing it remains private when it is actually published.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The upload flow explicitly sets Feishu file permissions to external_access_entity: "open" and comment_entity: "anyone_can_view", making archived notes publicly accessible to anyone with the link. Because the skill ingests and republishes extracted content from arbitrary URLs, this can unintentionally disclose sensitive, copyrighted, or private material far beyond the stated archival purpose.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: axios==1.13.6 — 16 advisory(ies): CVE-2026-44494 (axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `co); CVE-2026-44495 (axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollut); CVE-2025-62718 (Axios has a NO_PROXY Hostname Normalization Bypass that Leads to SSRF) +13 more

High
Category
Supply Chain
Confidence
91% confidence
Finding

This lockfile includes axios 1.13.6 via @larksuiteoapi/node-sdk, and the scanner reports multiple high-severity advisories including proxy/NO_PROXY handling and prototype-pollution-related MITM or SSRF behaviors. Because this skill fetches remote content from multiple platforms and may access internal services or cloud APIs, flaws in HTTP client behavior materially increase the risk of SSRF, credential leakage, or manipulated responses.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: axios==1.15.0 — 16 advisory(ies): CVE-2026-44494 (axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `co); CVE-2026-44495 (axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollut); CVE-2026-42044 (Axios: Invisible JSON Response Tampering via Prototype Pollution Gadget in `pars) +13 more

High
Category
Supply Chain
Confidence
94% confidence
Finding

The project directly depends on axios 1.15.0, which is flagged for numerous high-severity issues including SSRF/proxy-bypass and prototype-pollution-related response/request manipulation. Given this skill's purpose of scraping and retrieving arbitrary remote content, a vulnerable HTTP client is especially dangerous because attacker-controlled URLs and network paths are a likely part of the feature set.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
index-original.js:404

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
index.js:519