T08 · Insecure Dependencies
- Location
SKILL.md:45- Finding
Unpinned Third-Party SDK Installation Creates a Mutable Supply-Chain Risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a disclosed external memory integration, but it needs Review because it can persist broad user and conversation context without strong opt-in, scoping, or mandatory permission checks.
Install only if you intentionally want CogniMemo to store reusable memory outside the current session. Use a least-privileged environment, pin SDK versions, avoid storing secrets or highly sensitive personal data, require explicit opt-in before any automatic capture, and enforce permission checks in the integration rather than relying on examples or caller discipline.
SKILL.md:45Unpinned Third-Party SDK Installation Creates a Mutable Supply-Chain Risk
SKILL.md:234External Memory Storage Example Does Not Enforce Permission Checks Before Capturing User Data
Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.
)
### Delete Memory
```python
# Delete specific memory
The skill demonstrates network access and use of environment-based secrets but does not declare any tool scope or allowed-tools restrictions. In an agent ecosystem, this creates an authorization gap where a memory skill may perform outbound API calls and read API keys without explicit permission boundaries, increasing the chance of unintended data exfiltration or overbroad execution.
The trigger list includes broad phrases like "persistent memory," "ai memory," and "remember across sessions," which are generic enough to match ordinary user requests. This can cause the skill to activate unexpectedly and begin handling or storing sensitive context when the user did not specifically intend to use this external memory provider.
The skill emphasizes convenience and auto-capture but does not prominently warn that conversations, documents, decisions, tasks, and user actions may be persisted in an external service. Because the skill is specifically designed to collect and retain cross-session data, inadequate disclosure materially increases privacy and consent risk.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
- **Website**: https://cognimemo.com
- **Documentation**: https://docs.cognimemo.com
- **API Reference**: https://api.cognimemo.com/docs
- **GitHub**: https://github.com/cognimemo/sdk
## Error Handling
The module and class docstrings present this as a 'Memory Manager' for persistent memory using CogniMemo, yet even when an API key is supplied the code forces self._use_mock = True and never initializes a real backend client. This contradicts the documented intent of providing persistent CogniMemo-backed memory operations.
This code stores user-provided content, preferences, decisions, tasks, and facts in persistent memory, which can affect user privacy and data handling. While the methods have technical docstrings and a success print, they do not disclose to the user that personal information may be retained or sent to an external memory service in production.
The search method docstring says it will 'Search memories semantically', but the code only lowercases the query and performs a direct substring check against stored content. This is an active contradiction between the documented behavior and the implemented behavior, not merely an omitted detail.
The demo stores "Prefers Portuguese language" as a preference in code, which models forcing a specific language setting without showing user choice or opt-in. Under the language/locale policy, language constraints should be user-selected or clearly offered as an option.
No suspicious patterns detected.