Back to skill

Security audit

Accounting Finance System Research Skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward research-and-DOCX workflow for accounting software guidance, with only ordinary dependency and metadata hardening notes.

Before installing, consider using a virtual environment and pinned python-docx versions instead of the documented --user install. The skill asks for accounting system context and may produce operational guidance, so review assumptions and source links before applying steps in production finance systems.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:108
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:108-114
Additional Location: README.md:38-42
Vulnerability Type: Unpinned and unhashed third-party dependency installation
Risk Level: Medium

Complete Vulnerable Code Snippet:

markdown
## Dependency

Install once if needed:

```bash
python -m pip install --user python-docx
text

The same installation command is also documented in `README.md:38-42`.

### Technical Analysis

The project instructs users to install `python-docx` without specifying a reviewed version, cryptographic hash, lock file, or trusted package index. Consequently, pip resolves the package and its transitive dependencies using the currently configured index at installation time.

Although `python-docx` is consistent with the script's imported `docx` module and there is no evidence that the named package is currently malicious, the installation is not reproducible or cryptographically constrained. Its effective dependency contents can change after the Skill has been audited.

The `--user` option installs the dependency into the user's persistent Python environment. This increases the lifetime and potential influence of a compromised or incompatible package beyond a single Skill execution.

### Attack Path

1. An attacker compromises a future release of the named package, one of its dependencies, or a package index configured in the user's pip environment.
2. The user follows the documented `python -m pip install --user python-docx` instruction.
3. Pip resolves the mutable package versions from the configured index without validating them against project-approved hashes.
4. The compromised distribution is downloaded and installed into the user's Python environment.
5. Malicious package installation or runtime behavior executes with the privileges of the user running pip.
6. Subsequent execution of `scripts/build_system_guidance_docx.py` imports the installed `docx` m
...[truncated 1017 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin python-docx and every transitive dependency to reviewed versions in a dependency lock or requirements file.
  2. Record SHA-256 hashes and require pip to verify them using --require-hashes.
  3. Install dependencies in an isolated virtual environment rather than the persistent user-level environment.
  4. Use an explicitly approved package index or an internally controlled artifact repository.
  5. Apply the hardened installation instructions consistently in both SKILL.md and README.md.
  6. Periodically review pinned dependencies for security advisories and update them through a controlled process.

Example hardened workflow:

bash
python -m venv .venv
.venv/bin/python -m pip install \
  --index-url https://pypi.org/simple \
  --require-hashes \
  -r requirements.txt

The corresponding requirements.txt should pin exact versions and include reviewed hashes for all resolved packages.

Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · README.md (reported line 1)May include surrounding context.

md
# Accounting & Finance System Research Skill

Codex skill for handling accounting/finance system "how-to" and troubleshooting questions with a clarification-first workflow, web research, analysis, and DOCX deliverables.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill references local files under references/ and scripts/, which implies file-read capability, but it does not declare any permissions or allowed-tools scope. This creates an implicit trust boundary issue: an agent may access workspace files beyond what reviewers or runtime policy expect, increasing the chance of unintended data exposure or unsafe file handling.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.