Back to skill

Security audit

amber

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed local backup tool for Claude and Codex session data, with sensible user-confirmation and privacy warnings.

Use the manual copy or reviewed local script path when possible, keep backup destinations private and encrypted if appropriate, inspect the dry-run JSON before authorizing writes, and avoid the unpinned npx install route unless you accept the network installer supply-chain risk.

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
README.md:5
Finding
Unpinned Network Installer and Mutable Skill Source## Vulnerability Details **File Location**: `README.md:5` **Vulnerability Type**: Unpinned third-party installer and mutable remote dependency **Risk Level**: Medium **Vulnerable Code Snippet**: ```text Install the agent skill with `npx skills add AntreasAntoniou/amber-agent-skill`, copy this folder to your agent's skill directory under the name amber, or use its script standalone. The Python runtime has no third-party dependencies; the optional installer uses Node.js and network access. ``` ### Technical Analysis The documented installation command invokes `npx`, which can retrieve and execute the `skills` npm package through the network. No reviewed package version is specified. The referenced Skill repository is likewise not pinned to an immutable commit, and the documentation provides no checksum or signature with which to verify downloaded content. As a result, the software installed by this command can differ from the files covered by this audit. Compromise of the npm package, package publisher, upstream repository, maintainer credentials, or dependency-resolution infrastructure could cause users to execute or install attacker-controlled content. The audited local Python runtime itself has no third-party dependencies or network execution. This finding is limited to the optional installation procedure documented in the README. ### Attack Path 1. An attacker compromises the npm package used by `npx`, its publisher account, the referenced repository, or another relevant supply-chain component. 2. The attacker publishes a modified package or changes the mutable Skill source to include malicious installation logic, Skill instructions, or scripts. 3. A user follows the documented `npx skills add AntreasAntoniou/amber-agent-skill` command. 4. `npx` retrieves and executes remote package content, and the installer resolves the mutable repository source. 5. The malicious content executes with the invoking user's privileges or ...[truncated 810 chars]
Remediation
## Remediation Suggestions 1. Pin the npm installer to an explicitly reviewed version rather than allowing `npx` to resolve the current release: ```sh npx skills@<reviewed-version> add AntreasAntoniou/amber-agent-skill@<immutable-commit> ``` Use syntax actually supported by the selected installer. 2. Pin the Skill source to an immutable commit hash or signed release tag instead of a mutable repository reference. 3. Publish cryptographic checksums or signatures for release artifacts and document verification before installation. 4. Prefer installation from a locally downloaded and reviewed release artifact. Make the existing manual copy method the recommended security-sensitive installation path. 5. Document that `npx` executes remotely obtained code and advise users not to run the command with administrator or root privileges. 6. Add a reproducible release process, dependency lock data where applicable, protected release credentials, and automated supply-chain scanning. 7. Ensure installation documentation distinguishes the audited local runtime from network-fetched installer and repository content.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Credential Access

High
Category
Privilege Escalation
Content
import shutil
import sys

EXCLUDES = (".credentials.json", "auth.json", "*.credentials.json", "*token*", "*.pem", "*.key", "id_*")
PATHS = (".claude/projects", ".claude/todos", ".claude/history.jsonl",
         ".codex/sessions", ".codex/archived_sessions", ".codex/history.jsonl", ".codex/session_index.jsonl", ".codex/memories")
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
The README instructs users to install the skill via `npx skills add AntreasAntoniou/amber-agent-skill` without pinning an exact package version or immutable source. That exposes users to supply-chain risk: if the referenced package or resolver path changes, a future install could fetch unexpected or malicious code, and `npx` may execute package-provided install logic during acquisition.

Lp3

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding
The skill describes reading local session stores and writing backups to a user-chosen destination, which implies file read and file write capability, but it does not declare any explicit tool scope such as permissions or allowed-tools. That creates an authorization gap: an agent may invoke broader filesystem-capable tools than intended, increasing the chance of overbroad access to sensitive local data or unintended writes during backup operations.

Static analysis

Detected: suspicious.dynamic_code_execution

Dynamic code execution detected.

Critical
Code
suspicious.dynamic_code_execution
Location
tests/test_backup.py:10