Back to skill

Security audit

Back to the Chronicle

Security checks across malware telemetry and agentic risk

Overview

This skill is a disclosed local-history reconstruction workflow with sensitive but purpose-aligned repository and session-log access, plus manual write steps that require approval.

Install and run this only for projects and session stores you are willing to let the agent inspect. Prefer pinned or reviewed installer versions, keep inventory and manifest outputs private, and do not approve Chronicle appends, commits, pushes, publication, or broad home-directory session scans unless that exact scope is intended.

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 (2)

T08 · Insecure Dependencies

Warning
Location
README.md:19
Finding
Unpinned npx Package Execution in Installation Instructions## Vulnerability Details **File Location**: `README.md:19-23` **Vulnerability Type**: Supply-chain exposure through execution of an unpinned package **Risk Level**: Medium **Vulnerable Code**: ```sh With the Agent Skills CLI: npx skills add AntreasAntoniou/back-to-the-chronicle --skill back-to-the-chronicle ``` ### Technical Analysis The documented installation command invokes the `skills` package through `npx` without specifying an immutable version or integrity constraint. If the package is not already available locally, `npx` can retrieve and execute its current published version. Consequently, the code executed during installation may differ from the code reviewed during this audit. This is a supply-chain trust issue rather than evidence that the package is currently malicious. A compromised package release, maintainer account, or transitive dependency could introduce arbitrary executable behavior. ### Attack Path 1. An attacker compromises the upstream `skills` package, its publishing account, or a dependency used by a subsequently published release. 2. The attacker publishes a malicious version under the same expected package identity. 3. A user follows the documented unversioned `npx skills add ...` command. 4. `npx` retrieves the mutable current release and executes it. 5. Malicious package code runs with the privileges and environment of the installing user. ### Impact Assessment Successful exploitation could execute arbitrary code with the installing user's privileges. Depending on the host environment, this could expose files accessible to that user, agent configuration, environment variables, project data, session stores, and credentials. It could also modify the user's Skill installation or other user-writable files. The command does not request administrator privileges, so its direct scope is normally limited to the invoking user's permissions. No evidence was found that the audited project itself p ...[truncated 20 chars]
Remediation
## Remediation Suggestions - Pin the Agent Skills CLI to a specifically reviewed version, such as `npx skills@<reviewed-version> ...`. - Use an exact version rather than a mutable range or distribution tag. - Document the expected package publisher and package registry. - Where supported, verify the downloaded package against a published integrity hash, lockfile, signature, or provenance attestation. - Recommend downloading and inspecting the package before execution in sensitive environments. - Run installation with the minimum necessary user privileges and without unrelated secrets in the process environment.

T08 · Insecure Dependencies

Warning
Location
references/chronicle-compatibility.md:7
Finding
Chronicle Installed from an Unpinned Git Default Branch## Vulnerability Details **File Location**: `references/chronicle-compatibility.md:7-8` **Vulnerability Type**: Mutable remote Git dependency **Risk Level**: Medium **Vulnerable Code**: ```text After separate installation approval, its documented install command is: `pipx install 'git+https://github.com/AntreasAntoniou/chronicle.git'`. ``` ### Technical Analysis The optional Chronicle dependency is installed directly from a Git repository without an immutable commit hash or signed release tag. The command therefore resolves the repository's default branch at installation time, allowing the installed code to change after this Skill has been audited. Python package installation can execute build-backend or packaging logic, and the installed Chronicle application will execute its runtime code when subsequently invoked. A compromise of the upstream repository, maintainer account, or mutable branch could therefore turn this documented command into a remote code execution path. The documentation requires separate installation approval and states that Chronicle is optional. These controls reduce exposure but do not establish the integrity of the retrieved revision. ### Attack Path 1. An attacker compromises the Chronicle repository, a maintainer account, or the repository's default branch. 2. The attacker commits malicious packaging, build, or runtime code. 3. A user separately approves installation and runs the documented `pipx install` command. 4. `pipx` clones the current mutable repository state and builds or installs it. 5. Malicious code executes during installation or when the resulting `chron` command is invoked. ### Impact Assessment Exploitation could execute arbitrary code under the account running `pipx`. This may permit access to user-readable project files, private Chronicle ledgers, Git repositories, session metadata, environment variables, and other credentials available to that account. The installed app ...[truncated 313 chars]
Remediation
## Remediation Suggestions - Pin the dependency to a reviewed immutable commit, for example: ```sh pipx install 'git+https://github.com/AntreasAntoniou/chronicle.git@<full-commit-sha>' ``` - Prefer a signed, versioned release distributed through a trusted package index when available. - Publish the expected commit hash and instructions for verifying its signature or provenance. - Review packaging metadata, build-system dependencies, and transitive dependencies for the pinned revision. - Use an isolated, least-privileged environment for installation and initial validation. - Re-audit and deliberately update the pinned revision rather than following the default branch automatically.
Vulnerability Patterns
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (1)

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill instructs the agent to read repositories, scan approved session stores, create private inventory files, validate manifests, and potentially append Chronicle entries via shell commands, but it declares no explicit permissions. That mismatch is a real security issue because operators and policy layers may underestimate the skill's ability to access files, environment data, invoke commands, and write outputs, increasing the chance of overbroad execution or accidental data exposure.

VirusTotal

62/62 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.