Back to skill

Security audit

fulcra-tracking

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent for Fulcra tracking, but it asks agents to run an unpinned external CLI for authentication and data changes, and some agent-visibility/personalization instructions are too broad.

Install only if you are comfortable with an agent using the Fulcra CLI to authenticate, create schemas, record, fetch, and delete Fulcra data. Prefer pinning or pre-approving a specific `fulcra-api` version before use, and require explicit approval before logging agent activity, using memory/chat history for personalization, or deleting records.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (2)

T08 · Insecure Dependencies

Error
Location
references/fulcra-tracking-cli.md:3
Finding

Unpinned Third-Party CLI Package Is Downloaded and Executed

Content
View full analysis
--poll-timeout=5` to complete the login process. ``` The same unpinned invocation pattern also appears throughout the document, including line 25: ```bash uv tool run fulcra-api --help ``` ### Technical Analysis The Skill instructs the agent to execute `fulcra-api` through `uv tool run` without specifying an audited version, artifact hash, lockfile, trusted package index, or other integrity constraint. Consequently, the package artifact selected at runtime may differ from the artifact that existed when the Skill was reviewed. Package runners generally resolve and install the requested package before invoking its entry point. A compromised publisher account, package repository compromise, malicious replacement release, dependency compromise, or unsafe package-index configuration could therefore introduce attacker-controlled executable code. This exposure is particularly significant because the CLI participates in authentication and processes Fulcra records. A malicious package would execute with the operating-system privileges of the agent process and could potentially access environment variables, accessible files, authentication material, command arguments, and user data processed during the run. ### Attack Path 1. An attacker c ...[truncated 1427 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
references/fulcra-tracking-usecases.md:56
Finding

Unnecessary Access to Persistent User Context for Suggestion Personalization

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (26)

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The skill repeatedly instructs use of uv tool run fulcra-api without pinning a specific package version or immutable source. That means execution behavior can change over time or be replaced upstream, creating a supply-chain risk where an agent may fetch and run unreviewed code during normal use.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

This command invokes fulcra-api through uv tool run without a pinned version, so an agent following the documentation may download and execute whatever current release is served upstream. In an agent skill context, that converts documentation into a runtime supply-chain trust decision with no integrity lock.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The unpinned uv tool run fulcra-api login completion command allows arbitrary future package updates to alter authentication behavior or exfiltrate credentials/device codes. Because this command is used in an auth flow, compromise here is particularly sensitive.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

Even though this is a help command, uv tool run fulcra-api --help still requires resolving and executing the tool package, so an unpinned dependency can still trigger execution of unexpected code. Documentation that normalizes unpinned execution increases supply-chain exposure across all users of the skill.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill metadata says it allows recording custom annotations and generating simple dashboards, but the body also authorizes creation of remote schemas and deletion/correction of remote records. This scope expansion matters because agents may perform higher-risk remote mutations than a user would reasonably infer from the skill description.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The data-type creation command uses an unpinned remote CLI, so a malicious or compromised upstream release could create unauthorized resources, capture prompts, or manipulate returned schema IDs. Since the command performs remote state changes, the risk is not merely theoretical.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The base-type discovery command is unpinned, exposing users to upstream code changes or compromise whenever they enumerate available types. While read-oriented, it still executes downloaded code and can influence later user actions.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

This example creates a remote annotation type through an unpinned package, allowing unreviewed upstream code to execute in a write-capable workflow. In practice, that could lead to unauthorized remote operations or tampered outputs consumed by the agent.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

This Boolean annotation creation example uses an unpinned CLI in a state-changing operation. If the upstream package is altered, the agent may execute malicious code while believing it is performing a routine schema creation task.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The numeric annotation creation example relies on unversioned package execution, which is dangerous because it combines remote code retrieval with a command that mutates remote state. This creates a supply-chain path to unauthorized actions or data manipulation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

This scale annotation creation example again executes an unpinned CLI, preserving the same supply-chain and remote-action risks. Repetition throughout the document makes unsafe execution the default operating model.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

Listing user-created schemas via an unpinned package still exposes the environment to arbitrary behavior changes or malicious code from upstream. While less severe than write operations, it remains unsafe in an agent automation context.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

Schema introspection is documented with an unpinned CLI, which can produce misleading field definitions or execute malicious code before later record operations. In chained agent workflows, poisoned introspection can influence all subsequent writes.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The document explicitly exempts agent self-activity logging from user confirmation, allowing the agent to transmit data about its own actions to a remote service without case-by-case consent. In a tracking skill, this weakens the user's control over what is sent externally and can normalize covert or overly broad telemetry.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The primary record command transmits user data to a remote service through an unpinned CLI, creating both supply-chain and sensitive-data exposure risk. A compromised release could alter, exfiltrate, or misroute the data while appearing to function normally.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This example records scale data via an unpinned CLI, so the command may execute unexpected upstream code while handling user notes and values. Because the action sends potentially sensitive personal tracking information, the impact of tool compromise is elevated.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The moment annotation example uses unversioned package execution for a remote write path. Even if the payload looks simple, the tool could be changed upstream to capture or misuse metadata and account context.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This numeric recording example handles concrete user measurements through an unpinned CLI, exposing sensitive data and remote account actions to supply-chain compromise. In agent-driven workflows, users may not notice silent behavior changes across releases.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The boolean recording example again uses an unpinned remote CLI in a data-submission path. The combination of remote execution and personal habit/health-style tracking makes this materially risky if the dependency is tampered with.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The duration recording example passes structured timestamps through an unpinned CLI, allowing a compromised package to intercept or alter event timing data or perform additional unauthorized actions. Because this is a write operation with potentially sensitive behavioral data, the risk is elevated.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

Deletion is a destructive operation, and documenting it via an unpinned uv tool run fulcra-api command means compromised upstream code could delete additional records or mis-handle identifiers. This raises the impact above simple read-only usage.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

Fetching records via an unpinned CLI is still a supply-chain risk because the tool executes while accessing remote account data. Although this example is read-only, it can expose sensitive historical tracking data if the dependency is compromised.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

This fetch example uses an unpinned CLI to access user tracking history, so it carries the same upstream code execution risk as other invocations. The data accessed may be sensitive enough to make even read-only compromise harmful.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The monthly walk-record retrieval example executes unpinned upstream code in order to access account data. Even though the command is read-focused, it normalizes unsafe package execution and can expose personal activity logs.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

This final record-retrieval example again relies on an unpinned CLI, which remains a true supply-chain vulnerability despite being framed as a simple query. Repetition across the document increases the likelihood that agents will adopt this unsafe pattern broadly.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.