Back to skill

Security audit

Overleaf

Security checks for vulnerabilities and agentic risk

Overview

This Overleaf skill is purpose-aligned, but it asks users to handle a live Overleaf session cookie and installs mutable third-party CLI packages without enough security guidance.

Install only if you trust the publisher and are comfortable giving the CLI access to your Overleaf account and projects. Treat the `overleaf_session2` cookie like a password, avoid pasting it into shell history, do not commit `.olauth`, prefer a restricted environment variable or safer credential storage if available, and pin or independently audit the `olcli` package before using it with sensitive projects.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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

Warning
Location
scripts/install.sh:12
Finding

Unpinned Third-Party Packages Create a Supply-Chain Execution Risk

Content
View full analysis
/dev/null; then echo "Installing olcli via Homebrew..." brew tap aloth/tap brew install olcli echo "✓ Installed olcli $(olcli --version)" exit 0 fi # Fall back to npm if command -v npm &> /dev/null; then echo "Installing olcli via npm..." npm install -g @aloth/olcli echo "✓ Installed olcli $(olcli --version)" exit 0 fi ``` `SKILL.md:16-24`: ```bash ## Installation ```bash # Homebrew (recommended) brew tap aloth/tap && brew install olcli # npm npm install -g @aloth/olcli ``` ``` `README.md:25-39`: ```bash ## Installation ### For agents (via skills CLI) ```bash npx skills add aloth/overleaf-skill ``` ### CLI tool only **Homebrew (macOS/Linux):** ```bash brew tap aloth/tap && brew install olcli ``` **npm (all platforms):** ```bash npm install -g @aloth/olcli ``` ``` ### Technical Analysis The installation paths resolve mutable third-party content at installation time without an exact version, checksum, signature verification, or lockfile: - `brew tap aloth/tap` adds and trusts a custom Homebrew tap. - `brew install olcli` installs whatever formula version that tap currently supplies. - `npm install -g @aloth/olcli` installs the current package release globally and may execute package lifecycle scripts. - `npx skills add aloth/overleaf-skill` may dynamically retrieve and execute package-manager tooling and then install mutable Skill content. The audited project does not include the implementation of `olcli`, so the executable's runtime behavior cannot be verified from this artifact. There is no evidence that the currently referenced packages are malicious; the vulnerabi ...[truncated 1542 chars]
Remediation
View remediation
``` 2. Where possible, verify the package tarball against a published SHA-256 digest or cryptographic signature before installation. 3. Pin Homebrew installation to an immutable, reviewed formula revision or distribute a versioned bottle with checksum verification. 4. Avoid `npx` for security-sensitive bootstrap operations unless the executed package and version are explicitly pinned. 5. Publish and verify package provenance, such as npm provenance attestations and signed release artifacts. 6. Use a lockfile and dependency review process for any vendored or locally installed implementation. 7. Prefer a project-local or isolated installation over a global npm installation to reduce the affected scope. 8. Audit the separately distributed `@aloth/olcli` implementation, including its lifecycle scripts and transitive dependencies, before recommending it for sensitive Overleaf accounts. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:26
Finding

Overleaf Session Cookie Is Passed Through Command-Line Arguments

Content
View full analysis
Remediation
View remediation
"` and replace them with the secure interactive workflow. 5. If a credential file must be supported: - Store it outside project directories. - Create it with user-only permissions, such as mode `0600`. - Reject files with unsafe ownership or permissions. - Avoid the current directory `.olauth` source unless explicitly enabled, because project files may be copied, archived, or committed. 6. Warn users to revoke and regenerate any session cookie previously entered on a command line. 7. Ensure logout removes locally stored credentials and document how to invalidate the corresponding server-side Overleaf session. 8. Redact cookie values from logs, errors, debug output, telemetry, and diagnostic commands. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README instructs users to authenticate with a raw session cookie (olcli auth --cookie "SESSION_COOKIE") without clearly warning that this is a highly sensitive credential equivalent to an authenticated browser session. Users may paste live cookies into shell history, logs, screenshots, or shared terminals, enabling account takeover of their Overleaf projects if the cookie is exposed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill instructs users to extract and paste a live Overleaf session cookie (overleaf_session2) into a CLI, but it does not explicitly warn that this cookie is a bearer credential that can grant full account access to anyone who obtains it. Encouraging manual handling of a live session token increases the risk of accidental disclosure through shell history, screenshots, logs, clipboard managers, or copied command transcripts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation instructs users to retrieve and persist a live Overleaf session cookie, which is effectively a bearer token that can grant account access to anyone who obtains it. It also recommends multiple storage locations, including a local plaintext file and global config, without warning about sensitivity, secure handling, scope of access, or cleanup, increasing the chance of credential leakage through shell history, repo commits, backups, or multi-user systems.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.