Back to plugin

Security audit

LLM Wiki

Security checks for vulnerabilities and agentic risk

Overview

This skill package is a disclosed project-wiki tool with optional maintenance automation that is disabled by default and scoped to repository wiki upkeep.

Install only if you want a repository-local wiki workflow that may add wiki files and managed context blocks to agent instruction files. Review carefully before enabling persistent automation or provider access, because that can run a headless agent on future commits and publish updates to an llm-wiki/refresh branch.

Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (10)

Vague Triggers

Medium
Confidence
78% confidence
Finding
The activation description is very broad, covering create, initialize, refresh, and multiple agent ecosystems. That increases the chance the skill is invoked in situations the user did not specifically intend, which is risky because the skill performs substantial filesystem, config, hook, and automation changes.

Vague Triggers

Medium
Confidence
82% confidence
Finding
The activation description is very broad and overlaps with common repository-help requests such as creating, initializing, refreshing, or maintaining project knowledge. That increases the chance this skill is invoked in situations where the user did not intend invasive repository changes, especially because the skill later creates files, edits agent configs, and may prepare automation state.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- **Pin queued commits in bounded transactions.** Create `refs/llm-wiki/sources/<sha>` when a source is queued and delete it in the same ref transaction that writes its durable receipt. Backfill pins for pre-upgrade pending and quarantined records in batches of 64 by default (`LLM_WIKI_MAX_SOURCE_PIN_BATCH`). Reconstruct empty crash-left `.<sha>.<pid>` queue files when their source commit is available; retain unavailable records for diagnosis. Refuse to invoke or acknowledge a batch whose selected SHA is not an available commit.
- **Recover stale locks safely.** A live owner PID with the recorded process-start identity wins. Dead, PID-reused, or malformed owner blobs are replaceable only through the Git ref's compare-and-swap old-OID guard.
- **Validate before committing and publishing.** Reject any tracked, untracked, or ignored change outside `wiki/`. Compile `wiki/log.md`, force-stage only `wiki/` so intentionally ignored wikis persist, and commit with both recursion guards (`HIVE_SKIP_LLM_WIKI_POST_COMMIT=1` and `git -c core.hooksPath=/dev/null`). Fetch and merge the remote refresh branch, then push only `llm-wiki/refresh`; retain local work when fetch, merge, or push fails.
- **Failure is clean and bounded.** If agent execution, wiki-only validation, compilation, staging, or commit fails, force-remove the disposable managed worktree. After two consecutive failed batches by default, move the active batch to `<shared-git-dir>/llm-wiki/failed/` and open the repository-wide circuit. Continue queueing new sources without launching a provider. Never delete failed source data or automatically run a quarantined source again. User checkout bytes and branch refs must remain unchanged.
- **Subscription use is bounded.** Run provider overrides, Codex, Claude Code,
  Pi, QMD, and Git ref operations through `timeout` or `gtimeout`. If no bounded
  runner is available, fail closed before starting a provider and retain the
Confidence
87% confidence
Finding
The skill authorizes autonomous queueing, refreshing, committing, pushing, and retry/circuit behavior with only partial user gating. Even though the text includes safety constraints, it still describes an agent making persistent decisions and repository mutations on its own, which can cause unauthorized changes, unwanted network/provider usage, or branch updates if triggered in the wrong context.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- **Pin queued commits in bounded transactions.** Create `refs/llm-wiki/sources/<sha>` when a source is queued and delete it in the same ref transaction that writes its durable receipt. Backfill pins for pre-upgrade pending and quarantined records in batches of 64 by default (`LLM_WIKI_MAX_SOURCE_PIN_BATCH`). Reconstruct empty crash-left `.<sha>.<pid>` queue files when their source commit is available; retain unavailable records for diagnosis. Refuse to invoke or acknowledge a batch whose selected SHA is not an available commit.
- **Recover stale locks safely.** A live owner PID with the recorded process-start identity wins. Dead, PID-reused, or malformed owner blobs are replaceable only through the Git ref's compare-and-swap old-OID guard.
- **Validate before committing and publishing.** Reject any tracked, untracked, or ignored change outside `wiki/`. Compile `wiki/log.md`, force-stage only `wiki/` so intentionally ignored wikis persist, and commit with both recursion guards (`HIVE_SKIP_LLM_WIKI_POST_COMMIT=1` and `git -c core.hooksPath=/dev/null`). Fetch and merge the remote refresh branch, then push only `llm-wiki/refresh`; retain local work when fetch, merge, or push fails.
- **Failure is clean and bounded.** If agent execution, wiki-only validation, compilation, staging, or commit fails, force-remove the disposable managed worktree. After two consecutive failed batches by default, move the active batch to `<shared-git-dir>/llm-wiki/failed/` and open the repository-wide circuit. Continue queueing new sources without launching a provider. Never delete failed source data or automatically run a quarantined source again. User checkout bytes and branch refs must remain unchanged.
- **Subscription use is bounded.** Run provider overrides, Codex, Claude Code,
  Pi, QMD, and Git ref operations through `timeout` or `gtimeout`. If no bounded
  runner is available, fail closed before starting a provider and retain the
Confidence
87% confidence
Finding
The skill specifies autonomous processing of queued commits, batch execution, durable receipts, and retry/circuit behavior for wiki refreshes. Even though safeguards are described, this still delegates repeated repository-affecting decisions and provider launches to automation, which can amplify mistakes, propagate incorrect edits, or trigger unintended external tool usage without per-action user review.

