Back to skill

Security audit

Grain Crawler Free

Security checks for vulnerabilities and agentic risk

Overview

This skill is mostly a local Granola note-search helper, but it asks the agent to run an unverified local CLI against private meeting data and its documentation is broader than its stated free read-only purpose.

Review this before installing. Only use it if you can independently verify the grain-crawler CLI source and version, and confirm which executable the agent will run. Treat searches and note reads as access to private meeting data, and avoid relying on the documented create/modify/export/import language unless the publisher supplies clear, confirmed safeguards.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:118
Finding

Execution of an Unverified Local CLI Dependency

Content
View full analysis
``` The dependency table at line 253 declares `grain-crawler CLI` as required and states that it is bundled with the Skill or installed according to documentation. However, the audited package contains only `SKILL.md`; it does not include the CLI, installation documentation, a pinned version, a cryptographic checksum, or a signature. ### Technical Analysis The Skill grants command-execution capability and instructs the Agent to invoke `grain-crawler` by its bare executable name. A shell normally resolves such a name through the host's `PATH`. Because the package does not provide a verifiable CLI implementation or identify a pinned and authenticated distribution source, the Agent cannot establish which executable will run. An attacker who controls an earlier `PATH` directory, a local installation location, or the dependency distribution process could provide a malicious executable named `grain-crawler`. This is a supply-chain trust-boundary weakness. The documentation does not itself contain a malicious payload, but it directs the Agent to execute an external component whose identity and integrity cannot be verified from the audited project. ### Attack Path 1. An attacker places a malicious executable named `grain-crawler` in a directory searched before the legitimate installation directory, or distributes a compromised package under that name. 2. A user asks the Agent to search or inspect the local Granola archive. 3. Following `SKILL.md`, the Agent executes a command such as `grain-crawler search ...`. 4. The operating system resolves the attacker-controlled ex ...[truncated 989 chars]
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The capability table marks '转录稿读取' as unavailable in the free edition at L063, but the stated use case at L096 says users can locate discussion fragments across multiple meeting transcripts. That is an active contradiction in the skill's own documentation about what the free version actually supports.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill is presented as a read-focused archival retrieval tool, yet the operational sections advertise create/modify/reset/import/export behaviors without clear boundaries or safeguards. In an agent environment with exec capability, this ambiguity can cause the agent to perform unintended state-changing local actions, potentially altering or exporting user data without informed consent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The documentation describes export/save/modify/reset/import-style operations that could affect local data, but it provides no confirmation workflow, risk warning, or separation between safe reads and mutating actions. In an agentic setting, this creates a realistic risk of accidental data alteration, overwriting local state, or unintended disclosure through export-like behaviors.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Overbroad trigger conditions can cause an agent to invoke this skill for generalized data-analysis tasks outside its documented safety boundaries. Because the skill includes exec access and references command execution, misrouting increases the chance that the agent will run inappropriate local commands or process data in unintended ways.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

该技能的显示名、摘要、描述、使用说明、示例和问答均为中文,文档中未说明是否支持其他语言,也未给出让用户选择输出语言的选项。根据规则,若技能强制特定语言而没有用户选择或合理、明确的地域限定说明,可构成自然语言政策问题。

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The '触发条件' section says the skill should be used for data analysis, report generation, statistical insight, and data visualization. That conflicts with the rest of the manifest, which limits the free edition to local archive search, note detail reading, and freshness checks rather than analytics tooling.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.