Back to skill

Security audit

qingtian-buddhism

Security checks for vulnerabilities and agentic risk

Overview

This is a Chinese-language Buddhist study skill whose downloads, local caches, search scripts, and practice log are disclosed and aligned with its stated purpose.

Before installing, expect the first setup to download hundreds of MB of corpus/index data and optional model files, and to create local data/cache files plus a local practice log. Use it in a trusted local environment, avoid importing cache files such as bm25.idx from untrusted sources, and be aware that story material may include distressing religious narratives.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (47)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
The inclusion of automated test execution, project validation, metadata consistency checks, and .gitignore hygiene goes beyond a normal study assistant and introduces repository-inspection behavior. In a hosted agent environment, such capabilities can reveal local project structure and encourage execution of developer workflows unrelated to the user's request.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The inclusion of automated test execution, project validation, metadata consistency checks, and .gitignore hygiene goes beyond a normal study assistant and introduces repository-inspection behavior. In a hosted agent environment, such capabilities can reveal local project structure and encourage execution of developer workflows unrelated to the user's request.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding
The inclusion of automated test execution, project validation, metadata consistency checks, and .gitignore hygiene goes beyond a normal study assistant and introduces repository-inspection behavior. In a hosted agent environment, such capabilities can reveal local project structure and encourage execution of developer workflows unrelated to the user's request.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The inclusion of automated test execution, project validation, metadata consistency checks, and .gitignore hygiene goes beyond a normal study assistant and introduces repository-inspection behavior. In a hosted agent environment, such capabilities can reveal local project structure and encourage execution of developer workflows unrelated to the user's request.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
This is a natural-language locale policy constraint because it forces a specific language by default rather than offering the user a language choice. The file does not justify the restriction as region-specific compliance, and the behavior is presented as a general default for the skill.

Natural-Language Policy Violations

Medium
Confidence
89% confidence
Finding
The wording describes a policy that constrains language output to Chinese unless the user takes an extra step. Under the stated rule, forcing a specific language without user opt-in is a natural-language policy violation unless clearly justified, which is not provided here.

Lp3

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding
The skill explicitly instructs the agent to use filesystem reads/writes, run local Python scripts, and access the network to download a large corpus and model artifacts, yet it does not declare any tool scope or allowed-tools restrictions. That creates a permission ambiguity where an agent/runtime may grant broader capabilities than users expect, increasing the risk of unintended file modification, data access, or external fetches.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The activation trigger list includes many common Buddhist terms, making the skill likely to activate in broad religious or philosophical conversations where the user did not intend to invoke this highly specialized workflow. Overbroad triggering can cause unnecessary access to local files, downloads, or logging behavior in contexts that do not require them.

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The manifest says answers are fully quoted from the 《巴利三藏巴利-中文对照译本》, which suggests direct canonical translation text. This file documents systematic use of "义注" and "复注" corpora, meaning the skill's actual retrieval basis extends to commentarial literature beyond the plain canon translation described to users.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The manifest describes the assistant as answering by quoting the Pali Canon bilingual translation, which implies a bounded corpus centered on canon material. This index explicitly includes "藏外典籍" (extra-canonical works), indicating the skill is designed to retrieve and answer from materials outside the stated canon-only source scope.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding
Suspicious Unicode normalization or mixed-script content

Missing User Warnings

Medium
Confidence
97% confidence
Finding
This markdown file is a story library containing repeated descriptions of murder, mutilation, rape, torture, hell punishments, and child death, but it does not provide any warning that the material may be disturbing. For a user-facing content corpus, omitting any disclosure about highly sensitive material can expose users to unexpected psychological harm.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The instruction says the assistant must generate output in '纯现代汉语白话文', which imposes a specific language/locale behavior. Because the file does not indicate that this is optional, user-selected, or justified as a region-specific skill, it appears to force a language policy without user opt-in.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The module docstring, CLI description, help text, and all user-facing output are written entirely in Chinese, which imposes a language choice on users without any opt-in or alternative locale. This matches the policy category for language or locale constraints that are not optional or explicitly justified as region-specific.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
Natural-language strings throughout the module docstring and command-line interface are presented only in Chinese, including usage guidance and user-facing output descriptions. Under the policy, forcing a specific language without user opt-in is a locale-policy violation unless the restriction is explicitly justified, which is not stated here.

