Versioned security assessment

Report ID: SA-28DDE804

6/30/2026, 9:43:15 PM

douyin-search-keyword security assessment v2

Skill Security Certification Report

Audit History
Audit model: codex Historical report
Skill name
douyin-search-keyword
Version
v2
Maintainer
um-why
Coverage
7 Files scanned · 1,043 Lines analyzed
Policy version
Unavailable

Confirmed finding summary

No confirmed security findings

The completed audit recorded no confirmed security findings. This is not proof that the Skill has no side effects.

Installation context

Historical evidence

This report may not describe the currently installable artifact. Open the current Skill page for install guidance.

Open current Skill page

This report does not block or authorize the manifest or ZIP.

Static shell-execution alerts are false positives caused by JavaScript template literals and documentation command examples. The confirmed risk is high because this community skill runs a Node.js script, reads GUAIKEI_API_TOKEN, sends the token and search terms to www.guaikei.com, and writes search output to local files.

Report position

Historical report

Open audit history before using this report to install.

Audit attestation

Not attestable

The required immutable binding is incomplete.

Human verification

Not verified

No human verification is recorded for this report.

Coverage

7 Files scanned · 1,043 Lines analyzed

4 items shown for review

Limitations

This report does not claim runtime or sandbox execution and does not prove the absence of side effects.

Evidence chain

Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.

  1. Source

    Binding unavailable

  2. Artifact

    Identity incomplete

  3. Audit

    Complete

  4. Install contract

    Open manifest to verify

    Open manifest

Capabilities observed

Observed means this report recorded supporting evidence. Not recorded does not prove that a capability is absent.

Contains scripts

May execute code included with the Skill.

Observed in 3 evidence locations

Network access

May connect to external services.

Observed in 3 evidence locations

Filesystem access

May read or write local files.

Observed in 3 evidence locations

Env variables

May read values from the process environment.

Observed in 2 evidence locations

External commands

May invoke commands or programs outside the Skill.

Not recorded by this audit

Capability review items (4)
High
Environment Token Sent to Third-Party API
The command reads GUAIKEI_API_TOKEN and passes it into requests to www.guaikei.com. This is intended API use, but it exposes user search terms and credentials to an external service controlled outside the marketplace.
The token is read from process.env and passed to createWithRetry and searchWithRetry. Both request builders use the external hostname www.guaikei.com.
High
API Token Included in Request URL Query Parameters
The API token is placed in query parameters for both task creation and result lookup. Query parameters are commonly captured by proxies, server logs, and debugging tools.
The request path is built with querystring.stringify(params), and params includes token in both API calls. This is a clear credential exposure pattern even if the service is legitimate.
Medium
Hardcoded Default API Token
If GUAIKEI_API_TOKEN is missing or invalid, the skill silently falls back to a hardcoded token. This can route user searches through a shared credential without explicit consent.
The fallback token is returned directly when the environment value is absent, empty, non-string, or not 32 characters. The code labels this as a default experience token.
Medium
Search Results Persisted to Local File
The script writes the complete final output to scripts/last-search.json. The results may include public content links, author metadata, timestamps, and the user search keyword.
The writeFileSync call stores finalOutput after it is populated with keyword, result metadata, and content URLs. The data appears public, but local persistence is not optional.

Risk findings

Confirmed security concerns are separated from items that still need review.

No confirmed security findings were recorded for this completed audit.

Expert evidence

Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.

Artifact subject

Marketplace commit
Unavailable
Content hash
Unavailable
Tree hash
Unavailable
Skill path
Unavailable
Audit payload hash
Unavailable

Analysis metadata

Audit model: codex

Analysis state: Complete

Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.

Static false positives ignored (2)
Low
Static External Command Alerts Are False Positives
The reported backtick locations are JavaScript template literals or Markdown command examples, not shell execution APIs. No evidence of child_process, eval, or shell backtick execution was found in the inspected files.
The cited code uses console output strings and documentation blocks. These constructs do not execute commands in Node.js or Markdown.
Low
Static Path Traversal Alerts Are Mostly False Positives
The ../lib imports are normal relative module imports, and the image join operation is output formatting. Keyword-derived lock files are constrained by sanitization, but still create local files from user input.
The imports do not traverse user-controlled paths. The remaining lock-file path uses sanitized keywords, so traversal is unlikely, but filesystem side effects remain real.

Verify and export

The manifest and lockfile bind install artifacts to cryptographic hashes. This integrity claim is separate from the security assessment.

Audit attestation: not_attestable