Announcing Beacon: Self-improving memory for coding agents
← All skills
Skill

atlassian-mcp

skill:jeffallan/claude-skills#atlassian-mcp

Integrates with Atlassian products to manage project tracking and documentation via MCP protocol. Use when querying Jira issues with JQL filters, creating and updating tickets with custom fields, searching or editing Confluence pages with CQL, managing sprints and backlogs, setting up MCP server authentication, syncing documentation, or debugging Atlassian API integrations.

Verdict
Suspicious

Risky behavior the analysis could not rule out.

Analyzed Oct 27, 2026, 21:21 UTC at 190e05a

Dispute security verdict

If you believe this verdict is incorrect, submit a dispute and we'll review it.

2
findings
medium
highest severity
1
threat classes
590
files scanned
318/321
checks satisfied
30
package advisories

Why this verdict

  • suspicious: finding skill:skills/atlassian-mcp:skills/atlassian-mcp/references/mcp-server-setup.md:47:SUPPLY
  • suspicious: finding skill:skills/atlassian-mcp:skills/atlassian-mcp/references/mcp-server-setup.md:52:SUPPLY

Security findings 2

Supply chain

mediumContextual riskmedium confidence

The skill's setup guidance instructs the agent to install and run community MCP servers from public registries without version pins (uvx/pip mcp-atlassian, docker tag :latest, npx -y @xuandev/atlassian-mcp, npx -y mcp-remote), executing unpinned remote code that can silently change after publication; this is not itself declared as a supply-chain exposure even though choosing community servers is a declared capability, so it is reported as contextual risk.

docker pull ghcr.io/sooperset/mcp-atlassian:latest
vector:instruction
Counter-argument considered

The referenced setup doc does instruct unpinned, mutable installs of third-party servers (uvx/pip mcp-atlassian, docker :latest) that receive the user's Atlassian tokens; the pinned-official-registry-install carve-out does not apply, no shown claim declares the mutable-execution exposure (D10/D11 declare only running the community server), and the scoping note 'Use these only when the official server does not fit' lowers severity without neutralizing it, so the contextual-risk finding stands.

Supply chain

mediumContextual risklow confidence

The skill's setup documentation instructs running unpinned third-party MCP servers from public registries (npm @xuandev/atlassian-mcp and mcp-remote, PyPI mcp-atlassian), so the code executed at runtime can silently change between invocations; this stays within the declared server-setup purpose, so it is a contextual risk, not an established abuse.

npx -y @xuandev/atlassian-mcp
vector:instruction
Counter-argument considered

Concrete setup commands tell the agent to execute the latest published third-party packages (npx -y @xuandev/atlassian-mcp, npx -y mcp-remote, uvx mcp-atlassian), which is outside the pinned-install carve-out; nothing in the shown claims declares the silent-change supply-chain exposure, and the doc's scoping ('Use these only when the official server does not fit') is a severity mitigant, not a refutation, so the contextual-risk finding survives.

Package advisories 30

Known vulnerabilities and malicious-package reports (OSV) for the packages it installs or runs.

