T09 · Insecure Skill Coding Practices
- Location
SKILL.md:77- Finding
Jira API Tokens Exposed Through Command-Line Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent Jira helper, but it can change live Jira data and shows API tokens in command-line examples without strong approval or credential-safety guardrails.
Review this skill before installing if it will be used with a real Jira account. Use a dedicated low-privilege Jira token, avoid putting tokens directly in commands or agent-visible logs, restrict the Jira domain and project keys, and require explicit approval before create, update, transition, comment, sprint, or bulk actions.
SKILL.md:77Jira API Tokens Exposed Through Command-Line Arguments
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## 常见问题
### Q1: 如何获取Jira API Token?
登录Atlassian账户(https://id.atlassian.com/manage-profile/security/api-tokens),点击"Create API token",输入标签名后复制Token。使用时配合注册邮箱:`-u "your-email@domain.com:YOUR_API_TOKEN"`。注意Token只显示一次,需妥善保存。Server/Data Center版本使用用户名+密码或Personal Access Token(PAT).
### Q2: Jira Cloud和Server/Data Center的API有什么区别?
Cloud使用`https://your-domain.atlassian.net/rest/api/3/`,认证用邮箱+API Token。Server/DC使用`https://your-jira-server/rest/api/2/`,认证用用户名+密码或PAT。API v3支持Atlassian Document Format(ADF)富文本,v2使用纯文本。如果不需要富文本,v2的API在Cloud上仍可用,但建议迁移到v3。部分敏捷API路径Cloud为`/rest/agile/1.0/`,Server一致.
### Q3: JQL查询结果如何分页?
The skill description is broadly scoped to generic Jira-related development scenarios and reusable workflows without clearly constraining when the agent should invoke it. In an agent ecosystem, this can cause over-activation and lead the skill to handle tasks involving live Jira operations even when the user did not explicitly request remote project changes.
The markdown promotes issue creation, updates, sprint planning, board changes, and workflow automation against a live Jira instance but does not prominently warn that these actions modify remote production/project data. In an agent context, that omission increases the chance of unintended writes, workflow transitions, or bulk project changes being performed automatically.
This example performs authenticated outbound requests to a third-party Jira service and includes write operations such as creating issues. While expected for a Jira integration, external transmission combined with agent tooling can expose sensitive project data or trigger unintended remote changes if user inputs, credentials, or targets are not strictly controlled.
# 创建问题
curl -X POST "https://your-domain.atlassian.net/rest/api/3/issue" \
-u "email@example.com:API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
No suspicious patterns detected.