Versioned security assessment

Report ID: SA-7DB9B9F0

7/9/2026, 1:27:49 AM

ai-partner-chat security assessment v10

Skill Security Certification Report

Audit History
Audit model: claude Latest published report
Skill name
ai-partner-chat
Version
v10
Maintainer
Cz07cring
Coverage
21 Files scanned · 5,345 Lines analyzed
Policy version
Unavailable

Highest confirmed finding severity

Critical

15 confirmed security findings require attention.

Installation context

Check the current Skill page

This page summarizes report evidence only. The Skill page provides the canonical install advisory.

Open current Skill page

This report does not block or authorize the manifest or ZIP.

The skill intentionally stores notes, profiles, conversation logs, and vector indexes under local Claude skill directories. Most static hits are false positives from markdown code fences, documentation snippets, or local paths, but the package still needs review because it installs scripts, writes local databases, reads cache paths, and documents scoped recursive deletion commands.

Report position

Latest published report

Latest refers to the report sequence, not to artifact currentness.

Audit attestation

Not attestable

The required immutable binding is incomplete.

Human verification

Not verified

No human verification is recorded for this report.

Coverage

21 Files scanned · 5,345 Lines analyzed

62 items shown for review

Limitations

This report does not claim runtime or sandbox execution and does not prove the absence of side effects.

Evidence chain

Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.

  1. Source

    Commit and path bound

  2. Artifact

    Content and tree hashes bound

  3. Audit

    Complete

  4. Install contract

    Open manifest to verify

    Open manifest

Capabilities observed

Observed means this report recorded supporting evidence. Not recorded does not prove that a capability is absent.

Contains scripts

May execute code included with the Skill.

Observed in 2 evidence locations

Network access

May connect to external services.

Observed in 1 evidence location

Filesystem access

May read or write local files.

Observed in 46 evidence locations

Env variables

May read values from the process environment.

Observed in 2 evidence locations

External commands

May invoke commands or programs outside the Skill.

Observed in 50 evidence locations

Capability review items (47)
High
Hidden file in home directory
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
High
Hidden file in home directory
3. ✅ 记录每次对话到 `~/.claude/skills/ai-partner-chat/data/`
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
High
Hidden file in home directory
~/.claude/skills/ai-partner-chat/data/
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
High
Hidden file in home directory
rm -rf ~/.claude/skills/ai-partner-chat/data/vector_db
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
High
Hidden file in home directory
print(f" 数据: ~/.claude/skills/ai-partner-chat/data/")
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
High
Hidden file in home directory
- 💾 状态持久化到 `~/.claude/skills/ai-partner-chat/data/indexes/processed_notes.json`
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
High
Hidden file in home directory
- ✅ 所有数据保存到 `~/.claude/skills/ai-partner-chat/data/`
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
High
Hidden file in home directory
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
High
Hidden file in home directory
数据: ~/.claude/skills/ai-partner-chat/data/
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
High
Hidden file in home directory
数据: ~/.claude/skills/ai-partner-chat/data/
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
High
Hidden file in home directory
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
High
Hidden file in home directory
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
High
Hidden file in home directory
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
Medium
Unix shell invocation
#!/bin/bash
The skill includes an install.sh shell installer. Shell installers modify local files and require explicit user trust even when no malicious command is evident.
Medium
Hidden file access
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
Medium
Hidden file access
3. ✅ 记录每次对话到 `~/.claude/skills/ai-partner-chat/data/`
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
Medium
Hidden file access
~/.claude/skills/ai-partner-chat/data/
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
Medium
Hidden file access
rm -rf ~/.claude/skills/ai-partner-chat/data/vector_db
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
Medium
Python file write/append
with open(self.metadata_file, 'w', encoding='utf-8') as f:
The script writes metadata, logs, reports, indexes, or timelines to local files. This is expected for the skill but has privacy and retention implications.
Medium
Python file write/append
with open(daily_file, 'a', encoding='utf-8') as f:
The script writes metadata, logs, reports, indexes, or timelines to local files. This is expected for the skill but has privacy and retention implications.
Medium
Python file write/append
with open(summary_file, 'w', encoding='utf-8') as f:
The script writes metadata, logs, reports, indexes, or timelines to local files. This is expected for the skill but has privacy and retention implications.
Medium
Python file write/append
with open(self.timeline_path, 'w', encoding='utf-8') as f:
The script writes metadata, logs, reports, indexes, or timelines to local files. This is expected for the skill but has privacy and retention implications.
Medium
Python file write/append
with open(self.state_file, 'w', encoding='utf-8') as f:
The script writes metadata, logs, reports, indexes, or timelines to local files. This is expected for the skill but has privacy and retention implications.
Medium
Hidden file access
print(f" 数据: ~/.claude/skills/ai-partner-chat/data/")
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
Medium
Python file write/append
with open(taxonomy_file, 'w', encoding='utf-8') as f:
The script writes metadata, logs, reports, indexes, or timelines to local files. This is expected for the skill but has privacy and retention implications.
Medium
Python file write/append
with open(self.index_path, 'w', encoding='utf-8') as f:
The script writes metadata, logs, reports, indexes, or timelines to local files. This is expected for the skill but has privacy and retention implications.
Medium
Python file write/append
with open(report_file, 'w', encoding='utf-8') as f:
The script writes metadata, logs, reports, indexes, or timelines to local files. This is expected for the skill but has privacy and retention implications.
Medium
Hidden file access
- 💾 状态持久化到 `~/.claude/skills/ai-partner-chat/data/indexes/processed_notes.json`
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
Medium
Hidden file access
- ✅ 所有数据保存到 `~/.claude/skills/ai-partner-chat/data/`
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
Medium
Hidden file access
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
Medium
Hidden file access
数据: ~/.claude/skills/ai-partner-chat/data/
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
Medium
Hidden file access
数据: ~/.claude/skills/ai-partner-chat/data/
The skill intentionally persists notes, conversation state, or indexes in a hidden Claude skill directory. This is expected behavior but creates privacy and retention risk.
Medium
Hidden file access
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
Medium
Hidden file access
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
Medium
Hidden file access
pip install -r ~/.claude/skills/ai-partner-chat/scripts/requirements.txt
The documentation installs dependencies from a requirements file inside a hidden Claude skill directory. This is normal setup but requires user trust in local package files.
Low
Standard device file access
rm -rf "$TARGET_DIR/scripts" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -rf "$TARGET_DIR/assets" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -rf "$TARGET_DIR/notes" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -f "$TARGET_DIR/SKILL.md" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -f "$TARGET_DIR/README.md" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -f "$TARGET_DIR/QUICKSTART.md" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -f "$TARGET_DIR/CHANGELOG.md" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -f "$TARGET_DIR/HOW_TO_USE.md" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -rf "$TARGET_DIR/vector_db" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -rf "$TARGET_DIR/conversations" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -rf "$TARGET_DIR/indexes" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.
Low
Standard device file access
rm -rf "$TARGET_DIR/analysis" 2>/dev/null || true
The installer deletes existing skill files or data paths under its target directory. The path is scoped, but recursive deletion can remove user data if the target resolves unexpectedly.

