Skip to content
Report library
Purpose / Documents

Defuddle Skill Security Audit

What the author says it does (original text)

Extract clean markdown content from web pages using Defuddle CLI, removing clutter and navigation to save tokens. Use instead of WebFetch when the user provides a URL to read or analyze, for online documentation, articles, blog posts, or any standard web page. Do NOT use for URLs ending in .md — those are already markdown, use WebFetch directly.

Independent security check

Security risks found

Files checked
1
Risks found
2
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.Risks found: 1
Medium risk

Installs and executes an unpinned npm package globally

Source references: 1
What we found

When Defuddle is absent, the Skill directs `npm install -g defuddle`. This downloads whichever version npm resolves, installs it globally, and may run package lifecycle scripts; no exact version, integrity check, or script restriction is specified.

Why this matters

If the package, a dependency, or its publishing account is compromised, installation could execute code with the agent user's permissions and access or modify files and credentials available to that user. The global install also persistently changes the tool environment.

This is an active installation instruction, not a warning or test. When the tool is absent, it calls for a global install of an unpinned `defuddle` package from npm. Execution would modify the global software environment, and the installed content depends on the package version npm resolves at that time; the shown command neither pins a version nor disables install scripts. The risk applies only if the agent runs this fallback, and the source does not show that installation occurred or that the package is malicious. A user can require a pinned version and an isolated or project-local install.

SKILL.md:10In the instructionsOpen original file
If not installed: `npm install -g defuddle`
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.No risks found
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
Medium risk

Fixed output name may overwrite an existing content.md

Source references: 1
What we found

The save example targets the fixed filename `content.md` in the current directory without requiring an existence check, overwrite confirmation, or unique destination.

Why this matters

If the CLI overwrites existing output, a same-named workspace document could be lost or replaced with fetched web content. The supplied material does not state how the tool behaves when the file already exists.

What this evidence establishes

The Skill does show an example that writes to the fixed name `content.md` in the current directory, so an existing user file could be lost if the command overwrites its target. However, the supplied source does not say whether Defuddle overwrites, refuses, or prompts when that file exists, and this is a save-to-file example rather than a requirement to always use that name. The path-collision concern is plausible, but overwrite behavior cannot be established from these lines alone. A user can require an existence check and a fresh output path before execution.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:20In the instructionsOpen original file
Save to file:```bashdefuddle parse <url> --md -o content.md```
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

2 instruction sections

The Skill uses the Defuddle CLI to fetch and extract readable content from ordinary web pages, preferring Markdown output. This passes the user-provided URL to a local command-line program for network retrieval and parsing.

View source
SKILL.md:8In the instructionsOpen original file
Use Defuddle CLI to extract clean readable content from web pages. Prefer over WebFetch for standard web pages — it removes navigation, ads, and clutter, reducing token usage.
SKILL.md:16In the instructionsOpen original file
```bashdefuddle parse <url> --md```

The Skill also provides a command that writes extracted content to content.md in the current directory and commands for retrieving individual metadata fields such as title, description, or domain.

View source
SKILL.md:20In the instructionsOpen original file
Save to file:```bashdefuddle parse <url> --md -o content.md```
SKILL.md:26In the instructionsOpen original file
Extract specific metadata:```bashdefuddle parse <url> -p titledefuddle parse <url> -p descriptiondefuddle parse <url> -p domain```
Start here · InstructionsSKILL.md
defuddle
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions

Operations mentioned in code and instructions

Install extra software packages
SKILL.md:10In the instructionsOpen original file
If not installed: `npm install -g defuddle`
Run commands
SKILL.md:16In the instructionsOpen original file
```bashdefuddle parse <url> --md
SKILL.md:22In the instructionsOpen original file
```bashdefuddle parse <url> --md -o content.md
SKILL.md:28In the instructionsOpen original file
```bashdefuddle parse <url> -p title
Lines read
42
File checksum (to compare versions)
802fddbc67dc8e6e7b4173e97e5802bab6df4f90ac1b9c73f45298283569b3fc