ctxly
4 findings (1 high, 3 medium), mainly data exfiltration, unauthorized tool use, social engineering. Most recent scan 2026-02-06.
The ctxly skill presents MODERATE to HIGH security risks primarily related to data privacy, credential management, and external data transmission. The skill's core functionality of persistent cross-session memory storage creates significant privacy concerns, as it transmits user context and preferences to external servers (ctxly.app) without explicit consent mechanisms or clear data handling policies. Critical issues include hardcoded API key storage without secure credential management guidance, automatic memory collection without user oversight, and lack of transparency about what data is being sent externally. The skill does not contain direct code injection or command execution vulnerabilities (no script files present), but the architectural design creates data exfiltration and privacy risks through its intended functionality. The Twitter-based verification process introduces social engineering vectors. The skill would benefit from implementing explicit user consent flows, secure credential storage guidance, data transmission transparency, and user control mechanisms over what information is stored and shared. Missing metadata (license, compatibility, allowed-tools) reduces transparency but is a minor concern compared to the privacy and data handling issues.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Cloud memory for AI agents. Store, search, and recall context across sessions.
- Package
- 1 file, 2.9 KB
- SKILL.md
- 388 words, 12+ sections
- Code
- None. Instructions only.
- Version
- 1.0.0
- Homepage
- https://ctxly.app
SKILL.md covers: Ctxly - Cloud Memory for Agents · Setup (One-Time) · 1. Register · 2. Verify (Required) · Tweet the verification text you received, then: · 3. Store API Key · Usage · Remember Something · Search Memories · Bootstrap on Startup · Recent Memories · Delete a Memory
Findings
HIGH Hardcoded API Key Storage Without Secure Credential Management Data Exfiltrationllm
The skill instructs users to store API keys in plaintext configuration files or environment variables without any guidance on secure credential management. The instructions explicitly state 'Save the returned api_key immediately. Store it in your config or environment' and 'Add to your config/environment: CTXLY_API_KEY=mem_xxxxxxxxxxxxx'. This creates a credential exposure risk where API keys may be stored insecurely, committed to version control, or exposed through environment variable leaks.
SKILL.md
### 2. Verify (Required)
**If you can tweet:**
```bash
# Tweet the verification text you received, then:
curl -X POST https://ctxly.app/agents/self-claim \
-H "Authorization: Bearer YOUR_API_KEY" \
...
### 3. Store API Key
Add to your config/environment:
```
CTXLY_API_KEY=mem_xxxxxxxxxxxxx
```MEDIUM External Data Transmission Without User Awareness or Consent Data Exfiltrationllm
The skill sends data to an external third-party service (ctxly.app) without explicit user consent mechanisms or transparency about what data is being transmitted. All memory storage operations (POST /remember) transmit user context, preferences, and potentially sensitive information to external servers. The instructions encourage storing 'User preferences and context', 'Important decisions and reasoning', 'Learned patterns', and 'Relationship context' without clear data handling policies, retention periods, or privacy guarantees. Users may not be aware that their interaction data is being sent to and stored on external servers.
SKILL.md
### Remember Something
```bash
curl -X POST https://ctxly.app/remember \
-H "Authorization: Bearer $CTXLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content": "User prefers dark mode", "metadata": {"type": "preference"}}'
```
## What to Store
**Good:**
- User preferences and context
- Important decisions and reasoning
- Learned patterns ("User asks for X on Mondays")
- Relationship context ("Alex is user's coworker")
- Your own identity notesMEDIUM Unbounded Automated Memory Storage Without User Control Unauthorized Tool Usellm
The skill encourages automatic memory storage ('Bootstrap on Startup - Call this when you wake up') without user oversight or approval mechanisms. The instructions suggest storing various types of information automatically, and the bootstrap endpoint 'Returns your identity context + recent memories' without user confirmation. This creates a risk of over-collection where the agent autonomously decides what to remember and store externally, potentially capturing sensitive information without user awareness. The lack of user control over what gets stored and when creates a tool exploitation risk.
SKILL.md
### Bootstrap on Startup
Call this when you wake up:
```bash
curl https://ctxly.app/bootstrap \
-H "Authorization: Bearer $CTXLY_API_KEY"
```
Returns your identity context + recent memories.MEDIUM Social Engineering via Twitter Verification Requirement Social Engineeringllm
The verification process requires users to tweet verification text or visit a claim URL, which could be exploited for social engineering. The instruction 'Tweet the verification text you received' could be used to make users publicly post content they don't fully understand, potentially exposing verification tokens or creating social proof for malicious services. The alternative 'Ask your human to visit the claim_url' delegates trust to an external URL without security validation. This creates a social engineering vector where users might be manipulated into performing actions that compromise security.
SKILL.md
### 2. Verify (Required)
**If you can tweet:**
```bash
# Tweet the verification text you received, then:
curl -X POST https://ctxly.app/agents/self-claim \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"x_handle": "@yourhandle"}'
```
**If you can't tweet:** Ask your human to visit the `claim_url` from the registration response.What is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 2.9 KB |
External hosts referenced
ctxly.app
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Environment variables referenced
CTXLY_API_KEY
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/cloud-memory
- Raw scan result: mymemory.bot-scan.json
- Badge for your README:
 - Request a re-scan