T09 · Insecure Skill Coding Practices
- Location
jira_task_creator.py:141- Finding
Jira bearer token and sensitive Jira data can be transmitted over plaintext HTTP
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Jira automation skill is purpose-aligned, but it can send a Jira bearer token and issue or user data to any configured URL, including plaintext HTTP, while performing real Jira write actions without clear safeguards.
Review before installing. Use only an HTTPS Jira URL you control, use a least-privilege Jira token, rotate any token used over HTTP, and avoid bulk or natural-language issue creation unless you add a preview and confirmation step. Treat every successful call as a real Jira write operation.
jira_task_creator.py:141Jira bearer token and sensitive Jira data can be transmitted over plaintext HTTP
package.json:48Python dependencies are not reproducibly pinned or hash-verified
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
}
try:
response = requests.get(url, headers=headers, params=params, timeout=30)
if response.status_code == 200:
users = response.json()
if users and len(users) > 0:
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
}
try:
response = requests.post(url, headers=headers, json=issue_data, timeout=30)
print(f"[INFO] Status code: {response.status_code}")
if response.status_code == 201:
This markdown file documents setting a sensitive environment variable (JIRA_BEARER_TOKEN) and calling create_issue to send task data to a Jira server, but it provides no warning about transmitting project content to an external system or safeguarding credentials. For markdown files, omissions around behaviors affecting privacy or system integrity should be flagged when the skill description lacks warnings.
The documentation advertises CSV-based bulk task creation and templates that can modify Jira data at scale, but it does not warn users about the operational risk of creating many issues unintentionally or with malformed input. In a skill intended to automate Jira actions, omission of safeguards and warnings materially increases the chance of accidental mass changes, project spam, or workflow disruption.
The code hard-codes the due date format with a +08:00 timezone, which can silently create incorrect deadlines for users in other regions. In workflow systems this can lead to missed deadlines, mistaken scheduling, or policy violations when due dates are interpreted differently than intended.
The skill sends summary, description, assignee, due date, and related task content to a remote Jira server without any built-in user-facing notice or consent step. This can cause unintended disclosure of sensitive operational or personal data, especially if the caller assumes the action is local or if the Jira endpoint is externally hosted.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
}
try:
response = requests.post(url, headers=headers, json=issue_data, timeout=30)
print(f"[INFO] Status code: {response.status_code}")
if response.status_code == 201:
The manifest advertises broad natural-language Jira task creation but does not describe any trigger constraints, confirmation requirements, or exclusion conditions before performing a write action. In a skill that creates external tickets, ambiguous natural-language interpretation can cause unintended issue creation, mis-assignment, or misuse of privileged automation against Jira projects.
The skill advertises user search by name, email, and open_id while also requiring a bearer token, yet the manifest provides no privacy guidance, access restrictions, or credential-handling warnings. This can facilitate user enumeration and unsafe handling of sensitive identifiers or authentication material, especially in enterprise Jira environments.
The manifest explicitly supports batch task creation from CSV and templates but provides no warning, rate limit, preview, or approval flow for bulk write operations. This increases the risk of mass accidental or abusive ticket creation, which can disrupt Jira workflows, spam projects, and create operational cleanup burdens at scale.
The skill supports searching users by email and maintaining Feishu-Jira user mappings, but the documentation does not mention privacy implications, data minimization, or access controls around user identity data. This can encourage collection or exposure of personal information beyond what operators expect, especially in enterprise environments where directory data is sensitive.
User search queries are transmitted to Jira without explicit disclosure. While this is part of the feature, names or email addresses entered for lookup may still be sensitive in some environments, making silent transmission a privacy issue.
No suspicious patterns detected.