Back to skill

Security audit

Tmp Domain Kit

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a local domain-knowledge helper, but its main instructions are partly garbled and imported files can persistently influence future agent answers.

Review before installing. Use it only with trusted department documents and code, avoid ingesting confidential or unreviewed files, treat retrieved content as reference data rather than instructions, and plan for manual review or deletion of stored JSONL records if bad data is imported.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • 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
  • 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 (2)

T02 · Agent Memory Poisoning

Warning
Location
retrieval/formatter.py:106
Finding

Persistent Indirect Prompt Injection Through Untrusted Knowledge Content

Content
View full analysis
500: code += "\n... (截断)" lines.append(f"```{langua ...[truncated 3271 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
extractors/table_extractor.py:85
Finding

Unbounded File, ZIP, XML, and CSV Processing Enables Resource Exhaustion

Content
View full analysis
str: """读取文本文件""" with open(file_path, "r", encoding=encoding, errors="replace") as f: return f.read() ``` ```python # extractors/table_extractor.py:39-58 text = None for encoding in ['utf-8-sig', 'utf-8', 'gbk', 'gb2312']: try: with open(file_path, 'r', encoding=encoding) as f: text = f.read() break except (UnicodeDecodeError, UnicodeError): continue if text is None: return [] reader = csv.DictReader(text.splitlines()) if not reader.fieldnames: return [] headers = [h.strip().lower() for h in reader.fieldnames] rows = list(reader) ``` ```python # extractors/table_extractor.py:85-114 with zipfile.ZipFile(file_path, 'r') as z: strings = [] if 'xl/sharedStrings.xml' in z.namelist(): ss_xml = z.read('xl/sharedStrings.xml') ss_root = ET.fromstring(ss_xml) ns = {'s': 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'} for si in ss_root.findall('.//s:si', ns): t = si.find('.//s:t', ns) strings.append(t.text if t is not None and t.text else '') sheet_name = 'xl/worksheets/sheet1.xml' if sheet_name not in z.namelist(): sheets = [n for n in z.namelist() if 'worksheets/sheet' in n] if not sheets: return [] sheet_name = sheets[0] sheet_xml = z.read(sheet_name) sheet_root = ET.fromstring(sheet_xml) ``` ### Technical Analysis The text and CSV extractors read the complete source file into memory. The CSV parser additionally creates a full list of lines and then materializes every parsed row. The XLSX parser reads compressed ZIP member ...[truncated 1842 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (31)

Ae4

Medium
Category
analysis-evasion
Confidence
90% confidence
Finding

The skill content contains substantial mojibake/malformed Unicode and mixed-script text, which makes the instructions hard to audit and can conceal risky behavior or materially change meaning. In a security review context, unreadable or ambiguously encoded operational guidance is itself dangerous because users and downstream agents may misinterpret triggers, scope, or file-handling behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The skill advertises broad usage such as generating control code, device selection, standards lookup, and best-practice retrieval without narrow trigger conditions, approval gates, or scope limits. This can cause over-invocation and inappropriate access to sensitive operational knowledge or application in safety-critical industrial contexts without sufficient user intent verification.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation instructs users to extract knowledge from local files including PDFs, code templates, and spreadsheets using local paths, but gives no warnings about sensitive data ingestion, intellectual property, or unintended persistence in a knowledge store. In an enterprise/industrial setting, this can lead to confidential manuals, source code, and configuration data being ingested and later exposed through query operations.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code file contains user-facing natural-language strings in Chinese, starting with the module description, and the rest of the CLI help and status messages are likewise Chinese-only. Under the policy rule for language/locale, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

Multiple docstrings, parser help texts, and printed status/error messages are presented only in Chinese across the CLI commands. Because the file does not offer a language selection mechanism or document a justified locale restriction, this violates the language/locale policy.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The module docstring and user-facing CLI text indicate the skill operates only in Chinese, and there is no opt-in or configurable language selection. This is a natural-language policy concern because it forces a specific language on users without documenting that the skill is intentionally region- or locale-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

All visible runtime prompts and status messages in the interactive workflow are Chinese-only, and the code provides no mechanism for users to choose another language. Under the policy, a forced language/locale is a violation unless the constraint is clearly justified or optional.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This JSON schema contains multiple natural-language descriptions exclusively in Chinese, such as the entity descriptions and relation descriptions. Because the file provides no opt-in, language selection, or documented region-specific justification, it imposes a specific language/locale and may violate organizational language-choice policy.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The module docstring is entirely in Chinese and describes the skill's purpose only in that language, with no indication that users can choose another language or locale. This can violate language/locale policy when a skill implicitly constrains interaction to a specific language without opt-in or documented justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The natural-language description in the file uses Chinese only and does not offer a user language choice or explain that the skill is intended for a Chinese-only environment. Per the policy, forcing a specific language without opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This code file contains user-facing natural-language documentation entirely in Chinese, including the module description and class/method docstrings. Under the policy, forcing a specific language without user choice or a documented region-specific justification is a locale-policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
63% confidence
Finding

The skill documentation is presented entirely in Chinese and does not indicate any language choice or opt-in for users who may operate in other locales. If this reflects a fixed language requirement rather than a localized document, it may violate language/locale flexibility expectations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The extract command performs a persistent write to the knowledge store via add_entity, but the command help and function docstring only say it extracts knowledge and do not clearly warn that running it modifies stored data. Although progress is printed during execution, there is no prior disclosure before the write occurs.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This code file contains user-facing natural-language documentation entirely in Chinese, including the module description and method docstrings. Under the stated policy, forcing a specific language without user opt-in or documented regional justification is a language/locale policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The module docstring and class/method descriptions are written entirely in Chinese, which imposes a specific language context in the skill's natural-language interface. The file does not indicate that Chinese is optional, user-selected, or required for a documented region-specific purpose.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This code file contains natural-language descriptions and user-facing output entirely in Chinese, including the module docstring and class docstring. Under the policy rules, forcing a specific language without user opt-in is a locale/language policy concern when no alternative or choice is documented.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

This file contains natural-language descriptions and comments that appear intended for users or maintainers, and they consistently force a single language locale. The policy requires flagging language or locale constraints when no user opt-in or justification is provided.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code's natural-language interface is fixed to Chinese in the module docstring and throughout user-facing output, indicating the skill forces a specific language/locale. The policy allows locale constraints only when explicitly justified or when users are given a choice, neither of which appears in this file.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code file contains natural-language descriptions and docstrings exclusively in Chinese, which can impose a specific language on users or maintainers without opt-in. The policy for SQP-3 applies to all file types and flags forced language or locale behavior when no alternative or justification is provided.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This code file contains natural-language user/developer-facing text entirely in Chinese, including the module description and docstrings, with no indication that language selection is optional. Under the policy, forcing a specific language without user opt-in can be a locale-policy violation unless the restriction is justified or documented.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The file’s user-facing natural language in the module docstring, class docstring, and parameter documentation is entirely in Chinese, which implicitly fixes the skill’s language/locale without indicating any user opt-in or alternative. Under the policy, forcing a specific language without user choice is a natural-language locale violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The schema uses Chinese natural-language descriptions for entity and relation definitions, while field names remain English. This creates a locale-specific constraint in the skill metadata without any visible opt-in or justification that the skill is intended only for Chinese-speaking users or a China-specific environment.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This JSON schema contains natural-language descriptions and enum values entirely in Chinese, such as the descriptions on L06, L15, L27-L28 and category values on L09. Because the file provides no indication that Chinese is optional or required for a region-specific use case, it may violate a language/locale policy that requires user choice or explicit justification.

Content

No source excerpt is available for this finding.