Back to skill

Security audit

Promote Skill

Security checks for vulnerabilities and agentic risk

Overview

This publishing workflow is mostly coherent, but its recommended pre-publish secret scan can read and print sensitive data from the whole working directory, not just the skill being published.

Install only if you are comfortable with a publishing assistant that may use authenticated GitHub and marketplace accounts. Before using it, change the secret-scan step to inspect only the target SKILL.md or run it inside a clean staging directory, and review every public upload command before execution.

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

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:69
Finding
Overly Broad Secret Scan May Expose Unrelated Workspace Credentials## Vulnerability Details **File Location**: `SKILL.md`, line 69 **Vulnerability Type**: Excessive access to unrelated workspace files and sensitive output exposure **Risk Level**: Medium **Vulnerable Code**: ```bash grep -RInE 'password|passwd|secret|token|api[_-]?key|BEGIN .*PRIVATE|private[_-]?key|cookie|credential' SKILL.md . 2>/dev/null || true ``` ### Technical Analysis The command recursively searches both `SKILL.md` and the entire current directory (`.`). The stated purpose is to validate the skill source before publication, but recursively inspecting the surrounding workspace exceeds what is necessary when only the target skill file needs review. When a matching expression is found, `grep` prints the complete matching line by default. Consequently, unrelated configuration files, environment files, source code, backups, or credential stores within the working directory may have their sensitive values written to terminal output, agent context, execution logs, or retained conversation history. The `2>/dev/null` redirection suppresses permission and traversal errors, reducing visibility into which locations could not be scanned. The trailing `|| true` also forces a successful command status, potentially concealing operational failures. These constructs are not direct exploitation mechanisms, but they make the scan less transparent. ### Attack Path 1. A user invokes the documented skill-publishing workflow from a repository or workspace root. 2. The agent executes the recommended secret-scanning command. 3. The recursive `.` operand causes `grep` to inspect files unrelated to the target `SKILL.md`. 4. An unrelated file contains a line matching a term such as `token`, `password`, `cookie`, or `private_key`. 5. `grep` prints the complete matching line, potentially including the actual secret value. 6. The exposed value becomes visible in terminal output, agent context, audit logs, or conversation records. No networ ...[truncated 788 chars]
Remediation
## Remediation Suggestions 1. Restrict the scan to the intended skill file rather than recursively scanning the current workspace: ```bash grep -nE 'password|passwd|secret|token|api[_-]?key|BEGIN .*PRIVATE|private[_-]?key|cookie|credential' -- SKILL.md || true ``` 2. Avoid printing complete matching lines when they may contain secret values. Prefer a dedicated secret scanner that supports redaction, or report only filenames, line numbers, and rule identifiers. 3. If directory scanning is genuinely required, require explicit user approval and use a narrowly defined path with exclusions for files such as `.env`, credential stores, private keys, build artifacts, dependency directories, and version-control metadata. 4. Run the scan with the minimum necessary filesystem permissions and from a dedicated staging directory containing only the publication artifact. 5. Do not suppress all errors unconditionally. Surface inaccessible paths and scanner failures so the user can determine whether the review was complete. 6. Require manual review of sanitized findings before any public gist, repository, or marketplace upload.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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)

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
Use this skill to turn a local `SKILL.md` into a public marketplace listing and promotion checklist. The workflow is agent-friendly:
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding
The skill suggests invoking `npx @lobehub/cli` without a pinned version. Unpinned `npx` execution fetches and runs the latest published package at execution time, which creates a supply-chain risk if a malicious or compromised release is published or if behavior changes unexpectedly.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
2. Publishing credentials in examples. Use placeholder env var names only.
3. Too many tags on uGig. Keep tags under 10 and leave supported-agent chips blank if validation complains.
4. Assuming "Publish Everywhere" means automatic publication. It is a per-marketplace checklist; many require account registration, API keys, or PRs.
5. Calling unknown CLIs live without checking auth. Prefer dry-run until `command -v`, login status, and target repo/account are verified.

## Final report format
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Static analysis

No suspicious patterns detected.