Risk findings

Confirmed security concerns are separated from items that still need review.

Confirmed security concerns (15)

RISK-001 Critical
Recursive delete on root/home
rm -rf ~/.claude/skills/ai-partner-chat/data/vector_db
The documentation includes a recursive deletion command under the user home Claude skill data directory. It is scoped, but destructive commands in user documentation can remove local data.
RISK-002 Medium
SQLite database file
│ ├── chroma.sqlite3 # 所有向量存储
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-003 Medium
SQLite database file
self.db_path = db_path
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-004 Medium
SQLite database file
indexer = VectorIndexer(db_path=self.db_path)
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-005 Medium
SQLite database file
self.db_path = db_path
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-006 Medium
SQLite database file
print(f"💾 Connecting to vector database at: {self.db_path}")
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-007 Medium
SQLite database file
self.client = chromadb.PersistentClient(path=self.db_path)
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-008 Medium
SQLite database file
print(f" Database location: {os.path.abspath(self.db_path)}")
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-009 Medium
SQLite database file
'database_path': os.path.abspath(self.db_path)
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-010 Medium
SQLite database file
'database_path': os.path.abspath(self.db_path)
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-011 Medium
SQLite database file
self.db_path = db_path
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-012 Medium
SQLite database file
self.client = chromadb.PersistentClient(path=self.db_path)
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-013 Medium
SQLite database file
f"Failed to connect to database at {self.db_path}. "
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-014 Medium
SQLite database file
│ └── chroma.sqlite3 # ⚡ 所有笔记/对话/代码的向量都在这里
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.
RISK-015 Medium
SQLite database file
│ └── chroma.sqlite3
The skill stores notes, conversations, or vector data in a local SQLite or Chroma database. This is core functionality but may contain sensitive user content.

Remediation

Suggested fixes recorded by this audit. Applying them is the maintainer’s responsibility.

  1. FIX-001
    Medium
    Installer and documentation use recursive deletion for skill data directories.
    Replace rm -rf examples with a safer cleanup script that validates the resolved path before deletion and asks for confirmation.
  2. FIX-002
    Medium
    Conversation logs, personas, notes, and embeddings are persisted in local files and SQLite or Chroma storage.
    Clearly disclose stored data types, default paths, retention behavior, and deletion steps before users enable the skill.
  3. FIX-003
    Medium
    The skill depends on local Python scripts and third-party model libraries.
    Pin and review dependencies, avoid auto-running installation commands, and require explicit user approval for setup.
  4. FIX-004
    Low
    Documentation contains many executable setup snippets.
    Separate runnable commands from explanatory examples and mark commands that modify user directories.

Expert evidence

Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.

Artifact subject

Marketplace commit
7db9b9f06e0ab79c575b58bc48c4d8dc9849f424
Content hash
49ddea0651e95decb95906ac05707777a6b357aa5bfe0f5c5d2737c0e14f9fea
Tree hash
6ca748e6f0e858a422bc6eda5c5cb1ac4f6da2ea8d1389f907ee215ffec89367
Skill path
skills/cz07cring/ai-partner-chat
Audit payload hash
3a272c8a47edb6f5e7be749789041b27

Analysis metadata

Audit model: claude

Analysis state: Complete

Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.

Verify and export

The manifest and lockfile bind install artifacts to cryptographic hashes. This integrity claim is separate from the security assessment.

Audit attestation: not_attestable