Back to skill

Security audit

Jira 事务工具包基础版

Security checks for vulnerabilities and agentic risk

Overview

This Jira skill is mostly coherent, but it can make lasting Jira changes while its scope, privacy claims, and setup guidance are too broad for automatic use.

Review this skill before installing if your Jira workspace contains important team or business data. Use it only with explicit Jira issue keys or JQL, require confirmation for any create/update/transition/assign/comment action, avoid the broad environment-variable check, and verify the Jira CLI source/version yourself.

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 (2)

other

Warning
Location
SKILL.md:179
Finding

Credential-Related Environment Variable Reconnaissance

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 179
Vulnerability Type: Environment reconnaissance
Risk Level: Medium

Vulnerable Code:

bash
env | grep -E "API|KEY|TOKEN|SECRET" | sed "s/=.*/=***/"  # Linux/macOS

Technical Analysis

The configuration-verification command enumerates the complete process environment through env and then filters variables whose names contain credential-related terms. Although the final sed operation masks displayed values, every environment variable—including potentially sensitive values—is first passed through the pipeline.

Enumerating the complete environment is unnecessary for validating Jira configuration. The command also discloses the names and availability of unrelated API keys, tokens, and secrets, providing useful reconnaissance to an Agent, malicious pipeline component, or compromised local utility.

Attack Path

  1. A user loads the Skill and follows its environment-verification instructions.
  2. The Agent executes the documented command.
  3. The complete environment, including secret values, is passed from env into grep.
  4. Credential-related variable names are identified and shown, while their raw values remain exposed to processes participating in the pipeline.
  5. A malicious or compromised pipeline component can capture those values or use the discovered variable names to target subsequent credential-access attempts.

Impact Assessment

Successful exploitation may disclose environment-resident credentials to a compromised command-line component or reveal which credentials are available in the Agent process. The potential scope is limited to variables accessible to the invoking process, but it may include unrelated service tokens, API keys, or deployment secrets. This command does not itself grant elevated operating-system privileges or establish persistence.

Remediation
View remediation

Remediation Suggestions

  • Remove the broad env enumeration command.
  • Validate only explicitly required Jira variables using a fixed allowlist.
  • Test whether each required variable is set without printing its value.
  • Avoid exposing credential names unless they are documented configuration requirements.
  • Execute validation without external pipeline utilities where possible.

Example of a safer presence check:

bash
if [ -n "${JIRA_API_TOKEN:-}" ]; then
  printf '%s\n' "JIRA_API_TOKEN is configured"
else
  printf '%s\n' "JIRA_API_TOKEN is not configured"
fi

T08 · Insecure Dependencies

Note
Location
SKILL.md:166
Finding

Unpinned Third-Party Jira CLI Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 166 and 204
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Low

Vulnerable Code:

bash
brew install ankitpokhrel/jira-cli/jira-cli

The same installation instruction appears at both identified locations.

Technical Analysis

The Skill directs the Agent to install a formula from a third-party Homebrew tap without pinning a reviewed version, commit, checksum, or immutable artifact. Consequently, the formula and package contents installed during setup may differ from those available when the Skill was audited.

This creates supply-chain exposure: compromise of the external tap, its upstream release infrastructure, or a maintainer account could cause installation of modified code. Homebrew package installation can execute formula-defined installation logic with the permissions of the invoking user.

Attack Path

  1. A user requests Jira functionality without having Jira CLI installed.
  2. The Agent follows the Skill documentation and executes the Homebrew installation command.
  3. Homebrew retrieves the current third-party tap formula and associated package artifacts.
  4. An attacker who has compromised the tap or upstream distribution channel supplies a modified formula or artifact.
  5. The malicious package or installation logic executes with the invoking user's privileges.

Impact Assessment

A compromised dependency could read or modify files accessible to the invoking user, access Jira credentials available in the environment or configuration, execute arbitrary commands, and tamper with subsequent Jira operations. The instruction does not request administrator privileges, so the direct privilege scope is ordinarily limited to the account running Homebrew. No evidence shows that the referenced package is currently malicious; the risk results from mutable, unpinned dependency retrieval.

Remediation
View remediation

Remediation Suggestions

  • Pin a reviewed Jira CLI release or immutable source revision.
  • Verify downloaded artifacts using a publisher-provided cryptographic checksum or signature.
  • Document the canonical repository and trusted maintainer identity.
  • Require explicit user approval before installing third-party software.
  • Prefer a trusted package channel with reproducible or independently verifiable artifacts.
  • Periodically review the pinned release for security updates and update it through a controlled review process.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (5)

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The document claims that all data stays local and is never uploaded to the cloud, yet other sections explicitly support callback URLs and network access to external APIs. This is a dangerous trust mismatch because users may provide sensitive Jira content believing it cannot leave the machine when the documented behavior permits transmission off-host.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill description highlights convenience and automation but does not clearly warn that it can modify Jira issues, transition states, assign owners, or add comments affecting real team data. Missing action-risk disclosure can mislead users and agents into treating the skill as informational when it is capable of persistent changes.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The natural-language invocation guidance is too vague, telling users to describe needs generally without clear boundaries for when the skill should activate. For a skill with read/write Jira capabilities and exec access, ambiguity increases the risk of unintended actions or misuse by downstream agents.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger conditions are overly broad and inconsistent with the skill's Jira-focused purpose, encouraging activation for generic analysis or reporting requests. In an agent setting, vague triggers increase the chance of accidental invocation on sensitive content or use beyond the operator's intended scope.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill is advertised as a Jira transaction tool, but its trigger conditions broaden usage into generic data analysis, reporting, and visualization. This scope drift can cause an agent to invoke the skill for unrelated tasks and potentially expose Jira data or perform actions under an incorrect user expectation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.