Back to skill

Security audit

QA Test Data Generator

Security checks for vulnerabilities and agentic risk

Overview

This is mostly a coherent test-data generator, but it needs Review because it gives under-scoped guidance for copying production personal data into test environments and has an unsafe SQL output edge case.

Install only if you are comfortable reviewing generated files before use. Prefer synthetic Faker data over copying production data; if real personal data must be used, treat the included masking snippets as insufficient by themselves and require proper anonymization, access controls, and compliance review. Pin Faker to a reviewed version and avoid accepting untrusted `--table` values for SQL output.

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)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/gen_data.py:76
Finding

SQL Injection Through an Unsanitized Table Identifier

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Note
Location
SKILL.md:25
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis
Remediation
View remediation
``` For stronger integrity protection, generate and verify hashes: ```text Faker== \ --hash=sha256: ``` Install with hash enforcement: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` Additional hardening measures: - Commit a reviewed requirements or lock file to the project. - Pin and hash all transitive dependencies, not only the direct Faker dependency. - Update `SKILL.md` and the import error message to reference the dependency file rather than `pip install faker`. - Use an approved package index or internal artifact repository. - Perform dependency vulnerability and provenance checks during CI. - Review and deliberately update dependency versions instead of automatically resolving the latest release. - Avoid installing or running the generator with administrative privileges. ]]>
Vulnerability Patterns
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill explicitly advises copying production data into test environments and provides simple masking routines that may be reversible, incomplete, or insufficient for compliance requirements. Without strong warnings and safer defaults, users may expose real personal data such as Chinese ID numbers, phone numbers, addresses, and bank cards in lower-security environments.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script hard-codes Faker('zh_CN'), which causes generated names, addresses, and related locale-specific data to always use the Chinese locale. This is a natural-language/locale policy concern because users are not offered any language or locale choice or told that output will be locale-constrained.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.