Back to skill

Security audit

Grupo Venus

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent astrology integration, but it persistently stores and externally sends detailed birth profiles without enough consent, deletion, or retention controls.

Install only if you are comfortable storing birth profiles locally and sending them to the unofficial third-party site grupovenus.com. Prefer aliases over full names, avoid entering other people without permission, and manually remove ~/.openclaw/workspace/memory/grupo-venus.json when you no longer want profiles retained.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
skill.md:22
Finding

Persistent Plaintext Storage of Sensitive Personal Data

Content
View full analysis
"How would you like me to read your chart? > - **Casual** — like a friend who knows astrology, no technical jargon > - **Deep** — full aspects, houses, and timing > - **Practical** — straight to the point: what to do and when" Save the chosen style to their record in memory, then immediately: ``` ### Technical Analysis The skill directs the agent to persist names, exact birth dates and times, sex, birth locations, coordinates, and preferences in a plaintext JSON file. In combination, these fields constitute sensitive and potentially identifying personal information. No instructions require restrictive file permissions, encryption, data minimization, explicit consent for cross-session retention, expiration, deletion, or isolation from other skills. The instruction to load the file before every operation may also expose records unrelated to the c ...[truncated 1494 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
skill.md:79
Finding

Session Cookie Jar Is Not Removed After Registration

Content
View full analysis
/dev/null # 2b. Load the registration form (sets server-side session state) curl -s -c "$COOKIEJAR" -b "$COOKIEJAR" "https://grupovenus.com/personas.asp?nue" \ -H "User-Agent: Mozilla/5.0" \ -H "Referer: https://grupovenus.com/info.asp" > /dev/null # 2c. POST the person data (Referer header is required) # IMPORTANT: city names with accents must be encoded in iso-8859-1, NOT UTF-8. # e.g. "Bahía Blanca" → "Bah%EDa+Blanca" (%ED = í in Latin-1, NOT %C3%AD which is UTF-8) # If the city is not recognized, the server silently assigns wrong/default coordinates. # Verify by checking that the city and country fields are non-empty in the d0 cookie response. curl -s -c "$COOKIEJAR" -b "$COOKIEJAR" -X POST "https://grupovenus.com/ciuda.asp" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "User-Agent: Mozilla/5.0" \ -H "Referer: https://grupovenus.com/personas.asp?nue" \ --data "urldestino=personas.asp%3Fok&nombre=NAME&DIA=DD&MES=MM&ANO=YYYY&HORA=HH&MINU=MM&08CIUDAD=CITY&14PAIS=COUNTRY&SEXO=H" > /dev/null # 2d. Follow redirect to personas.asp?ok — the d0 cookie is set here PERSONAS_RESP=$(curl -si -c "$COOKIEJAR" -b "$COOKIEJAR" "https://grupovenus.com/personas.asp?ok" \ -H "User-Agent: Mozilla/5.0" \ -H "Referer: https://grupovenus.com/ciuda.asp") ``` The example creates a temporary cookie jar and repeatedly writes ASP session cookies to it, but the documented workflow contains no cleanup trap or explicit removal. The same pattern is repeated at `skill.md:672-693`. ### Technical Analysis `mktemp` safely creates a uniquely named file and normally applies restrictive permissions, ...[truncated 1690 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (9)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README explicitly states that person data is stored across sessions in a local file, but it does not warn users about retention, sensitivity, or who can access that file on a shared system. Because this skill handles birth-related and relationship data, the stored information can be privacy-sensitive and may expose personal details if the workspace or host is accessible to other users, backups, or logs.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The trigger list includes generic phrases such as "horoscope," "astrology," "transits," and "birth chart" that are common user intents rather than unique invocations. This can cause the platform to route broad, unrelated astrology requests to this third-party skill unexpectedly, increasing the chance of unauthorized handling of user queries and any personal birth-data the skill may collect across sessions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly instructs storing birth profiles locally and sending them to a third-party astrology service, including name, birth date/time, location, sex, timezone, and coordinates. This is sensitive personal data and the skill does not require an explicit user consent/privacy warning before persistence and external transmission, creating a real privacy risk.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

