Back to skill

Security audit

Abstract Trimmer

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward local abstract-shortening tool, but users should choose file paths carefully because the script does not enforce the workspace-only limits it claims.

Use this skill only on abstracts or text files you intend to process. Prefer passing files inside the current workspace and avoid sensitive documents. If using --output, choose a new or disposable output path because the script opens the file for writing and can overwrite any path the agent process is allowed to modify.

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
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • 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
Findings (4)

Lp3

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding
The skill advertises file read/write behavior via its documented CLI usage, but it does not declare any explicit tool scope such as permissions or allowed-tools. This creates a governance gap: agents or reviewers cannot reliably constrain or audit what filesystem operations the skill is expected to perform, increasing the chance of unintended file access or writes when integrated into a broader agent environment.

Unbounded Output

Medium
Category
Output Handling
Content
| `--target`, `-T` | int | 250 | No | Target word count |
| `--strategy`, `-s` | str | balanced | No | Trimming strategy (conservative/balanced/aggressive) |
| `--output`, `-o` | str | None | No | Output file path |
| `--check-only`, `-c` | flag | False | No | Only check word count without trimming |
| `--format` | str | json | No | Output format (json/text) |

### Advanced Usage
Confidence
60% confidence
Finding
Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.

Unbounded Output

Medium
Category
Output Handling
Content
| `--target`, `-T` | int | 250 | No | Target word count |
| `--strategy`, `-s` | str | balanced | No | Trimming strategy (conservative/balanced/aggressive) |
| `--output`, `-o` | str | None | No | Output file path |
| `--check-only`, `-c` | flag | False | No | Only check word count without trimming |
| `--format` | str | json | No | Output format (json/text) |

### Advanced Usage
Confidence
60% confidence
Finding
Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.

Natural-Language Policy Violations

Low
Confidence
91% confidence
Finding
The limitation states that the skill is "Optimized for English academic abstracts," which is a language/locale restriction expressed in natural language. The document does not present this as a user choice or provide a region/compliance justification, so it may conflict with the policy against forcing a specific language without opt-in.

Static analysis

No suspicious patterns detected.