Back to skill

Security audit

Koji

Security checks for vulnerabilities and agentic risk

Overview

This Koji administration skill is mostly coherent, but it includes high-impact administrative examples and an unsafe TLS-disabling setting without enough guardrails.

Install only if you expect the agent to help with Koji administration. Before using it, require explicit user confirmation for delete, cancel-all, ownership, permission, user, repo, and tag changes; keep TLS verification enabled; and avoid exposing keytabs, private keys, certificates, tickets, or config contents in chat or logs.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:546
Finding

TLS Certificate Verification Can Be Disabled

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 546–548
Vulnerability Type: Insecure TLS configuration
Risk Level: High

bash
# Disable SSL verification (not recommended)
export KOJI_SSL_VERIFY=0

Technical Analysis

The Skill documents an environment variable that disables SSL/TLS certificate verification for Koji connections. Although the accompanying comment states that this is not recommended, an agent or user may still execute the command while following the configuration guidance.

Certificate verification establishes that the client is communicating with the intended Koji server. Disabling it can cause the client to accept a certificate supplied by an untrusted or impersonated endpoint. HTTPS encryption alone does not prevent this attack when peer identity validation is disabled.

Attack Path

  1. A user or agent follows the Skill and exports KOJI_SSL_VERIFY=0.
  2. The Koji client subsequently connects without validating the server certificate.
  3. An attacker with a suitable network position intercepts or redirects the connection.
  4. The attacker presents an arbitrary certificate and impersonates the configured Koji endpoint.
  5. The attacker observes or modifies Koji requests and responses, potentially manipulating authenticated build-system operations.

Successful exploitation requires the insecure setting to remain active and the attacker to gain an appropriate network or traffic-redirection position.

Impact Assessment

A successful man-in-the-middle attack could compromise the confidentiality and integrity of Koji communications. Depending on the authentication mechanism and operations performed, the attacker could observe sensitive session traffic, falsify server responses, redirect build activity, or modify administrative requests in transit.

The resulting scope is bounded by the permissions of the authenticated Koji identity. This instruction does not independently grant local system privileges or establis ...[truncated 14 chars]

Remediation
View remediation

Remediation Suggestions

Remove the instruction to disable TLS verification. Diagnose connection failures without weakening server authentication:

  1. Install and configure the correct trusted CA certificate.
  2. Verify that the configured Koji hostname matches the certificate identity.
  3. Correct expired certificates and inaccurate system time.
  4. Keep certificate verification enabled for all production and authenticated connections.
  5. If insecure verification must be retained for an isolated test environment, clearly prohibit production use, constrain it to a dedicated non-sensitive endpoint, and immediately unset the variable afterward:
bash
unset KOJI_SSL_VERIFY
  1. Add an explicit validation step confirming that the Koji endpoint presents a trusted certificate before performing build or administrative operations.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • 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 (5)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill documents destructive administrative commands such as canceling all builds and deleting resources without explicit warnings, scope checks, or confirmation guidance. In a privileged Koji environment, an operator or downstream agent could execute these commands directly and disrupt build pipelines, remove metadata, or affect multiple users' work.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The authentication section exposes concrete locations for keytabs, client certificates, and keys but does not adequately warn about secret handling, file permissions, or avoiding disclosure in logs and chat outputs. In an agent skill, such examples can normalize unsafe credential handling and increase the chance that sensitive paths or files are copied, exfiltrated, or managed insecurely.

Content

No source excerpt is available for this finding.

Unsafe Defaults

Medium
Category
Tool Misuse
Confidence
99% confidence
Finding

The documented environment variable KOJI_SSL_VERIFY=0 disables TLS certificate verification, enabling man-in-the-middle attacks against Koji server communications. Because this skill manages builds, users, permissions, and artifacts, compromised transport could expose credentials, alter build instructions or metadata, and undermine build-system integrity.

Content

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

export KOJI_DEBUG=1

禁用 SSL 验证(不推荐)

export KOJI_SSL_VERIFY=0

text

---

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The troubleshooting text says to add a missing dependency, but the provided command actually changes package ownership with koji add-owner. In a build-system administration context, this can cause unauthorized ownership changes, privilege drift, and operational mistakes while failing to resolve the dependency problem.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The skill is presented as bilingual throughout and labels nearly every section in Chinese and English, which suggests a fixed documentation/output language style rather than a user-selected locale. The policy requires flagging language or locale constraints when the skill forces a specific language without user opt-in.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.