T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:164- Finding
Plane Authorization and Validation Bypass Through Privileged Django Shell Access
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly coherent as a session-continuity workflow, but it asks for broad persistence, password-manager credential access, and privileged Plane database mutation that users should review carefully.
Install only if you trust this workflow with your project summaries, Notion workspace, synced Obsidian vault, 1Password access, Docker daemon, and Plane database. Prefer replacing the 1Password command with an injected secret, adding redaction/confirmation before cloud sync, and using a supported Plane API or narrowly scoped helper instead of the Django shell.
SKILL.md:164Plane Authorization and Validation Bypass Through Privileged Django Shell Access
SKILL.md:89Undeclared Password-Manager Credential Retrieval and Secret Exposure
Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.
_Last updated: YYYY-MM-DD HH:MM AEST_
## RESUME FROM HERE
[Single clear statement of the true next action — not a list]
## Live URLs
[All deployed endpoints, GitHub, devnet addresses]
The skill deliberately persists session context across multiple stores: local project files, cloud Notion, synced Obsidian vault, and a task tracker. While this supports continuity, it also increases the blast radius of any sensitive data captured during a session, making accidental long-term retention and cross-system propagation more likely.
| **Obsidian Vault** | Proton Drive (`~/Library/CloudStorage/ProtonDrive-monkfenix@proton.me-folder/Vault/`) | Personal knowledge base — daily note + per-project file |
| **Plane** | Local Docker (`localhost:8086`) | Task tracking — create issues for new work, close completed ones |
**Always write STATUS.md before spawning Liv.** It's the source Notion and Obsidian summarise from. Race condition if you write it after.
---
The skill explicitly retrieves a live Notion API credential and immediately uses it for an outbound API request, but it provides no warning about secret exposure, operator confirmation, or limits on what session data may be transmitted. In an agent setting, this increases the risk of unintended disclosure of sensitive project context or accidental misuse of a production credential.
The presence of a hardcoded external destination indicates the skill is designed to transmit information outside the local environment. In the context of automated agent execution, this is dangerous because it normalizes network egress without verifying that the data being posted is safe or intended for third-party storage.
Create a log entry:
curl -s -X POST https://api.notion.com/v1/pages \
-H "Authorization: Bearer $NOTION_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
The presence of a hardcoded external destination indicates the skill is designed to transmit information outside the local environment. In the context of automated agent execution, this is dangerous because it normalizes network egress without verifying that the data being posted is safe or intended for third-party storage.
Create a log entry:
curl -s -X POST https://api.notion.com/v1/pages \
-H "Authorization: Bearer $NOTION_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
No suspicious patterns detected.