Back to skill

Security audit

Phy Rate Limit Audit

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local static-analysis helper for finding missing rate limits and related resource-exhaustion risks, with no evidence of hidden execution, data exfiltration, or persistence.

Installers should understand that the tool reads source files under the path they choose and may produce false positives because it uses regex proximity checks. Treat findings as review prompts, especially for centralized middleware or abstracted frameworks, rather than automatic proof of vulnerability.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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 (4)

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest description centers the skill on detecting missing rate limits on API endpoints. However, the implemented checks RL007, RL008, and RL009 analyze retry strategies, background queue/semaphore usage, and circuit-breaker or timeout protections, which go beyond rate-limiting semantics into general reliability and resource-management auditing.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The prose states the check finds email/SMS provider calls without a nearby guard and the sample output claims detection in a service file via caller-chain reasoning. In code, check_rl003_email_sms_no_limit does not traverse callers at all; it simply skips cases unless a local route-handler regex is present in nearby lines, which is a materially different behavior.

Content

No source excerpt is available for this finding.

Unbounded Resource Access

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill allows unbounded resource consumption (API calls, storage, compute). Without rate limits or quotas, a compromised or misbehaving agent can cause denial-of-service or cost overruns.

Content

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

md
severity="HIGH",
        location="<project>",
        message="No rate-limiting library imported anywhere in the codebase. All endpoints are unprotected.",
        attack="Unlimited requests — brute force, DoS, cost amplification attacks all possible.",
        cwe="CWE-400: Uncontrolled Resource Consumption",
        fix=(
            "JS: npm install express-rate-limit  |  "

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
99% confidence
Finding

The Quick Start and CLI help both describe verbose output, and audit() even accepts a verbose argument. But no code path changes output based on verbose, so the documentation promises behavior that the implementation does not provide.

Content

No source excerpt is available for this finding.