Back to skill

Security audit

RFP Response Builder

Security checks for vulnerabilities and agentic risk

Overview

The skill uses proportionate local file access, but its coverage scores are unreliable and require human review.

Review every requirement, evidence source, and cited procurement rule manually; the scores do not establish compliance. Remove the template's opening comment lines before use because the CSV reader mistakes them for headers. Use a dedicated output directory to avoid overwriting an existing report. The optional [publisher's Windows app](https://github.com/rapidworker1/Multiple-AI-models-Toolkit) needs a separate trust decision and is outside this verdict.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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 (3)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The script supports a narrow part of the declared workflow: scoring and ranking requirement rows. However, it does not implement the central response-building or reviewer-flagging capabilities. Any nonempty nonnumeric answer or status receives the same value, so an unanswered-status label or inadequate answer can score like a satisfactory one. The observed behavior is therefore a basic completeness-ranking utility rather than the described response builder and review tool. Its local CSV reads and Markdown writes are consistent supporting operations; no unrelated access or external transmission is shown.

Content

No source excerpt is available for this finding.

Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: file_write.

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.

The coverage report rewards any nonempty status or answer and does not flag requirements needing reviewer attention.

Medium
Category
Excessive Agency
Confidence
97% confidence
Finding

The scoring logic treats any nonempty text—including 'unanswered', 'noncompliant', or 'no evidence'—as positive coverage, accepts unbounded numeric values, and emits no requirement-specific reviewer flags. A contributor controlling CSV content could therefore inflate rankings and obscure unmet requirements, undermining the skill's stated compliance-review purpose. The RFP context makes inaccurate coverage consequential, although this script only generates a local report and does not submit a proposal.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.