criticalGHSA-wrhw-j3f9-8vc6PyPI/mcp-atlassian
[mcp-atlassian] Authentication bypass in HTTP transport: AtlassianOpaqueTokenVerifier accepts any non-empty token
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
criticalGHSA-xjgw-4wvw-rgm4PyPI/mcp-atlassian
MCP Atlassian has an arbitrary file write leading to arbitrary code execution via unconstrained download_path in confluence_download_attachment
No version pinned · fixed in 0.17.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-2xj6-xx86-cwwcPyPI/mcp-atlassian
MCP Atlassian: Arbitrary File Read & Exfiltration (Confused Deputy) in JIRA update_issue
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-3r68-hf9h-887vPyPI/mcp-atlassian
MCP Atlassian: ENABLED_TOOLS / Toolset authorization bypass
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-5wf4-jqxh-8gm3PyPI/mcp-atlassian
mcp-atlassian has an incomplete SSRF remediation
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-6529-c226-h328PyPI/mcp-atlassian
MCP Atlassian: SSRF redirect protection missing for basic-auth and OAuth authentication branches
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-6cr4-ccf3-x7h4PyPI/mcp-atlassian
MCP Atlassian: Arbitrary file read via confluence_upload_attachment allows exfiltration of server credentials
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-6vmq-24h2-pj7jPyPI/mcp-atlassian
MCP Atlassian: Incomplete path traversal fix allows intra-CWD module overwrite and RCE (bypass of GHSA-xjgw-4wvw-rgm4)
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-7r34-79r5-rcc9PyPI/mcp-atlassian
MCP Atlassian has SSRF via unvalidated X-Atlassian-Jira-Url / X-Atlassian-Confluence-Url headers
No version pinned · fixed in 0.17.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-93xw-j965-9mx3PyPI/mcp-atlassian
MCP Atlassian: Arbitrary file read/exfiltration via upload_attachment missing validate_safe_path()
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-cc5h-2pwp-pvccPyPI/mcp-atlassian
MCP Atlassian: Unauthenticated arbitrary local file read via upload_attachment file_path, chained with missing auth on streamable-http transport
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-f4p7-qx46-wc5jPyPI/mcp-atlassian
MCP Atlassian: Arbitrary local file READ via unconstrained file_path in upload_attachment (Confluence + Jira)
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-f6pj-qv47-g96wPyPI/mcp-atlassian
MCP Atlassian: Arbitrary server-local file upload to Jira/Confluence attachments via unrestricted file_path parameters
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-g5r6-gv6m-f5jvPyPI/mcp-atlassian
mcp-atlassian: Arbitrary file read via missing path validation in confluence_upload_attachment
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-hgcf-4mq8-5266PyPI/mcp-atlassian
MCP Atlassian: SSRF Protection Bypass
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-mrq8-fv7v-hhjgPyPI/mcp-atlassian
MCP Atlassian: HTTP upload tools accept arbitrary server-local file paths
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-p6hp-93wp-fh6pPyPI/mcp-atlassian
MCP Atlassian: Path Traversal / Arbitrary File Read in confluence_upload_attachment MCP tool (incomplete fix of GHSA-xjgw-4wvw-rgm4)
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-vc25-24vv-fxxmPyPI/mcp-atlassian
MCP Atlassian: Jira and Confluence attachment upload tools can read arbitrary server-local files
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-w66g-j6c4-hcfcPyPI/mcp-atlassian
MCP Atlassian: JIRA_PROJECTS_FILTER / CONFLUENCE_SPACES_FILTER allow forbidden-project content exfiltration (one LIVE-proven on Atlassian Cloud)
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-wm45-qh3g-v83fPyPI/mcp-atlassian
mcp-atlassian: Arbitrary server-side file read via attachment upload
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
highGHSA-wv8v-v4c5-v75jPyPI/mcp-atlassian
MCP Atlassian: MCP HTTP Client Server-Local File Exfiltration via Unvalidated Attachment Upload Path
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
mediumGHSA-4596-2p6p-28cvPyPI/mcp-atlassian
MCP Atlassian: Insecure File Permissions on OAuth Token Storage
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
mediumGHSA-489g-7rxv-6c8qPyPI/mcp-atlassian
MCP Atlassian: DNS-rebinding TOCTOU bypass of the SSRF fix (CVE-2026-27826)
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
mediumGHSA-49xv-9743-pw8wPyPI/mcp-atlassian
MCP Atlassian: SSRF via DNS Rebinding in Header-Based Authentication Flow
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
mediumGHSA-f26r-j276-ggg4PyPI/mcp-atlassian
MCP Atlassian: Arbitrary File Read via Upload Attachment Tools
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
mediumGHSA-g2r2-3j32-j27xPyPI/mcp-atlassian
MCP Atlassian: Reflected XSS in OAuth Setup Callback Handler
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
mediumGHSA-g5xv-mhgm-v5f6PyPI/mcp-atlassian
MCP Atlassian: OAuth fallback token storage writes plaintext access and refresh tokens with group-readable permissions
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
mediumGHSA-h7wj-5v37-59r2PyPI/mcp-atlassian
MCP Atlassian: Path traversal in upload_attachment allows arbitrary file read (incomplete fix for CVE-2026-27825)
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
mediumGHSA-mfv2-4wvm-9pgpPyPI/mcp-atlassian
MCP Atlassian: Path traversal in upload_attachment allows arbitrary file read and exfiltration via MCP tool call
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40
mediumGHSA-v9m3-wfh8-5646PyPI/mcp-atlassian
MCP Atlassian: Incomplete fix for GHSA-7r34-79r5-rcc9: redirect-based SSRF via unhooked requests session in Jira user-permission lookup
No version pinned · fixed in 0.22.0 · skills/atlassian-mcp/references/mcp-server-setup.md:40

Execution chain 90

What it calls, runs, installs, reads and writes, with the line that does it.

GitHub repositories 2

Network calls 19

jira.internal.company.com
mcp.atlassian.com
your-company.atlassian.net

URLs 47

https://api.atlassian.com/oauth/token/accessible-resources
https://api.atlassian.com/oauth/token/accessible-resources
https://confluence.internal.company.com
https://confluence.internal.example.com
https://developer.atlassian.com/console/myapps/
https://github.com/atlassian/atlassian-mcp-server
https://github.com/jeffallan
https://github.com/Jeffallan
https://github.com/sooperset/mcp-atlassian/blob/main/.env.example
https://id.atlassian.com/manage-profile/security/api-tokens
https://jeffallan.github.io/claude-skills/skills/platform/atlassian-mcp/
https://jira.internal.company.com/rest/api/2/myself
https://jira.internal.company.com/rest/api/2/myself
https://jira.internal.example.com
https://mcp.atlassian.com/v2/mcp
https://support.atlassian.com/atlassian-rovo-mcp-server/docs/configuring-authentication-via-api-token/
https://support.atlassian.com/atlassian-rovo-mcp-server/docs/getting-started-with-the-atlassian-remote-mcp-server/
https://support.atlassian.com/atlassian-rovo-mcp-server/docs/supported-tools/
https://support.atlassian.com/atlassian-rovo-mcp-server/docs/supported-tools/
https://support.atlassian.com/security-and-access-policies/docs/control-atlassian-rovo-mcp-server-settings/
https://synergetic.solutions
https://synergetic.solutions
https://www.npmjs.com/package/mcp-remote
https://your-company.atlassian.net/rest/api/3/myself
https://your-company.atlassian.net/wiki
https://your-site.atlassian.net/rest/api/3/myself
https://your-site.atlassian.net/wiki/favicon.ico
https://your-site.atlassian.net/wiki/spaces/DEV/pages/$

Linked repositories 2

GitHub repositories it links to or installs from, and whether their names can be taken over.

atlassian/atlassian-mcp-server
url · no ownership changes
sooperset/mcp-atlassian
url · no ownership changes

Coverage gaps 5

Parts of the artifact the static analysis could not fully examine.

external_plugin_source plugin 'fullstack-dev-skills' source is not local
.claude-plugin/marketplace.json
ledger_finding_without_valid_finding run 1: declared-vs-actual.1 SRC:d3a0e34c39e235d4
ledger_finding_without_valid_finding run 1: declared-vs-actual.1 SRC:af18162315f41394
ledger_finding_without_valid_finding run 1: declared-vs-actual.1 SRC:8d3b1279e82f1a84
invalid_judge_finding declared-vs-actual.1