Back to skill

Security audit

Atlassian MCP (Jira, Confluence)

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its Atlassian MCP purpose, but it gives Jira credentials to an unpinned third-party Docker image that can change Jira data.

Review this carefully before installing. Use a dedicated least-privilege Atlassian token, avoid administrator or broad service-account credentials, test in a non-production project first, and prefer a pinned image digest from a publisher you trust. Treat any agent write actions in Jira as sensitive business changes that should be explicitly reviewed.

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

Error
Location
scripts/run_mcp_atlassian.sh:26
Finding

Mutable Third-Party Container Image Receives Jira Credentials

Content
View full analysis
Remediation
View remediation
' docker run --rm -i \ -e JIRA_URL="$JIRA_URL" \ -e JIRA_USERNAME="$JIRA_USERNAME" \ -e JIRA_API_TOKEN="$JIRA_API_TOKEN" \ "$IMAGE" ``` 2. **Verify image provenance and signatures** before approving a digest. Where supported, enforce signature verification with a tool such as Cosign and accept only images signed by an explicitly trusted publisher identity. 3. **Establish a controlled dependency-update process** in which digest changes are reviewed, scanned for known vulnerabilities, tested, and committed as auditable project changes. 4. **Use a dedicated least-privilege Jira account and token** limited to the projects and operations required by the MCP integration. Avoid administrator credentials and rotate the token regularly. 5. **Restrict container capabilities and privileges** where compatible with the application, for example by enabling a read-only filesystem, dropping Linux capabilities, preventing privilege escalation, and applying resource limits. 6. **Restrict outbound network access** to the required Atlassian endpoints where the deployment environment supports network policies or an allowlisted proxy. This reduces the ability of a compromised image to exfiltrate credentials. 7. **Update `SKILL.md`** to use the same verified digest as the script and document the image-verification and token-rotation procedures. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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 (4)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill encourages supplying Jira API credentials to a third-party container and describes capabilities to query, create, and manage Jira content without clearly warning users about privacy, data access scope, or the risk of destructive changes. In this context, the combination of credentials plus direct modification capability increases the chance of unintended disclosure or unauthorized project changes.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The skill instructs users to pull and execute a container image using the mutable latest tag rather than a pinned version or digest. This creates a supply-chain risk because the image contents can change over time, so future executions may run unreviewed code with access to Jira credentials.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The docker run example executes the same unpinned container image, which means the runtime behavior depends on a mutable remote artifact. Because the container is provided Jira credentials via environment variables, a compromised or changed image could exfiltrate secrets or perform unauthorized Atlassian actions.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The script pulls and executes a container image using the mutable 'latest' tag rather than a pinned version or digest. This creates a supply-chain risk: future image changes, compromise of the registry account, or a malicious republish could cause different and potentially unsafe code to run while receiving sensitive Jira credentials via environment variables.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.