Back to skill

Security audit

Jiaoyuan

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed historical-methodology thinking aid with no hidden execution or data access, but it contains political and military source material that should be kept in historical, nonviolent context.

Before installing, verify the source and prefer a pinned installer or immutable release. Expect historical political and military quotations in the corpus; use the skill only for nonviolent decision-method analysis, not for political advocacy, impersonation, professional advice, or guidance to harm people or institutions.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
README.md:135
Finding

Unpinned npx Installation Command Introduces Supply-Chain Risk

Content
View full analysis

Vulnerability Details

File Location: README.md, line 135
Vulnerability Type: Unpinned third-party package execution
Risk Level: Medium

Vulnerable code snippet:

bash
npx skills add swif698/jiaoyuan.skill

Technical Analysis

The documented installation command invokes the skills npm package through npx without specifying an exact package version or integrity constraint. If the package is not already available locally, npx may retrieve and execute the version currently resolved by the configured npm registry.

This makes installation behavior dependent on mutable third-party infrastructure rather than the reviewed project contents. A compromised npm package, maintainer account, registry response, or future malicious release could cause users to execute code different from the code audited here. The referenced Skill source is also identified by a mutable repository name rather than an immutable commit in this command.

No malicious behavior was found in the repository's own validation script. The issue is the unsafe dependency acquisition pattern presented to users.

Attack Path

  1. An attacker compromises the npm package or account associated with the unpinned skills command, or otherwise controls package resolution through a malicious registry configuration.
  2. The attacker publishes a release containing malicious installation or runtime behavior.
  3. A user follows the Quick Start documentation and executes npx skills add swif698/jiaoyuan.skill.
  4. npx resolves and downloads the attacker-controlled package version.
  5. The malicious package executes with the privileges of the user running the command.
  6. Depending on those privileges, it could access user-readable files, alter the user's Agent Skills directory, steal development credentials, or modify other user-owned resources.

Impact Assessment

Exploitation requires a user to run the documented command and an attacker ...[truncated 362 chars]

Remediation
View remediation

Remediation Suggestions

  • Pin the installer package to a reviewed exact version, for example npx skills@X.Y.Z add ....
  • Document the expected package publisher, version, checksum, and provenance so users can verify what will execute.
  • Pin the Skill source to an immutable commit or signed release tag rather than relying only on a mutable repository identifier.
  • Prefer a package manager mode that requires an existing lockfile and verifies integrity metadata.
  • Where compatible with the installer, disable npm lifecycle scripts during acquisition and explicitly run only reviewed entry points.
  • Provide a manual installation method using a specific release archive and published SHA-256 checksum.
  • Use signed releases, protected maintainer accounts with multi-factor authentication, and automated dependency provenance verification.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (98)

Natural-Language Policy Violations

Critical
Category
Not specified by scanner
Confidence
99% confidence
Finding

The text states that a named political group and its allies should be '处以绞刑', which is an explicit endorsement of execution of opponents. This is a severe policy violation in natural-language content because it normalizes lethal punishment against adversaries.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
2. **定位内核**:这个本质矛盾属于 5 内核(求真 / 辨局 / 验真 / 聚力 / 成事)里的哪一个,可多选但要有主次。内核定义见 `cores.md`。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
2. **定位内核**:这个本质矛盾属于 5 内核(求真 / 辨局 / 验真 / 聚力 / 成事)里的哪一个,可多选但要有主次。内核定义见 `cores.md`。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
2. **定位内核**:这个本质矛盾属于 5 内核(求真 / 辨局 / 验真 / 聚力 / 成事)里的哪一个,可多选但要有主次。内核定义见 `cores.md`。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
2. **定位内核**:这个本质矛盾属于 5 内核(求真 / 辨局 / 验真 / 聚力 / 成事)里的哪一个,可多选但要有主次。内核定义见 `cores.md`。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
2. **定位内核**:这个本质矛盾属于 5 内核(求真 / 辨局 / 验真 / 聚力 / 成事)里的哪一个,可多选但要有主次。内核定义见 `cores.md`。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
2. **定位内核**:这个本质矛盾属于 5 内核(求真 / 辨局 / 验真 / 聚力 / 成事)里的哪一个,可多选但要有主次。内核定义见 `cores.md`。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
5. **组织语言**:按 `dna.md` 的风格特征组织(善用比喻、反问、排比),但**现代白话优先**——不古文模仿、不喊口号、不堆砌原文。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
5. **组织语言**:按 `dna.md` 的风格特征组织(善用比喻、反问、排比),但**现代白话优先**——不古文模仿、不喊口号、不堆砌原文。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
5. **组织语言**:按 `dna.md` 的风格特征组织(善用比喻、反问、排比),但**现代白话优先**——不古文模仿、不喊口号、不堆砌原文。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
5. **组织语言**:按 `dna.md` 的风格特征组织(善用比喻、反问、排比),但**现代白话优先**——不古文模仿、不喊口号、不堆砌原文。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
6. **保留张力**:若问题本身有两难(如团结 vs 斗争、原则 vs 灵活),给出两难的两个方向与取舍条件,不脸谱化成单一答案。张力清单见 `tensions.md`。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
6. **保留张力**:若问题本身有两难(如团结 vs 斗争、原则 vs 灵活),给出两难的两个方向与取舍条件,不脸谱化成单一答案。张力清单见 `tensions.md`。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
6. **保留张力**:若问题本身有两难(如团结 vs 斗争、原则 vs 灵活),给出两难的两个方向与取舍条件,不脸谱化成单一答案。张力清单见 `tensions.md`。

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
6. **保留张力**:若问题本身有两难(如团结 vs 斗争、原则 vs 灵活),给出两难的两个方向与取舍条件,不脸谱化成单一答案。张力清单见 `tensions.md`。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
- `tests/cases.json`:推演评测集(自检用)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
- `tests/cases.json`:推演评测集(自检用)

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
93% confidence
Finding

The 'Transferable Lessons' section reframes violent political language into broad, reusable advice such as delivering a 'fatal blow' and not giving an opponent a 'breathing spell.' Presenting this as general guidance goes beyond historical description and promotes aggressive elimination of adversaries in natural language instructions.

Content

No source excerpt is available for this finding.

Ae5

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Instruction-capable artifact exceeds whole-file semantic analysis limits

Content

No source excerpt is available for this finding.

Ae5

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Instruction-capable artifact exceeds whole-file semantic analysis limits

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

L1558 says ethnic boundaries will one day disappear and 'all ethnic languages will one day merge into a unified language.' This is a clear language/locale policy concern because it endorses a single imposed language outcome without user or community opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
89% confidence
Finding

The text states that all parents like Zhao's should be imprisoned and calls for a slogan celebrating the death, using exhortatory language rather than neutral description. This goes beyond historical reporting and presents punitive or glorifying rhetoric that can normalize violent or coercive action.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
81% confidence
Finding

These lines describe turning weapons against former allies and urge people to unite and confront opponents, presenting violent class conflict in motivational terms. Because SQP-3 applies to all file types, this kind of advocacy language is in scope even in archival plain text.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
84% confidence
Finding

This plain-text file includes a biographical summary stating that within twenty years '非一战不足以图存' and that people should prepare for war against Japan. That language advocates armed conflict as a necessary course of action, which is a natural-language policy concern applicable to all file types.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

This markdown file contains repeated natural-language exhortations such as '革命是暴动' and '也拿起刀来', presenting violent action as justified and necessary. Even though the file is a quotation collection, the content itself constitutes a policy-relevant natural-language violation because it endorses violent political conduct without clarifying historical/contextual boundaries.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.