Back to skill

Security audit

Bid Reader

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward document text extractor with a real dependency-hygiene caution, but no hidden access, persistence, network transfer, or destructive behavior was found.

Install it in an isolated environment and pin reviewed dependency versions before regular use. Treat bid documents from outside parties as untrusted, and only pass files whose extracted text you are comfortable exposing to the calling agent and its output.

Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (6)

Unpinned Dependencies

Low
Category
Supply Chain
Content
pdfplumber
python-docx
pandas
openpyxl
Confidence
98% confidence
Finding
The dependency pdfplumber is unpinned, which means installs may resolve to different versions over time. This creates supply-chain and stability risk because a future compromised or breaking release could be pulled into the environment without review.

Unpinned Dependencies

Low
Category
Supply Chain
Content
pdfplumber
python-docx
pandas
openpyxl
Confidence
99% confidence
Finding
python-docx is unpinned, so the environment may install any available version, including versions with known security defects. Because this package has historical XXE-related advisories, leaving it unpinned increases the chance of resolving to a vulnerable release depending on installer behavior and mirrors.

Unpinned Dependencies

Low
Category
Supply Chain
Content
pdfplumber
python-docx
pandas
openpyxl
Confidence
95% confidence
Finding
pandas is unpinned, so builds are not reproducible and may unexpectedly pull in versions with defects or behavior changes. While the cited pandas advisory is disputed and context-dependent, unpinned installation still creates avoidable supply-chain risk.

Unpinned Dependencies

Low
Category
Supply Chain
Content
pdfplumber
python-docx
pandas
openpyxl
Confidence
99% confidence
Finding
openpyxl is unpinned, allowing installation of arbitrary versions, including releases with known XXE-related vulnerabilities. In a skill that processes office documents, this is more dangerous because package version drift could expose XML parser flaws when handling attacker-supplied files.

Known Vulnerable Dependency: python-docx — 2 advisory(ies): CVE-2016-5851 (Improper Restriction of XML External Entity Reference in python-docx); CVE-2016-5851 (python-docx before 0.8.6 allows context-dependent attackers to conduct XML Exter)

High
Category
Supply Chain
Confidence
90% confidence
Finding
python-docx has a known XXE vulnerability in older versions, and the requirements file does not constrain it to a safe release. In a document-processing skill, this is especially relevant because attacker-controlled DOCX files may trigger XML entity resolution, potentially causing file disclosure, SSRF, or related parser abuse depending on runtime configuration.

Known Vulnerable Dependency: openpyxl — 2 advisory(ies): CVE-2017-5992 (Improper Restriction of XML External Entity Reference in Openpyxl); CVE-2017-5992 (Openpyxl 2.4.1 resolves external entities by default, which allows remote attack)

High
Category
Supply Chain
Confidence
91% confidence
Finding
openpyxl has known XXE issues in affected versions, and the package is included without any version constraint. Because this skill appears to process spreadsheet or office-style files, an attacker may be able to supply crafted XLSX content that abuses XML entity expansion or external entity resolution to access internal resources or local files.

Static analysis

No suspicious patterns detected.