T09 · Insecure Skill Coding Practices
- Location
SKILL.md:80- Finding
PDF Passwords Exposed Through Command-Line Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a straightforward PDF command-reference skill with some security caveats, but I found no hidden, deceptive, or purpose-mismatched behavior.
Install only if you are comfortable using PDFtk on local PDFs. Avoid putting real PDF passwords directly in shell commands, treat decrypted files and extracted attachments as sensitive, prefer modern encryption tools for confidential documents, and verify any source archive before building it.
SKILL.md:80PDF Passwords Exposed Through Command-Line Arguments
references/pdftk-cli-examples.md:80Obsolete RC4 Encryption Presented as a Document-Protection Workflow
references/download.md:55Downloaded Source Archive Is Built Without Cryptographic Integrity Verification
Referenced artifact was not completely inspected
- [pdftk-man-page.md](references/pdftk-man-page.md) - Complete manual reference with all operations, options, and syntax
This markdown skill description includes privacy-impacting behaviors such as decrypting PDFs and extracting embedded files, but it does not warn users that these actions may reveal protected content or recover sensitive attachments onto disk. Under the markdown criteria for missing user warnings, descriptions should disclose behaviors that could affect user data or privacy.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- PDFtk Server must be installed on the system
- **Windows**: `winget install --id PDFLabs.PDFtk.Server`
- **macOS**: `brew install pdftk-java`
- **Linux (Debian/Ubuntu)**: `sudo apt-get install pdftk`
- **Linux (Red Hat/Fedora)**: `sudo dnf install pdftk`
- Access to a terminal or command prompt
- Verify installation by running `pdftk --version`
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- PDFtk Server must be installed on the system
- **Windows**: `winget install --id PDFLabs.PDFtk.Server`
- **macOS**: `brew install pdftk-java`
- **Linux (Debian/Ubuntu)**: `sudo apt-get install pdftk`
- **Linux (Red Hat/Fedora)**: `sudo dnf install pdftk`
- Access to a terminal or command prompt
- Verify installation by running `pdftk --version`
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
On Debian/Ubuntu-based distributions:
sudo apt-get install pdftk
On Red Hat/Fedora-based distributions:
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
On Debian/Ubuntu-based distributions:
sudo apt-get install pdftk
On Red Hat/Fedora-based distributions:
This markdown file includes commands to remove PDF encryption and later to extract embedded attachments, both of which can affect protected content and expose user data. The examples present these operations as straightforward commands without any warning about authorization, sensitivity of decrypted files, or risks from unpacking embedded files.
This file is markdown, so SQP-2 applies to descriptions that omit warnings about behaviors affecting user data or privacy. The unpack_files example explicitly extracts embedded files to disk, and nearby sections also describe exporting metadata, but the document provides no caution that these outputs may contain sensitive information from the source PDF.
Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.
| `ScreenReaders` | Allow screen reader access |
| `ModifyAnnotations` | Allow annotation modification |
| `FillIn` | Allow form fill-in |
| `AllFeatures` | Grant all permissions |
## Key Notes
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Download the Bouncy Castle source code from: http://www.bouncycastle.org/.
No suspicious patterns detected.