Back to skill

Security audit

Codex 会话归档到 Obsidian

Security checks for vulnerabilities and agentic risk

Overview

This skill intentionally exports Codex session history into an Obsidian vault, which is clear and purpose-aligned but may copy sensitive conversation content.

Install only if you want Codex session history copied into your Obsidian vault. Run the dry-run command first, confirm the vault path, avoid --with-reasoning unless you specifically need it, and remember that synced or shared Obsidian vaults may expose archived prompts, code, paths, and tool output.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill instructs the agent to invoke a Python script that reads session history and writes Markdown files into an Obsidian vault, but the skill metadata does not declare any explicit tool scope or permissions. That omission weakens user awareness and policy enforcement, increasing the chance that sensitive conversation data is accessed or archived without sufficiently explicit consent boundaries.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The operational instructions provide runnable commands for archiving Codex conversations into Obsidian, but they do not clearly warn that this action reads historical session logs and writes potentially sensitive content to another long-lived knowledge store. In this context, the archived data may include prompts, assistant outputs, paths, tool calls, and optionally reasoning, so missing disclosure meaningfully raises privacy and data-handling risk.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The core function of the script is to copy full user conversations into an Obsidian vault, and it also preserves assistant content and optionally tool-derived data. If the vault is synced, shared, indexed, or less protected than the original Codex session storage, sensitive prompts, personal data, source code, and operational details may be exposed more broadly.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script explicitly supports --with-reasoning, which exports model reasoning into Markdown archives. Reasoning text can contain sensitive internal deliberations, policy text, prompts, or user data that goes beyond ordinary conversation archival, increasing the chance of unintended disclosure once copied into a broader Obsidian vault.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The Markdown renderer includes tool-call arguments and captured tool output, which may expose shell commands, file paths, environment-derived content, tokens, or snippets of sensitive files. Archiving these into Obsidian broadens access and persistence beyond the original session store, making accidental disclosure more likely.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The CLI exposes a --with-reasoning flag but does not present a clear runtime warning about the sensitivity of reasoning content before export. Users may enable it without understanding that the archive could include internal model deliberation or other sensitive material, leading to inadvertent disclosure.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The module docstring and all user-facing CLI help/messages are presented only in Chinese, which imposes a specific language/locale on users without opt-in. The file does not document that the tool is intentionally region- or language-specific, nor does it offer an alternative language.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.