Back to skill

Security audit

Password Generator

Security checks for vulnerabilities and agentic risk

Overview

This skill is a credential generator, but its code does not provide the secure randomness and strength its documentation promises.

Review before installing. Running the skill does not appear to exfiltrate data or persist on the system, but its generated passwords, PINs, and passphrases should not be trusted for real accounts or secrets until it uses a cryptographically secure RNG, fixes passphrase entropy, aligns CLI defaults with the documentation, and removes or implements the secure-token claim.

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 (3)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/generate.py:6
Finding

Cryptographically Insecure PRNG Used to Generate Credentials

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/generate.py:13
Finding

Default Passphrases Have Insufficient Entropy

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
scripts/generate.py:31
Finding

Command-Line Defaults Generate Lowercase-Only Passwords

Content
View full analysis
?' password = ''.join(random.choice(chars) for _ in range(length)) return password ``` ```python parser.add_argument('--numbers', action='store_true', help='Include numbers') parser.add_argument('--symbols', action='store_true', help='Include special symbols') parser.add_argument('--uppercase', action='store_true', help='Include uppercase letters') ``` ```python password = generate_password( args.length, args.numbers, args.symbols, args.uppercase, args.exclude ) ``` ### Technical Analysis The `generate_password()` function declares secure-looking defaults that enable numbers, symbols, and uppercase letters. However, each `argparse` option uses `action='store_true'`, so all three command-line values default to `False`. These explicit `False` values override the function defaults. As a result, the documented quick-start command: ```bash python scripts/generate.py ``` generates a 16-character password using only lowercase ASCII letters. Its maximum search-space estimate is approximately `log2(26^16)`, or 75 bits, rather than the larger character space implied by the function defaults and security-oriented documentation. The issue is compounded by the use of a non-cryptographic PRNG. The resulting passwords are not necessarily immediately crackable in every deployment, but users receive materially less character diversity than the implementati ...[truncated 999 chars]
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The skill claims to generate secure passwords, passphrases, and secure tokens, but the available documentation does not support the token feature and the static finding indicates the implementation may rely on non-cryptographic randomness. If true, users could trust weak outputs for credentials or secrets, leading to predictable passwords or tokens and account compromise.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The description says to use the skill whenever a user needs to create strong passwords, secure tokens, PINs, or passphrases, but it does not define any exclusion conditions or narrower trigger constraints. In a manifest context, this broad natural-language triggering can overlap with general conversation about passwords or tokens and may cause unintended invocation.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
scripts/generate.py:95