Back to skill

Security audit

performance-tester

Security checks for vulnerabilities and agentic risk

Overview

This is a legitimate performance-testing skill, but its examples can create heavy load and modify real systems without enough safety limits or authorization guidance.

Review before installing or using this skill. Only run generated load, stress, checkout, or database benchmarks against systems you own or are explicitly authorized to test, preferably isolated staging environments with synthetic data. Add explicit traffic limits, stop conditions, non-production defaults, least-privilege database credentials, pinned CI dependencies, and safer package installation steps before copying the examples into automation.

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

T08 · Insecure Dependencies

Warning
Location
references/examples.md:825
Finding

Mutable and Unpinned CI Dependencies Create a Supply-Chain Risk

Content
View full analysis
Remediation
View remediation
- uses: actions/setup-node@ ``` 2. Use a locked Python dependency file with exact versions and hashes: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Pin operating-system packages to reviewed versions where reproducibility is required. 4. Replace `apt-key` with a repository-specific keyring and use `signed-by` in the repository configuration. 5. Retrieve the signing key over HTTPS from an authenticated official source and independently verify its full fingerprint. 6. Set minimal workflow permissions, for example: ```yaml permissions: contents: read ``` 7. Keep secret-consuming steps in isolated jobs and expose each secret only to the specific step that needs it. 8. Enable dependency update review, provenance verification, and automated alerts for pinned dependencies. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
references/examples.md:419
Finding

Unquoted Database Parameters Permit Shell Word Splitting and pgbench Argument Injection

Content
View full analysis
results/readonly_${clients}_clients.log 2>&1 pgbench -c $clients -j $(nproc) -T $DURATION -f custom_writeonly.sql -h $DB_HOST -p $DB_PORT -U $DB_USER $DB_NAME \ > results/writeonly_${clients}_clients.log 2>&1 pgbench -c $clients -j $(nproc) -T $DURATION -f custom_mixed.sql -h $DB_HOST -p $DB_PORT -U $DB_USER $DB_NAME \ > results/mixed_${clients}_clients.log 2>&1 pgbench -c $clients -j $(nproc) -T $DURATION -h $DB_HOST -p $DB_PORT -U $DB_USER $DB_NAME \ > results/tpcb_${clients}_clients.log 2>&1 done ``` ### Technical Analysis The database connection parameters originate from environment variables and are expanded without quotation. In POSIX-compatible shells, unquoted expansions undergo field splitting and pathname expansion. A value containing spaces can therefore become multiple command-line arguments, while wildcard characters may expand to local filenames. This does not, by itself, cause shell metacharacters embedded in a variable to be reparsed as standalone shell commands. It does, however, permit argument injection into `pgbench`. An attacker who can control one of these environment variables may append options understood by `pgbench`, alter the selected workload, change connection behavior, or cause local files to be interpreted as benchmark scripts. The script also lacks ...[truncated 2031 chars]
Remediation
View remediation
&2; exit 1 ;; esac ``` 4. Validate hostnames, usernames, and database names against strict formats appropriate to the deployment. 5. Use shell arrays to construct commands so each logical value remains one argument. 6. Add strict execution settings near the start of the script: ```bash set -euo pipefail ``` 7. Create the results directory explicitly and use controlled, absolute working paths. 8. Prevent untrusted workflow inputs or pull-request-controlled configuration from overriding database environment variables. 9. Run database benchmarks with a dedicated least-privileged database account against an isolated non-production environment. 10. Remove the plaintext default password and require credentials to be supplied through an approved secret mechanism. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (17)

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/examples.md (reported line 231)May include surrounding context.

Example 2

xml
<!-- jmeter/api-load-test.jmx -->
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2">
  <hashTree>

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/examples.md (reported line 838)May include surrounding context.

md
node-version: 18
    
    - name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/examples.md (reported line 840)May include surrounding context.

md
node-version: 18
    
    - name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/examples.md (reported line 918)May include surrounding context.

md
node-version: 18
    
    - name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/examples.md (reported line 920)May include surrounding context.

md
node-version: 18
    
    - name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This skill explicitly covers load testing, stress testing, and infrastructure performance optimization, but it does not warn users that generated traffic can disrupt services, exhaust quotas, or affect third-party systems if run against production or unauthorized targets. In this context, the omission increases the chance that an agent or user will treat intrusive testing as routine guidance and perform potentially harmful actions without authorization safeguards.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The examples include load, stress, spike, checkout, database write, and pgbench scripts that can generate substantial traffic and mutate data, but they do not clearly warn users to restrict execution to authorized non-production environments. In a performance-testing skill, such behavior is expected, yet the absence of strong safety guardrails increases the chance of accidental denial of service, production impact, or corruption of real data.

Content

No source excerpt is available for this finding.

Internal Network Request

Medium
Category
Server-Side Request Forgery
Confidence
70% confidence
Finding

Code issues a request to a loopback, link-local, or private-range host. This can reach internal services not meant to be exposed and is a common SSRF pivot.

Content

Scanner excerpt · references/examples.md (reported line 599)May include surrounding context.

md
while self.running:
            try:
                # Application metrics endpoint
                response = requests.get('http://localhost:3000/metrics', timeout=5)
                
                if response.status_code == 200:
                    app_metrics = response.json()

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · references/examples.md (reported line 839)May include surrounding context.

md
- name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update
        sudo apt-get install k6

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · references/examples.md (reported line 840)May include surrounding context.

md
- name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update
        sudo apt-get install k6

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · references/examples.md (reported line 841)May include surrounding context.

md
- name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update
        sudo apt-get install k6

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · references/examples.md (reported line 842)May include surrounding context.

md
- name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update
        sudo apt-get install k6

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · references/examples.md (reported line 847)May include surrounding context.

md
- name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update
        sudo apt-get install k6

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · references/examples.md (reported line 919)May include surrounding context.

md
- name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update
        sudo apt-get install k6

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · references/examples.md (reported line 920)May include surrounding context.

md
- name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update
        sudo apt-get install k6

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · references/examples.md (reported line 921)May include surrounding context.

md
- name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update
        sudo apt-get install k6

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · references/examples.md (reported line 922)May include surrounding context.

md
- name: Install K6
      run: |
        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
        echo "deb https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
        sudo apt-get update
        sudo apt-get install k6

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/examples.md:70