Back to skill

Security audit

Firefly AI

Security checks for vulnerabilities and agentic risk

Overview

This skill appears purpose-built for Fireflies meeting retrieval, but it can expose sensitive meeting transcripts and participant data with broad activation and limited privacy guardrails.

Install only if you want agents to access Fireflies meeting data using FIREFLY_API_KEY. Treat outputs as sensitive: full transcripts, summaries, participant names, and related metadata may appear in terminal output or saved workspace files. Prefer explicit user confirmation before transcript retrieval and avoid broad custom GraphQL queries unless the requested fields are necessary.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 20)May include surrounding context.

md
Run the script at `scripts/firefly.cjs` with Node.js:

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 23)May include surrounding context.

md
Run the script at `scripts/firefly.cjs` with Node.js:

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill requires access to an environment secret (FIREFLY_API_KEY) and invokes code, but it does not declare any explicit tool scope or permissions boundary. That makes the secret-accessing capability implicit rather than reviewable, increasing the chance of unintended execution paths or over-privileged use in agent environments.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger language is broad enough to activate on generic requests about meetings, notes, summaries, or action items, which may cause the agent to use this integration when the user did not intend to access Firefly data. In this context, accidental activation is risky because it can expose sensitive meeting transcripts and summaries from an external service.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The setup and usage instructions describe pulling transcripts, summaries, and action items from Firefly without any explicit warning that the data may be highly sensitive and will be retrieved from a third-party API. Because meeting records commonly contain confidential business or personal information, failing to signal that risk can lead to unintentional disclosure or inappropriate handling.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 41)May include surrounding context.

md
# Firefly AI API Reference

## Endpoint
- GraphQL: `https://api.fireflies.ai/graphql`
- Auth: `Authorization: Bearer <API_KEY>`

## Key Queries

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api.md (reported line 4)May include surrounding context.

md
# Firefly AI API Reference

## Endpoint
- GraphQL: `https://api.fireflies.ai/graphql`
- Auth: `Authorization: Bearer <API_KEY>`

## Key Queries

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The reference explicitly exposes highly sensitive meeting content and participant data, including full transcript text, attendee emails/phone numbers, attendance times, and media links, but provides no privacy constraints, consent expectations, or guidance on minimizing data access. In a meeting-assistant skill, this increases the risk of over-collection, unauthorized disclosure, and misuse of confidential business or personal communications.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The script reads the sensitive FIREFLY_API_KEY environment variable and uses it to make authenticated HTTPS requests that retrieve meeting metadata and content. While the environment variable requirement is stated, there is no warning about credential use or that meeting data is being transmitted to and from an external service.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This code fetches full meeting transcript content, participant names, and speaker-attributed sentences from a remote API and prints them directly to stdout. Although the file has usage comments, it does not include any warning or disclosure that sensitive meeting content and participant data will be retrieved and exposed in terminal output.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.