Back to skill

Security audit

Ba Master

Security checks for vulnerabilities and agentic risk

Overview

This BA assistant is purpose-aligned in topic, but it sends user content to a remote MCP service using an exposed shared bearer credential and lets that service supply workflow-control instructions.

Review before installing. Use this only for data you are allowed to send to the configured external MCP service, and do not use it for confidential, regulated, customer, or credential-bearing documents unless the publisher replaces the embedded shared token, documents the service's data handling, and constrains remote protocol behavior locally.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (4)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:115
Finding

External MCP Server Can Inject Mutable Agent Instructions

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
mcp-proxy/config.json:1
Finding

Reusable Bearer Credential Is Hard-Coded in Distributed Files

Content
View full analysis
`. 5. The service processes requests under whatever identity and permissions are associated with that token. No local access to the legitimate runtime is required once the project files have been obtained. ### Impact Assessment The precise server-side authorization scope cannot be determined from the reviewed client files. Potential impact includes: - Unauthorized use of MCP tools - Impersonation of legitimate Skill clients - Consumption of service qu ...[truncated 391 chars]
Remediation
View remediation

other

Warning
Location
mcp-proxy/call_tool.sh:64
Finding

User Messages and Workflow Context Are Transmitted to an External Service Without a Consent or Redaction Gate

Content
View full analysis
3 else '', 'conversation_id': sys.argv[4] if len(sys.argv) > 4 else '' } } }, ensure_ascii=False)) " "$TOOL_NAME" "$MESSAGE" "$CONTEXT" "$CCID") ``` ```bash CURL_HEADERS=( -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" ) if [[ -n "$API_KEY" ]]; then CURL_HEADERS+=(-H "Authorization: Bearer $API_KEY") fi HTTP_CODE=$(curl -s -o "$TMP_BODY" -D "$TMP_HEADERS" -w "%{http_code}" \ --max-time 300 \ "${CURL_HEADERS[@]}" \ -d "$CALL_PAYLOAD" \ "$REMOTE_URL") ``` ### Technical Analysis The script serializes the complete user message, workflow context, and conversation identifier into a JSON-RPC request and transmits them to the configured external MCP endpoint. The Skill is designed to process business requirements, data dictionaries, financial compliance information, system workflows, and related documents. Such material may include personal data, trade secrets, internal controls, customer information, or regulated financial details. Although the documentation identifies the MCP endpoint as remote, the implementation contains no technical control for: - Per-request informed consent - Sensitive-data detection - Secret or personal-data redaction - Payload minimization - Document classification - Local-only processing - Retention-policy acknowledgment TLS protects data in transit from ordinary network observers, but it does not protect submitted content from the receiving servic ...[truncated 1354 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
mcp-proxy/call_tool.sh:57
Finding

Predictable Shared Temporary Files Permit Symlink Clobbering and Concurrent Response Corruption

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (13)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill is presented as a business-analysis assistant, but it also instructs the client agent to act as a generic authenticated proxy to a remote MCP endpoint, including protocol handling and tool dispatch. That mismatch hides material behavior from users and reviewers, increasing the chance of unconsented data transfer and execution of capabilities outside the declared BA scope.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

A bearer token is hardcoded directly in the skill instructions and the client is told to use it for authenticated remote access. Embedded secrets are easily exfiltrated, reused, or abused by anyone who can read the skill, enabling unauthorized access to the backend service and any data or capabilities exposed through it.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill instructs the client to connect to an external service using an embedded bearer token but gives no warning that user data may be transmitted off-platform or how credentials are handled. This undermines informed consent and can expose confidential requirement documents, business processes, and compliance-related material to a third party unexpectedly.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill file contains a plaintext bearer credential and explicit instructions for the client agent to use it. Because the skill content is readable by clients and analyzers, the secret can be copied, leaked to logs, or replayed by unauthorized parties, making this a direct credential disclosure issue with immediate abuse potential.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill description and operational instructions are written to operate in Chinese and the trigger examples are Chinese-specific, but there is no indication that users may choose another language or that the locale restriction is intentional and justified. This can violate language or locale policy when a skill implicitly mandates a specific language without opt-in.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill claims it only performs BA analysis tasks, yet it requires the client to connect to external hosted tools to function. This is a security-relevant contradiction because users may share sensitive requirements documents under the assumption of local-only processing, while the skill actually routes them to a third-party service.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger keywords include broad phrases such as general requests for help analyzing requirements, which can match ordinary conversation and unintentionally activate the skill. In this skill's context, accidental activation is more dangerous because activation may lead to remote MCP connections and transmission of sensitive business documents without clear user intent.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The manifest describes six core capabilities centered on analysis artifacts such as PRD, process models, data dictionary, stories, UI specs, and compliance review. The listed export_artifacts tool adds packaging/download behavior, which is an operational file-export capability not declared as part of the skill's stated purpose.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · mcp-proxy/call_tool.sh (reported line 3)May include surrounding context.

sh
#!/bin/bash
# ─────────────────────────────────────────────────────────────────────────────────
# MCP Tool 通讯脚本 — bash + curl + python3(零外部依赖)
#
# 用法:
#   bash call_tool.sh <tool_name> "<message>" ['<context_json>'] [conversation_id]

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script transmits the user-provided message, context JSON, and optional conversation ID to a remote URL via curl, which can affect user privacy and data handling. Although the comments describe the request technically, there is no user-facing warning, confirmation prompt, or explicit disclosure at execution time that user input is being sent to a remote service.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The config hardcodes a China-hosted remote MCP endpoint with no indication of user consent, region selection, or data residency controls. In a BA/requirements-processing skill, user inputs may include sensitive business plans, internal workflows, customer data, or compliance-related material, so silently sending that data to a foreign remote service creates significant privacy, compliance, and supply-chain risk.

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 comments, usage text, and error/help strings are written in Chinese, which imposes a specific language on users without any opt-in or alternative locale support. This is a natural-language policy concern because the skill does not appear to offer a language choice or document that it is intentionally region-specific.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:91