MCP server for Atlassian tools (Confluence, Jira)
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution ×2 in sooperset/mcp-atlassian
transport stdio counts 96 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
add_comment
-
add_inline_comment
-
add_issues_to_sprint
-
add_label
-
add_watcher
-
add_worklog
-
assign_issue
-
batch_create_issues
-
batch_create_versions
-
batch_get_changelogs
-
check_content_permissions
-
copy_page
-
create_customer_request
-
create_issue
-
create_issue_link
-
create_page
-
create_page_from_template
-
create_remote_issue_link
-
create_sprint
-
create_version
-
delete_attachment
-
delete_issue
-
delete_page
-
download_attachment
-
download_attachments
-
download_content_attachments
-
edit_comment
-
get_agile_boards
-
get_all_projects
-
get_attachments
-
get_board_issues
-
get_comments
-
get_create_fields
-
get_cross_project_dependencies
-
get_field_options
-
get_inline_comments
-
get_issue
-
get_issue_dates
-
get_issue_development_info
-
get_issue_images
-
get_issue_proforma_forms
-
get_issue_sla
-
get_issue_watchers
-
get_issues_development_info
-
get_labels
-
get_link_types
-
get_page
-
get_page_children
-
get_page_diff
-
get_page_history
-
get_page_images
-
get_page_restrictions
-
get_page_template
-
get_page_views
-
get_proforma_form_details
-
get_project_components
-
get_project_epic_hierarchy
-
get_project_fields
-
get_project_issue_types
-
get_project_issues
-
get_project_versions
-
get_queue_issues
-
get_request_type_fields
-
get_request_types
-
get_service_desk_for_project
-
get_service_desk_queues
-
get_space_page_tree
-
get_space_permissions
-
get_sprint_issues
-
get_sprints_from_board
-
get_transitions
-
get_user_profile
-
get_worklog
-
link_to_epic
-
list_page_templates
-
move_issue
-
move_issues_to_backlog
-
move_page
-
remove_issue_link
-
remove_watcher
-
reply_to_comment
-
search
-
search_assignable_users
-
search_fields
-
search_projects
-
search_user
-
set_page_restrictions
-
transition_issue
-
update_issue
-
update_page
-
update_page_section
-
update_proforma_form_answers
-
update_sprint
-
update_version
-
upload_attachment
-
upload_attachments
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 31c1d77 · analyzer v28 · 3d ago
skills & prompt files 3
- agent-rules sooperset-mcp-atlassian-31c1d77/.github/copilot-instructions.md
- agent-rules sooperset-mcp-atlassian-31c1d77/AGENTS.md
- agent-rules sooperset-mcp-atlassian-31c1d77/CLAUDE.md
danger signals7
- dynamic code execution pickle.loads() sooperset-mcp-atlassian-31c1d77/tests/unit/test_exceptions.py :150
unpickled_error = pickle.loads(pickled_data) - dynamic code execution __import__ sink sooperset-mcp-atlassian-31c1d77/tests/unit/test_truststore_env.py :171
for k, v in __import__("os").environ.items() - suspicious endpoint 169.254.169.254 (cloud metadata) sooperset-mcp-atlassian-31c1d77/tests/unit/jira/test_client.py :99
internal_redirect.headers = {"Location": "http://169.254.169.254/latest/meta-data/"} - suspicious endpoint 169.254.169.254 (cloud metadata) sooperset-mcp-atlassian-31c1d77/tests/unit/servers/test_dependencies.py :2447
result = validate_url_for_ssrf("http://169.254.169.254") - suspicious endpoint 169.254.169.254 (cloud metadata) sooperset-mcp-atlassian-31c1d77/tests/unit/servers/test_main_server.py :730
(b"x-atlassian-jira-url", b"http://169.254.169.254/latest/meta-data/"), - suspicious endpoint 169.254.169.254 (cloud metadata) sooperset-mcp-atlassian-31c1d77/tests/unit/test_external_auth.py :489
headers={"X-Atlassian-Jira-Url": "http://169.254.169.254/latest/meta-data"} - suspicious endpoint 169.254.169.254 (cloud metadata) sooperset-mcp-atlassian-31c1d77/tests/unit/utils/test_urls.py :247
result = validate_url_for_ssrf("http://169.254.169.254")
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 289
filesystem 8
- fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/attachments.py :6
from pathlib import Path - fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/attachments.py :6
from pathlib import Path - fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/preprocessing/confluence.py :6
from pathlib import Path - fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :9
from pathlib import Path - fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/http.py :82
half-open (single probe allowed) -> closed | open. We don't model - fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/io.py :4
from pathlib import Path - fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth.py :17
from pathlib import Path - fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth_setup.py :146
try {{ window.open('', '_self').close(); }} catch (e) {{}}
network 39
- net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/analytics.py :14
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/attachments.py :5
import urllib.parse - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/client.py :7
from requests import Session - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/comments.py :8
import requests - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/pages.py :6
from urllib.parse import parse_qs, urlparse - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/permissions.py :6
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/restrictions.py :6
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/search.py :6
from urllib.parse import quote - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/spaces.py :6
import requests - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/templates.py :4
from urllib.parse import quote - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/users.py :6
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/v2_adapter.py :10
import requests - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/boards.py :6
import requests - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/client.py :8
from requests import Session - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/customer_requests.py :8
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/development.py :6
from requests import RequestException - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/forms.py :6
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/forms_api.py :17
import requests - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/forms_common.py :7
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/issues.py :9
from requests.exceptions import ConnectionError as RequestsConnectionError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/links.py :6
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/search.py :7
import requests - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/sprints.py :7
import requests - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/transitions.py :6
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/users.py :7
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/models/confluence/search.py :8
from urllib.parse import quote - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/preprocessing/base.py :5
import urllib.parse - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/preprocessing/confluence.py :7
from urllib.parse import urlparse - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :11
from urllib.parse import parse_qs, urlsplit - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :12
from requests.exceptions import HTTPError - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/main.py :10
from urllib.parse import urlparse - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/decorators.py :8
import requests - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/http.py :19
from requests import Session - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth.py :15
import urllib.parse - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth_setup.py :17
import urllib.parse - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/proxy.py :9
from urllib.parse import urlsplit - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/ssl.py :8
from urllib.parse import urlparse - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/ssrf_adapter.py :23
import socket - net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/urls.py :6
import socket
secrets 5
- secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/__init__.py :383
os.environ["CONFLUENCE_API_TOKEN"] = confluence_token - secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/config.py :126
api_token = os.getenv("CONFLUENCE_API_TOKEN") - secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/config.py :258
api_token = os.getenv("JIRA_API_TOKEN") - secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/main.py :816
os.getenv("ATLASSIAN_OAUTH_CLIENT_SECRET") - secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth.py :20
import keyring
tool registrations 98
- search sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :188
- get_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :280
- get_page_children sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :409
- get_space_page_tree sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :509
- get_comments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :561
- get_labels sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :593
- add_label sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :626
- create_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :679
- update_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :866
- update_page_section sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1044
- delete_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1146
- move_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1191
- add_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1270
- reply_to_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1321
- get_inline_comments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1374
- add_inline_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1418
- search_user sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1513
- get_page_history sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1600
- get_page_diff sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1680
- get_page_views sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1757
- upload_attachment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1827
- upload_attachments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1969
- get_attachments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2058
- download_attachment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2163
- download_content_attachments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2315
- delete_attachment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2468
- get_page_images sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2522
- list_page_templates sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2686
- get_page_template sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2747
- create_page_from_template sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2782
- get_page_restrictions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2834
- set_page_restrictions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2863
- copy_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2944
- check_content_permissions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :3014
- get_space_permissions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :3078
- get_user_profile sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :259
- search_assignable_users sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :320
- get_issue_watchers sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :440
- add_watcher sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :471
- remove_watcher sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :516
- get_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :567
- search sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :747
- search_fields sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :869
- get_field_options sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :984
- get_project_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1087
- get_transitions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1128
- get_worklog sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1157
- download_attachments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1186
- get_issue_images sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1320
- get_agile_boards sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1452
- get_board_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1509
- get_sprints_from_board sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1589
- get_sprint_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1629
- get_link_types sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1680
- create_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1715
- batch_create_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1829
- batch_get_changelogs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1901
- update_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1982
- assign_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2272
- delete_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2344
- move_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2378
- add_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2450
- edit_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2536
- add_worklog sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2583
- link_to_epic sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2659
- create_issue_link sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2703
- create_remote_issue_link sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2799
- remove_issue_link sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2887
- transition_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2916
- create_sprint sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3002
- update_sprint sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3048
- add_issues_to_sprint sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3109
- move_issues_to_backlog sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3146
- get_project_issue_types sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3180
- get_create_fields sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3224
- get_project_versions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3277
- get_project_components sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3297
- get_all_projects sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3317
- search_projects sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3385
- get_project_fields sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3470
- get_service_desk_for_project sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3519
- get_service_desk_queues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3560
- get_queue_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3606
- get_request_types sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3657
- get_request_type_fields sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3696
- create_customer_request sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3729
- create_version sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3828
- batch_create_versions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3885
- update_version sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3969
- get_issue_proforma_forms sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4042
- get_proforma_form_details sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4097
- update_proforma_form_answers sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4167
- get_issue_dates sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4297
- get_issue_sla sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4354
- get_issue_development_info sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4435
- get_issues_development_info sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4497
- get_project_epic_hierarchy sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4561
- get_cross_project_dependencies sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4610
declared dependencies 3
- anyio@>=4.0.0
- atlassian-python-api@>=4.0.0
- pypac@>=0.17.2