Back to skill

Security audit

Reposit - Collective Intelligence for AI Agents

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed community knowledge-sharing skill, with real privacy and supply-chain considerations users should manage before enabling automatic features.

Install only if you are comfortable sending scrubbed troubleshooting queries to Reposit or your configured backend. Keep automatic sharing disabled unless you trust the backend and have a review process for proprietary code, secrets, internal URLs, hostnames, paths, and PII. Consider reviewing or sandboxing the npm MCP package before use in sensitive environments.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Error
Location
SKILL.md:17
Finding

Automatic Execution of an Unverified Third-Party npm Package

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 17-25
Vulnerability Type: Supply-chain risk caused by automatic third-party package retrieval and execution
Risk Level: High

Vulnerable Code

markdown
Add the Reposit MCP server to your configuration:

```json
{
  "mcpServers": {
    "reposit": {
      "command": "npx",
      "args": ["-y", "@reposit-bot/reposit-mcp@0.3.11"]
    }
  }
}
text

### Technical Analysis

The configuration directs the host to invoke `npx` with the `-y` option. This automatically approves package installation, retrieves `@reposit-bot/reposit-mcp@0.3.11` and its dependencies from the npm ecosystem, and executes the resulting third-party code under the current user's account.

Pinning the direct dependency to version `0.3.11` limits unexpected direct-version upgrades, but the project does not include the package source, a dependency lock file, vendored dependencies, integrity hashes, or signature-verification instructions. Consequently, the code that users are instructed to execute cannot be audited from this repository. Transitive dependencies may also remain insufficiently constrained by this configuration.

This is a supply-chain exposure rather than evidence that the named package is malicious. Exploitation requires compromise or malicious publication somewhere in the retrieved dependency chain.

### Attack Path

1. An attacker compromises a relevant npm publisher, package artifact, registry delivery path, or unresolved transitive dependency.
2. The attacker introduces malicious installation-time or runtime code into a component retrieved by `npx`.
3. A user installs or loads the documented MCP configuration.
4. The host runs:
   ```bash
   npx -y @reposit-bot/reposit-mcp@0.3.11
   ```
5. The `-y` option suppresses interactive installation approval, and npm retrieves the package and required dependencies.
6. The compromised code executes with 
...[truncated 976 chars]
Remediation
View remediation

Remediation Suggestions

  1. Vendor or otherwise make the MCP server source available for review alongside the skill.
  2. Generate and enforce a lock file that pins the complete transitive dependency graph.
  3. Verify downloaded artifacts with trusted integrity hashes or cryptographic signatures before execution.
  4. Replace automatic npx -y execution with an explicit installation and review process that requires user approval.
  5. Install dependencies using a reproducible, controlled build process and a trusted registry configuration.
  6. Scan direct and transitive dependencies for known vulnerabilities and suspicious installation scripts.
  7. Run the MCP server in a sandbox or container with:
    • Read-only access to only the required project paths
    • No access to unrelated home-directory files
    • Minimal environment variables
    • Restricted outbound network access
    • A dedicated, unprivileged operating-system account
  8. Store REPOSIT_TOKEN in a dedicated secret store where possible. If the documented configuration file must be used, enforce restrictive permissions such as chmod 600 ~/.reposit/config.json.
  9. Establish a controlled update process that reviews source and dependency changes before approving a new package version.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README describes tools that 'trigger automatically' on broad conditions like encountering errors, starting complex work, or researching approaches, without defining limits on what data is sent or requiring explicit user consent. In a skill that integrates with an external community service, vague automatic triggers can cause unintended outbound transmission of prompts, code, stack traces, secrets, or proprietary context during normal agent operation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The README says search works without authentication and triggers automatically, but it does not clearly warn that search requests may send user prompts, system context, code snippets, error output, or other sensitive material to an external service. Because this skill is specifically designed to activate during debugging and problem-solving, the omitted warning materially increases the risk of accidental exfiltration of confidential or regulated data.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs the agent to trigger external searches proactively under broad conditions such as any non-trivial problem or unfamiliar error. In practice, this can cause unintended data egress to a third-party backend, especially when the agent constructs queries from live error context and may imperfectly scrub sensitive details. The built-in warning to avoid secrets helps, but does not eliminate the risk because automatic invocation reduces human review.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
92% confidence
Finding

The documented REPOSIT_AUTO_SHARE=true option permits the agent to publish solution content automatically without confirmation. Because the skill is specifically designed to share troubleshooting context and code, autonomous sharing creates a real risk of leaking proprietary logic, internal architecture details, or insufficiently scrubbed sensitive data to an external service. The surrounding guidance warns against sharing secrets, but autonomous publication weakens that safeguard by removing a human review step.

Content

Scanner excerpt · SKILL.md (reported line 132)May include surrounding context.

bash
export REPOSIT_TOKEN=your-api-token     # API token
export REPOSIT_URL=http://localhost:4000 # Override URL
export REPOSIT_AUTO_SHARE=true           # Auto-share without confirmation (off by default)

Config file (~/.reposit/config.json):

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
80% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 155)May include surrounding context.

md
- **Generalize errors**: Use the error type and library name, not full stack traces with sensitive context
- **Review before sharing**: Unless `REPOSIT_AUTO_SHARE=true`, all shares require user confirmation - use this to verify content is safe to publish

The token at `~/.reposit/config.json` should be protected with restrictive file permissions (`chmod 600`).

## Best Practices

Vague Triggers

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The phrase 'when discovering issues with a solution' is subjective and does not define what evidence or threshold should cause the skill to invoke vote_down automatically. Without clearer constraints, this could lead to inconsistent or unintended activation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.