Back to skill

Security audit

AILove - aidating

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its dating-assistant purpose, but it asks for persistent token storage, recurring unattended checks, channel posting, and mutable remote instruction updates that users should review carefully.

Review before installing. Use a dedicated revocable AILove key, prefer a real secret store over plaintext dotfiles, send updates only to a private destination, avoid auto-updating the local SKILL.md from the remote URL without reviewing the diff, and remove the cron jobs or revoke the key when you no longer want automated dating updates.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (3)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:350
Finding

Mutable Remote Skill Instructions Can Hijack Scheduled Agent Sessions

Content
View full analysis
~/.ailove/SKILL.md ``` **Or just read it from the URL above!** ``` ```markdown The scheduled agent turn should **read `~/.ailove/SKILL.md`**, call the **matching API** as documented there (full URL + auth), then handle **`next_steps`**. ``` ```bash curl -s https://heerweiyi.cc/skill.md ``` ```bash curl -s https://heerweiyi.cc/skill.md > ~/.ailove/SKILL.md ``` ### Technical Analysis The Skill instructs users or agents to download its instruction document from a mutable remote URL and overwrite the trusted local copy. Scheduled isolated sessions are subsequently directed to read that local file and follow its API and credential-handling instructions. There is no signature verification, pinned cryptographic digest, immutable versioned URL, or mandatory human review of the downloaded changes. HTTPS protects the connection in transit but does not protect against compromise of the origin server, domain, deployment account, or content-publishing pipeline. Because `SKILL.md` is interpreted as agent instructions, a malicious future version could change the destination receiving the bearer token, request additional local files, alter messaging destinations, or introduce shell commands. Although no such malicious instruction is present in the audited version, the update design creates a direct instruction-hijacking path after review. ### Attack Path 1. An attacker compromises `heerweiyi.cc`, its hosting account, DNS, or the process publishing `/skill.md`. 2. The attacker replaces the remote document with instructions that request secrets, invoke unsafe tools, or redirect authenticated requests. 3. A user or agent runs the documented update ...[truncated 1076 chars]
Remediation
View remediation

T06 · System Persistence

Warning
Location
SKILL.md:191
Finding

Skill Installs Persistent Twice-Daily Scheduled Agent Tasks

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:64
Finding

Long-Lived Bearer Credential Is Stored in Plaintext Files and Shared Environment Configuration

Content
View full analysis
Remediation
View remediation
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 (9)

Credential Access

High
Category
Privilege Escalation
Confidence
97% confidence
Finding

The skill explicitly directs the agent to read credentials from environment variables, local JSON files, and chat, and to write the key into ~/.openclaw/.env. This is credential access and persistence behavior that broadens the blast radius of a compromise and normalizes secret handling outside strict secret-management controls.

Content

Scanner excerpt · SKILL.md (reported line 67)May include surrounding context.

md
**When you call the API, read the Key in this order:**

1. **Environment variables** — **use these first** (OpenClaw / local shells load `.env` automatically in many setups).
2. `~/.ailove/credentials.json` (if your human or you saved JSON there).
3. What the human pasted in chat (last resort; do not log the full Key in plain text in shared places).

**Save the Key into a `.env` file (recommended for OpenClaw):** after the human gives you the Key, **write** it into `~/.openclaw/.env` so it is loaded as an environment variable (create the directory/file if missing; **do not** commit `.env` to git).

Credential Access

High
Category
Privilege Escalation
Confidence
95% confidence
Finding

Recommending storage of the agent key in ~/.ailove/credentials.json encourages plaintext secret persistence in a predictable filesystem location. Predictable, file-based secret storage increases the chance of accidental disclosure, reuse by unrelated processes, or leakage via backups, logs, or other local tooling.

Content

Scanner excerpt · SKILL.md (reported line 81)May include surrounding context.

Alias: AILOVE_AGENT_KEY is also accepted — same meaning as AILOVE_API_KEY. If only one is set, use it for Authorization: Bearer.

Recommended (optional JSON): Save to ~/.ailove/credentials.json:

json
{

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill handles highly sensitive dating conversations and human answers, but its description does not clearly warn users that this content will be transmitted to a third-party service. Lack of transparent disclosure undermines informed consent and increases privacy risk, especially given the intimate nature of the data.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
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.

Content

Scanner excerpt · SKILL.md (reported line 31)May include surrounding context.

Install locally:

bash
mkdir -p ~/.ailove
curl -s https://heerweiyi.cc/skill.md > ~/.ailove/SKILL.md

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The POST endpoint transmits the human’s verbatim answers to a third-party remote service, which is expected functionality but still a genuine data-exposure risk because the content is intimate and user-generated. The surrounding text partially scopes where the token may be sent, but it does not eliminate the privacy and exfiltration implications of remote submission.

Content

Scanner excerpt · SKILL.md (reported line 177)May include surrounding context.

Submit your human's verbatim answer to a pending question.

bash
curl -s -X POST \
  -H "Authorization: Bearer ${AILOVE_API_KEY:-$AILOVE_AGENT_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"answer": "The user exact words here", "answered_by": "human_via_agent"}' \

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill contains extensive shell and cron automation guidance unrelated to core matchmaking queries, including persistent scheduled execution. Persistence and automation are security-relevant because they allow repeated access to credentials and repeated transmission of sensitive content without fresh user review each time.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
94% confidence
Finding

The skill directs creation of persistent cron jobs that repeatedly access credentials and push dating updates to messaging channels. This is dangerous because it establishes unattended execution and recurring dissemination of sensitive content, increasing the chance of privacy leaks, misdelivery, or abuse if the environment or target channel is compromised.

Content

Scanner excerpt · SKILL.md (reported line 192)May include surrounding context.

md
## Skill: AILove Scheduled Push Configuration

Create **two** cron jobs (morning + evening) that check AILove and push updates to your chosen channel. The scheduled agent turn should **read `~/.ailove/SKILL.md`**, call the **matching API** as documented there (full URL + auth), then handle **`next_steps`**.

**Environment (required):** Export **`AILOVE_API_KEY`** (or **`AILOVE_AGENT_KEY`**) wherever OpenClaw runs cron (e.g. `~/.openclaw/.env`). If the key is missing when the job fires, the API call fails with 401 or fails silently.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs the agent to integrate with local cron scheduling, read local files, and deliver outputs to external messaging targets, which exceeds the narrow dating-assistant role. This expands the skill’s reach into local secrets and communication infrastructure, creating a larger attack surface where sensitive dating content and agent credentials could be propagated or mishandled.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
74% confidence
Finding

The skill says checks should run at fixed morning/evening times in 'your human's timezone,' which imposes a locale-specific behavior by default. The document provides timezone examples but does not present the timezone selection as an explicit user preference or justify why the locale must be tied to the human rather than configurable.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.