Back to skill

Security audit

Edithai

Security checks for vulnerabilities and agentic risk

Overview

EdithAI is purpose-aligned as a log-analysis skill, but it asks users to install an unpinned global third-party CLI that will handle sensitive logs, an API key, file access, and diagnostic commands.

Install only if you are comfortable trusting the external npm CLI and DeepSeek with the logs you choose to analyze. Prefer a pinned and reviewed CLI version, avoid running installation or analysis with administrative privileges, redact secrets before analysis, use a narrowly scoped API key, and review or clear `~/.edithai/history.json` when working with sensitive incidents.

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

Error
Location
SKILL.md:45
Finding
Unpinned Global Installation of an Unaudited Third-Party CLI Package<![CDATA[ ## Vulnerability Details **File Locations**: - `SKILL.md:45-48` - `INSTALL.md:14` - `README.md:15-18` **Vulnerability Type**: Unpinned and unaudited third-party dependency installed globally **Risk Level**: High ### Vulnerable Code Snippets `SKILL.md:45-48`: ```markdown ### Install EdithAI CLI First, install the EdithAI CLI tool: ```bash npm install -g @xin9min9/edithai-cli ``` ``` `INSTALL.md:14`: ```markdown 3. Install EdithAI CLI: `npm install -g @xin9min9/edithai-cli` ``` `README.md:15-18`: ```markdown 3. **Install EdithAI CLI**: ```bash npm install -g @xin9min9/edithai-cli ``` ``` ### Technical Analysis The project instructs users to install `@xin9min9/edithai-cli` from the npm registry without specifying an exact version or validating the package through a lockfile or integrity hash. The package is installed globally, but its source code is not included in the audited artifact. The audit therefore cannot verify its implementation, transitive dependencies, npm lifecycle scripts, or claimed security controls. Without an exact version constraint, the command resolves to whichever package release npm currently selects. A future malicious or compromised release could consequently be installed without any modification to this skill. npm packages may execute lifecycle scripts during installation, and the resulting CLI executes with the privileges of the installing or invoking user. The potential exposure is increased by the documented capabilities of the external CLI. It is expected to receive `DEEPSEEK_API_KEY`, read and write files, inspect logs, run diagnostic commands, examine processes and network connections, and retain conversation history. Although the documentation claims that command restrictions and path protections exist, those controls cannot be verified because the implementation is absent. This finding does not establish that the current npm package is malicious. It establishes that the documented installation process ...[truncated 2141 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. **Pin an exact reviewed version** Replace the floating installation command with an exact package version, for example: ```bash npm install --global --ignore-scripts @xin9min9/edithai-cli@<reviewed-version> ``` The selected version must be independently reviewed before publication of the skill. 2. **Verify package integrity** Record and verify the expected npm integrity digest or package tarball checksum. Automate verification in the installation process so installation fails if package contents change. 3. **Vendor or include the implementation** Include the executable source and dependency manifests in the audited artifact, or reference an immutable source commit and reproducible build instructions. This permits review of command execution, file access, API communication, and security controls. 4. **Avoid global installation** Prefer a project-local dependency with a committed lockfile, or execute the tool from a dedicated isolated environment. Do not recommend `sudo npm install -g`. 5. **Control lifecycle scripts** Use `--ignore-scripts` where package functionality permits. If lifecycle scripts are required, audit each script and all code it invokes before installation. 6. **Lock transitive dependencies** Commit a lockfile with integrity metadata and use a deterministic installation command such as `npm ci`. Continuously scan direct and transitive dependencies for compromise and known vulnerabilities. 7. **Apply runtime isolation** Run the CLI in a container or sandbox with: - Read-only access to explicitly selected log files. - No access to unrelated home-directory or system files. - A minimal environment containing only required credentials. - Restricted outbound network access limited to the expected API endpoint. - No administrative privileges. - Command execution disabled unless explicitly necessary. 8. **Reduce credential exposure** Use a narrowly scoped API ...[truncated 423 chars]
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
edithai -query "show unusual file access patterns outside business hours"

# Privilege escalation detection
edithai -query "detect any sudo or elevation attempts in auth logs"
```

### 3. Performance Optimization
Confidence
70% confidence
Finding
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The guide instructs users to configure a DeepSeek API key and use a remote AI service, but it does not warn that prompts, log contents, or potentially sensitive file data may be transmitted to an external provider. In a log-analysis context, this is significant because logs often contain secrets, tokens, internal hostnames, stack traces, and personal data.

Session Persistence

Medium
Category
Rogue Agent
Content
## Configuration

### Optional Configuration File
Create a configuration file at `~/.edithai/config.json` for custom settings:

```json
{
Confidence
60% confidence
Finding
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Context-Inappropriate Capability

Medium
Confidence
87% confidence
Finding
The manifest describes an intelligent log analysis CLI with file operations, system diagnostics, and log pattern recognition, but this installation guide explicitly introduces configurable command whitelists/blacklists for terminal operations. Executing arbitrary terminal commands is a distinct capability not clearly justified by log analysis itself, and the documentation indicates this is a supported feature rather than an incidental implementation detail.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
This markdown file states that conversation history is stored at `~/.edithai/history.json`, but it does not warn users that their prompts or analysis context may be retained on disk. Because stored history can contain sensitive operational or log data, the documentation should disclose this behavior clearly.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The README promotes AI-powered log analysis via the DeepSeek API but does not clearly warn users that log contents may be transmitted to a third-party service for processing. Logs often contain credentials, tokens, internal hostnames, stack traces, and personal data, so omission of this disclosure can lead users to exfiltrate sensitive information unintentionally.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill prominently advertises DeepSeek-powered log analysis but does not clearly warn users that log contents may be sent off-host to a third-party API. Because logs often contain secrets, tokens, internal hostnames, customer data, or incident details, this omission can cause unintended data exfiltration and privacy/compliance violations.

Session Persistence

Medium
Category
Rogue Agent
Content
edithai -query "find all database connection errors"

# Generate performance report
edithai -query "create performance summary from application logs"
```

### Interactive Mode
Confidence
80% confidence
Finding
The interactive, multi-turn mode combined with a documented history file indicates session persistence of prompts and analysis context. In a log-analysis tool, retained conversation history can store sensitive log excerpts, investigative notes, and credentials copied from logs, increasing exposure on disk and across later sessions.

Missing User Warnings

Low
Confidence
77% confidence
Finding
This markdown file advertises "Write Reports" as a capability, which implies file creation or modification. While the document lists capabilities, it does not clearly warn users that the skill may write output files to disk or affect local data.

Missing User Warnings

Low
Confidence
67% confidence
Finding
The file states that the skill can perform network analysis and includes "DeepSeek cost estimation integration," which may involve external or internal network communication. The description does not disclose whether any user or system data could be transmitted during these operations.

Missing User Warnings

Low
Confidence
86% confidence
Finding
The skill examples and configuration imply report generation and persistent history storage, but the description does not clearly warn that the tool can write local files and retain session artifacts. This can surprise users in sensitive environments where writing reports or histories to disk may leak operational data or violate handling requirements.

Static analysis

No suspicious patterns detected.