Back to skill

Security audit

Linear API引擎(免费版)

Security checks across malware telemetry and agentic risk

Overview

This skill is a plausible Linear integration, but it gives an agent broad live Linear API write capability without enough guardrails for mutations or callbacks.

Review before installing. Use a dedicated low-privilege Linear API key, revoke or rotate it if exposed, and require the agent to show the GraphQL request and get explicit approval before creating, updating, relabeling, assigning, or batch-changing issues. Avoid using callback_url unless you fully trust the destination and know what data will be sent.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Vague Triggers

Medium
Confidence
79% confidence
Finding
The description is excessively broad and repeatedly claims suitability for generic development scenarios, which can cause an agent to invoke the skill outside narrowly intended Linear use cases. In an agent environment with exec and write capabilities, over-broad routing increases the chance of unnecessary external calls and unintended project modifications.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill advertises create, update, batch, workflow, and automation operations but does not prominently warn that these actions can modify live Linear data. In a tool-using agent, this omission can lead to destructive or unintended writes against production project-management resources.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
Documenting a callback_url input without privacy or outbound-network restrictions creates a pathway for sending task results or metadata to arbitrary external destinations. In an agent context, this can enable data exfiltration, SSRF-like behavior, or disclosure of sensitive project information to attacker-controlled endpoints.

External Transmission

Medium
Category
Data Exfiltration
Content
| curl | 命令行工具 | 必需 | 系统自带或安装,用于执行 GraphQL 请求 |

### 可用性分类
- **分类**: MD+EXEC(Markdown 指令驱动,需 exec 执行 curl 命令调用 GraphQL API)
- **说明**: 基于自然语言指令驱动 Agent 执行 Linear Issue 管理、Cycle 规划与查询

**API Key配置方式**:
Confidence
96% confidence
Finding
curl 命令调用 GraphQL API) - **说明**: 基于自然语言指令驱动 Agent 执行 Linear Issue 管理、Cycle 规划与查询 **API Key配置方式**: ```bash export API_KEY=${API_KEY:?请设置环境变量} ``` 配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统. ## 核心能力 ##

External Transmission

Medium
Category
Data Exfiltration
Content
### 运行环境
- **Agent 平台**: 支持 SKILL.md 的任意 AI Agent(Claude Code / Cursor / Codex / Gemini CLI 等)
- **操作系统**: Windows / macOS / Linux
- **网络**: 需可访问 Linear API(https://api.linear.app/graphql)

### 依赖项
| 依赖项 | 类型 | 是否必需 | 获取方式 |
Confidence
90% confidence
Finding
https://api.linear.app/

External Transmission

Medium
Category
Data Exfiltration
Content
1. 获取API Key(Linear Settings → API → Personal API keys)
2. 确定团队ID和项目ID
3. 构造GraphQL query/mutation
4. 通过curl发送请求到 `https://api.linear.app/graphql`
5. 解析JSON响应并格式化输出

#
Confidence
92% confidence
Finding
https://api.linear.app/

External Transmission

Medium
Category
Data Exfiltration
Content
### Q1: 如何获取Linear API Key?
登录Linear,进入Settings → API → Personal API keys,点击"Create key",输入标签名后复制Key。使用时放在请求头:`-H "Authorization: lin_api_key"`(注意:Linear API Key直接作为Authorization值,不需要"Bearer"前缀)。Key不会过期但可以随时撤销。建议为不同用途创建不同的Key(如自动化脚本用独立Key).
### Q2: Linear的GraphQL API和REST API有什么区别?
Linear主要使用GraphQL API(`https://api.linear.app/graphql`),所有操作通过POST请求发送query/mutation。优势:可以精确指定返回字段(避免over-fetching),单次请求可查询关联数据(Issue+Assignee+Team+Labels)。Linear没有独立的REST API文档,GraphQL是官方推荐方式。对于不熟悉GraphQL的用户,可以在Linear的API Playground(https://api.linear.app)交互式测试query.
### Q3: 如何处理GraphQL的分页查询?
Linear使用Relay风格的分页(cursor-based)。查询时使用`first`参数限制数量(默认50,最大100),返回`pageInfo.hasNextPage`和`pageInfo.endCursor`。翻页时传入`after: "endCursor值"`。示例:`issues(first: 100, after: "cursor-xyz") { nodes { id title } pageInfo { hasNextPage endCursor } }`。遍历所有结果时循环请求直到`hasNextPage`为false.
## 已知限制
Confidence
88% confidence
Finding
https://api.linear.app/

VirusTotal

61/61 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.