Self-Modification

High
Category
Rogue Agent
Content
- The current directory must be inside a git repository.
- QMD is optional but recommended. Use it when available; when missing, suggest installing it before falling back to `rg`.
- Merge existing agent settings and instructions. Do not overwrite existing config files blindly.
- Detect the main cross-project wiki when present. Check `~/wikis/master/wiki/`, `~/wikis/main/wiki/`, `<parent-of-project>/wikis/master/wiki/`, and `<parent-of-project>/wikis/main/wiki/`.
- Install wiki context for all supported agents. Only one agent owns headless scheduled and post-commit maintenance.
Confidence
95% confidence
Finding
The skill explicitly modifies repository files and agent configuration, including AGENTS.md, CLAUDE.md, hooks, .gitignore, .llm-wiki files, and potentially other settings. Even with cautions like 'do not overwrite blindly,' this is self-modifying/persistent behavior that can alter developer tooling and future agent behavior, making it dangerous if invoked unexpectedly or on a sensitive repository.

Session Persistence

Medium
Category
Rogue Agent
Content
launch a direct refresh against whichever checkout happened to install it.
When automation is not approved, do not enable a timer; the upgrade path uses
`--disabled` to reconcile old units without activating maintenance. On
non-systemd platforms, leave the scripts installed, record the scheduler gap in
`wiki/gaps.md`, and report the manual drain command.

Preserve existing hooks and unrelated hook logic. The bundled runner reads the
Confidence
92% confidence
Finding
The skill installs scripts, hooks, and potentially scheduled automation that persist beyond the current session and may continue invoking agents or provider tooling later. Persistence substantially raises risk because it creates ongoing execution paths, repository-triggered behavior, and potential surprise costs or data exposure long after the initial invocation.

Self-Modification

High
Category
Rogue Agent
Content
- The current directory must be inside a git repository.
- QMD is optional but recommended. Use it when available; when missing, suggest installing it before falling back to `rg`.
- Merge existing agent settings and instructions. Do not overwrite existing config files blindly.
- Detect the main cross-project wiki when present. Check `~/wikis/master/wiki/`, `~/wikis/main/wiki/`, `<parent-of-project>/wikis/master/wiki/`, and `<parent-of-project>/wikis/main/wiki/`.
- Install wiki context for all supported agents. Only one agent owns headless scheduled and post-commit maintenance.
Confidence
94% confidence
Finding
This skill is explicitly designed to modify repository state, create wiki content, update agent instruction files, and alter configuration under `.llm-wiki/`, `AGENTS.md`, and `CLAUDE.md`. In the broader context of the skill, these self-modifying behaviors extend to hooks and automation scaffolding, creating a substantial integrity risk if activated unexpectedly or against the wrong repository.

Session Persistence

Medium
Category
Rogue Agent
Content
launch a direct refresh against whichever checkout happened to install it.
When automation is not approved, do not enable a timer; the upgrade path uses
`--disabled` to reconcile old units without activating maintenance. On
non-systemd platforms, leave the scripts installed, record the scheduler gap in
`wiki/gaps.md`, and report the manual drain command.

Preserve existing hooks and unrelated hook logic. The bundled runner reads the
Confidence
90% confidence
Finding
The skill installs persistent wiki-related scripts and documents scheduler and hook integration paths that survive beyond the current session. Even with some consent language, the overall design introduces persistence mechanisms that can continue acting on future commits and sessions, increasing the blast radius of misconfiguration or abuse.

Self-Modification

High
Category
Rogue Agent
Content
- The current directory must be inside a git repository.
- QMD is optional but recommended. Use it when available; when missing, suggest installing it before falling back to `rg`.
- Merge existing agent settings and instructions. Do not overwrite existing config files blindly.
- Detect the main cross-project wiki when present. Check `~/wikis/master/wiki/`, `~/wikis/main/wiki/`, `<parent-of-project>/wikis/master/wiki/`, and `<parent-of-project>/wikis/main/wiki/`.
- Install wiki context for all supported agents. Only one agent owns headless scheduled and post-commit maintenance.
Confidence
91% confidence
Finding
This skill instructs the agent to create or modify multiple persistent files in the repository and user environment, including `.llm-wiki/config.json`, `CLAUDE.md`, `AGENTS.md`, `.git/hooks/post-commit`, `.claude/settings.json`, and wiki content. Even though it says not to overwrite blindly, it still authorizes broad self-modification of agent configuration and hook surfaces, which can persist instructions, alter future agent behavior, and create a durable trust boundary change across tools.

Session Persistence

Medium
Category
Rogue Agent
Content
launch a direct refresh against whichever checkout happened to install it.
When automation is not approved, do not enable a timer; the upgrade path uses
`--disabled` to reconcile old units without activating maintenance. On
non-systemd platforms, leave the scripts installed, record the scheduler gap in
`wiki/gaps.md`, and report the manual drain command.

Preserve existing hooks and unrelated hook logic. The bundled runner reads the
Confidence
88% confidence
Finding
The skill installs durable context and automation artifacts intended to affect future sessions and post-commit behavior, including scripts under `.llm-wiki/`, agent instruction files, and potentially scheduler integration after approval. Persistent modifications to hooks and agent context increase the blast radius of any mistake or prompt injection because the behavior can recur automatically in later sessions.

Static analysis

No suspicious patterns detected.