Back to skill

Security audit

LeSecure Cloud

Security checks across malware telemetry and agentic risk

Overview

This skill clearly describes a cloud encryption workflow that sends user-provided text and lock values to a third-party API, with no hidden install scripts or local data collection found.

Install only if you are comfortable sending the text being encrypted or decrypted, the lock values, and the API token to LESecure's cloud API. Do not use it for highly sensitive personal, medical, financial, or business secrets unless you have independently verified the provider's privacy and retention practices. Set the API key outside chat, rotate it if it is ever pasted into chat, and use the local LESecure option when data should stay on your device.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (11)

External Transmission

Medium
Category
Data Exfiltration
Content
- **Always pipe the body via stdin using `-d @-`.** This keeps all sensitive values out of the process argument list.
- Use a heredoc (`<<'EOF'`) to build the JSON body and pipe it into `curl`.

## Building the curl Command

Construct the args array by mapping user requirements to flags. Order within the array doesn't matter, but group related flags and their values together for readability.
Confidence
88% confidence
Finding
curl Command Construct the args array by mapping user requirements to flags. Order within the array doesn't matter, but group related flags and their values together for readability. **All examples

External Transmission

Medium
Category
Data Exfiltration
Content
**Encrypt with pin lock only:**
```bash
cat <<'EOF' | curl -s https://api.lesecure.ai/exec \
  -H "Authorization: Bearer $LESECURE_API_KEY" \
  -H "Content-Type: application/json" \
  -d @-
Confidence
96% confidence
Finding
curl -s https://api.lesecure.ai/exec \ -H "Authorization: Bearer $LESECURE_API_KEY" \ -H "Content-Type: application/json" \ -d

External Transmission

Medium
Category
Data Exfiltration
Content
**Encrypt with all locks:**
```bash
cat <<'EOF' | curl -s https://api.lesecure.ai/exec \
  -H "Authorization: Bearer $LESECURE_API_KEY" \
  -H "Content-Type: application/json" \
  -d @-
Confidence
98% confidence
Finding
curl -s https://api.lesecure.ai/exec \ -H "Authorization: Bearer $LESECURE_API_KEY" \ -H "Content-Type: application/json" \ -d

External Transmission

Medium
Category
Data Exfiltration
Content
**Decrypt:**
```bash
cat <<'EOF' | curl -s https://api.lesecure.ai/exec \
  -H "Authorization: Bearer $LESECURE_API_KEY" \
  -H "Content-Type: application/json" \
  -d @-
Confidence
95% confidence
Finding
curl -s https://api.lesecure.ai/exec \ -H "Authorization: Bearer $LESECURE_API_KEY" \ -H "Content-Type: application/json" \ -d

External Transmission

Medium
Category
Data Exfiltration
Content
- Always include `--PlainText`
   (Do NOT ask for the API key — it comes from the environment.)
4. **Build the args array** with the appropriate flags and values.
5. **Execute the curl command** via Bash using the `cat <<'EOF' | curl ... -d @-` pattern. Never use inline `-d '...'`. This keeps all sensitive data (plaintext, PINs, passwords) out of `ps` output and shell history.
6. **If decrypting**, remind the user they need the same lock values that were used during encryption.

## Important Notes
Confidence
90% confidence
Finding
curl ... -d @-` pattern. Never use inline `-d

External Transmission

Medium
Category
Data Exfiltration
Content
This skill sends data to a **third-party remote endpoint** over the network. Users must understand what is transmitted before proceeding.

- **Where:** All requests go to `https://api.lesecure.ai/exec` over TLS (HTTPS). See [source & docs](https://github.com/SPAlgorithm/LE) for the service's privacy practices.
- **What is sent:** The plaintext data to encrypt (or the ciphertext to decrypt), plus any lock values (PINs, passwords, phone numbers, time-window dates), and the API bearer token.
- **What is NOT sent:** No local files, no OS credentials, no browser data, no environment variables other than the bearer token.
- **Caution:** Do not send highly sensitive personal data (SSNs, financial account numbers, medical records) unless you have verified the service's data handling and privacy policies.
Confidence
94% confidence
Finding
https://api.lesecure.ai/

External Transmission

Medium
Category
Data Exfiltration
Content
## API Basics

- **Endpoint**: `https://api.lesecure.ai/exec`
- **Method**: POST
- **Auth**: Bearer token in the `Authorization` header, sourced from `$LESECURE_API_KEY`
- **Content-Type**: `application/json`
Confidence
90% confidence
Finding
https://api.lesecure.ai/

External Transmission

Medium
Category
Data Exfiltration
Content
**Encrypt with pin lock only:**
```bash
cat <<'EOF' | curl -s https://api.lesecure.ai/exec \
  -H "Authorization: Bearer $LESECURE_API_KEY" \
  -H "Content-Type: application/json" \
  -d @-
Confidence
96% confidence
Finding
https://api.lesecure.ai/

External Transmission

Medium
Category
Data Exfiltration
Content
**Encrypt with all locks:**
```bash
cat <<'EOF' | curl -s https://api.lesecure.ai/exec \
  -H "Authorization: Bearer $LESECURE_API_KEY" \
  -H "Content-Type: application/json" \
  -d @-
Confidence
98% confidence
Finding
https://api.lesecure.ai/

External Transmission

Medium
Category
Data Exfiltration
Content
**Decrypt:**
```bash
cat <<'EOF' | curl -s https://api.lesecure.ai/exec \
  -H "Authorization: Bearer $LESECURE_API_KEY" \
  -H "Content-Type: application/json" \
  -d @-
Confidence
95% confidence
Finding
https://api.lesecure.ai/

Session Persistence

Medium
Category
Rogue Agent
Content
1. **The key must come from the `LESECURE_API_KEY` environment variable.** The skill references `$LESECURE_API_KEY` inside the `curl` argument so the shell does the substitution — the literal key is never written on the command line.
2. **Never interpolate the literal key into a command string.** Args on the command line are visible in shell history and to other local users via `ps`.
3. **If `LESECURE_API_KEY` is unset**, stop and instruct the user to set it (see the one-time setup below). Do not ask the user to paste the key into chat.
4. **Never echo, print, log, or summarize the key.** Do not include it in error messages, response quotes, or any output shown to the user. Do not write it to disk.
5. **If the user pastes a key into chat anyway**, do not save it. Treat the chat message as one-time input: `export` it into the current shell session only, use it for this request, then tell the user to rotate the key (paste-in-chat is a key-exposure event).

### One-time setup (run once per shell)
Confidence
76% confidence
Finding
write it to disk. 5. **If the user pastes a key into chat anyway**, do not save it. Treat the chat message as one-time input: `export` it into the current shell session only, use it for this request,

VirusTotal

46/46 vendors flagged this skill as clean.

View on VirusTotal