Versioned security assessment

Report ID: SA-7DB9B9F0

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

ai-partner-chat security assessment v9

Skill Security Certification Report

Audit History
Audit model: claude Historical report
Skill name
ai-partner-chat
Version
v9
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

Historical evidence

This report may not describe the currently installable artifact. Open the current Skill page for install guidance.

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

Historical report

Open audit history before using this report to install.

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

    Binding unavailable

  2. Artifact

    Identity incomplete

  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
Unavailable
Content hash
Unavailable
Tree hash
Unavailable
Skill path
Unavailable
Audit payload hash
Unavailable

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