This request sends user-supplied city and country data to an external domain. In context, the skill's purpose depends on external lookups, but it still constitutes a real data exfiltration/privacy boundary crossing because user location information is disclosed to a third party without an explicit warning or consent step.

Content

Scanner excerpt · skill.md (reported line 63)May include surrounding context.

Step 1 — Look up the city coordinates

bash
curl -s "https://grupovenus.com/buscaciudjson.asp?q=CITY&pais=COUNTRY"

Example:

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

The skill constructs a semicolon-delimited nombre value containing full identity and highly sensitive birth-profile data, intended for transmission to the third-party service. This is a true external transmission of personal data and increases privacy exposure because it aggregates multiple identifiers into a single payload.

Content

Scanner excerpt · skill.md (reported line 168)May include surrounding context.

"Luis Alberto Spinetta;1/23/1950 4:35:00 PM;Buenos Aires;Argentina;H;;3;34S35;58W22"

text

To URL-encode it for a POST body in curl use `--data-urlencode`:
```bash
--data-urlencode "nombre=Luis Alberto Spinetta;1/23/1950 4:35:00 PM;Buenos Aires;Argentina;H;;3;34S35;58W22"

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

This POST sends the full encoded birth profile to informes3.asp for report generation. Because the data includes name, exact birth timestamp, sex, and location-derived coordinates, the privacy impact is substantial even if the transfer is functionally required by the skill.

Content

Scanner excerpt · skill.md (reported line 215)May include surrounding context.

POST to informes3.asp to get a 1-year forecast with all slow-planet transits:

bash
curl -s -X POST "https://grupovenus.com/informes3.asp" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "User-Agent: Mozilla/5.0" \
  --data-urlencode "nombre=Luis Alberto Spinetta;1/23/1950 4:35:00 PM;Buenos Aires;Argentina;H;;3;34S35;58W22" \

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

This example again performs an external lookup of city/country against grupovenus.com. While expected for functionality, it remains a real privacy-relevant disclosure of user-provided location data to a third party and therefore should not be treated as a false positive.

Content

Scanner excerpt · skill.md (reported line 669)May include surrounding context.

bash
# 1. Look up city
curl -s "https://grupovenus.com/buscaciudjson.asp?q=Rosario&pais=Argentina"

# 2. Register person with cookie jar (3-step flow required)
COOKIEJAR=$(mktemp)

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

This example POST transmits a full personal birth profile to the external report endpoint. The context makes the transmission intentional and functional, but not harmless: it exposes a sensitive bundle of personal and inferential data to a third-party service.

Content

Scanner excerpt · skill.md (reported line 698)May include surrounding context.

md
# → Maria  ;3/15/1992 2:30:00 PM;Rosario;Argentina;V;;3;32S57;60W40

# 4. Fetch 1-year transit graph (no session needed for reports)
curl -s -X POST "https://grupovenus.com/informes3.asp" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "User-Agent: Mozilla/5.0" \
  --data-urlencode "nombre=Maria;3/15/1992 2:30:00 PM;Rosario;Argentina;V;;3;32S57;60W40" \

External Transmission

Medium
Category
Data Exfiltration
Confidence
94% confidence
Finding

This request sends birth date/time, timezone, city, country, coordinates, and name to an external image-generation endpoint. Even though it returns a chart image, the request still leaks sensitive personal data and should be treated as a real privacy/security issue in the absence of explicit consent and warning.

Content

Scanner excerpt · skill.md (reported line 713)May include surrounding context.

md
| sort -t' ' -k2 -n

# 6. Fetch natal chart PNG
curl -s "https://grupovenus.com/dibujo.aspx" \
  --get \
  --data-urlencode "fec=3/15/1992 2:30:00 PM" \
  --data-urlencode "aju=3" \

Static analysis

No suspicious patterns detected.