Insecure deserialization: pickle.load()

Medium
Category
Dangerous Code Execution
Content
try:
            if os.path.getmtime(cache_path) >= os.path.getmtime(CHUNKS_FILE):
                with gzip.open(cache_path, "rb") as f:
                    _BM25 = pickle.load(f)
                sys.stderr.write(f"[hybrid_search] 载入 BM25 缓存:{cache_path}\n")
                return _BM25
        except Exception as e:
Confidence
97% confidence
Finding
The code deserializes a gzip-compressed pickle file from disk using pickle.load() with no integrity or authenticity verification. If an attacker can modify the bm25.idx cache file or influence the index directory, arbitrary code can execute during load because pickle is not safe for untrusted input.

Tainted flow: 'CHUNKS_OFFSETS_FILE' from os.environ.get (line 53, credential/environment) → open (file write)

Medium
Category
Data Flow
Content
raise RuntimeError(f"{CHUNKS_FILE} 为空,请重新运行 setup_corpus.py")
        _offsets = offs
        try:
            with open(CHUNKS_OFFSETS_FILE, "wb") as f:
                f.write(struct.pack("<Q", len(offs)))
                f.write(struct.pack(f"<{len(offs)}Q", *offs))
        except OSError as e:
Confidence
65% confidence
Finding
Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
This code file contains natural-language instructions, comments, and runtime log/error messages that assume Chinese as the only user language. Under the policy, forcing a specific language without user opt-in is a locale/language policy violation unless the constraint is clearly documented and justified as region-specific.

Natural-Language Policy Violations

Medium
Confidence
86% confidence
Finding
The test suite hard-codes a Chinese controlled vocabulary for categories, which requires content to use specific Chinese labels. In this file, that behavior appears as an unconditional locale/language constraint rather than an opt-in or clearly documented region-specific requirement, which matches the language-policy violation category.

Natural-Language Policy Violations

Low
Confidence
91% confidence
Finding
This markdown file presents all operational guidance and usage rules exclusively in Chinese. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation unless the locale constraint is explicitly justified or users are offered a choice.

Natural-Language Policy Violations

Low
Confidence
83% confidence
Finding
SQP-3 applies to all file types and covers language or locale policy violations. This file presents its instructions and operational guidance only in Chinese, with no opt-in, alternative language, or justification that the skill is explicitly limited to Chinese-speaking users or a region-specific context.

Missing User Warnings

Low
Confidence
90% confidence
Finding
The file instructs first-use execution of a setup script that automatically downloads remote data into the skill directory without any warning about network access, supply-chain trust, or local writes. In an agent ecosystem, silent bootstrap behavior can lead to unexpected code/data ingestion and increases the risk of tampered datasets or unsafe operational side effects.

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
This markdown file presents all user-facing guidance and titles in Chinese, and does not indicate that the language is optional or limited to a region-specific audience. Under the stated policy, forcing a specific language without user opt-in can be a natural-language policy violation.

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
This markdown file presents all user-facing content in Chinese, including the title, biography, and study notes, with no indication that language selection is optional. Under the policy rule for natural-language violations, forcing a specific language without user opt-in can be a locale policy issue.

Natural-Language Policy Violations

Low
Confidence
82% confidence
Finding
The file’s title, headings, narrative content, and quoted explanations are entirely in Chinese, and there is no natural-language indication that the skill supports other languages or that Chinese is a required locale. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation.

Static analysis

No suspicious patterns detected.