Back to skill

Security audit

Autogen Skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is a small AutoGen usage wrapper with no bundled executable payload, but users should pin the Python dependency if they install it themselves.

Install and run this in an isolated Python environment, pin `pyautogen` to a reviewed version if installing manually, and make sure any AutoGen agents you create have the level of autonomy and code-execution permissions you intend.

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:44
Finding
Unpinned Third-Party Python Dependency## Vulnerability Details **File Location**: `SKILL.md`, line 44 **Vulnerability Type**: Unpinned dependency installation **Risk Level**: Medium ```text pip install pyautogen ``` ### Technical Analysis The installation guidance retrieves `pyautogen` from pip's configured package index without specifying an exact version, cryptographic hashes, a lockfile, or a verified repository. Consequently, the installed artifact may change over time without any corresponding change to the reviewed skill. This weakens supply-chain integrity. If a future package release, distribution artifact, configured package index, or upstream publishing account is compromised, installation could introduce attacker-controlled code. Python source distributions may execute build-related code during installation, while malicious code in an installed wheel can execute when the package is imported or used. ### Attack Path 1. An attacker compromises the upstream publishing process, a configured package index, or a future dependency release. 2. The attacker publishes a malicious artifact under a version accepted by the unrestricted installation command. 3. A user follows the documented instruction and runs `pip install pyautogen`. 4. Pip resolves and installs the attacker-controlled version because no reviewed version or artifact hash is enforced. 5. Malicious code executes during an applicable build process or when the installed package is imported and used. This exploitation path is conditional on compromise or malicious modification of the dependency supply chain; the audited file does not itself contain a malicious payload. ### Impact Assessment Attacker-controlled package code could operate with the privileges of the account that installs or runs the package. Depending on that account's permissions and environment, the impact could include access to project files, environment variables, API credentials, network resources, and other data available t ...[truncated 193 chars]
Remediation
## Remediation Suggestions - Pin `pyautogen` to a specifically reviewed version rather than accepting any available release. - Generate and maintain a dependency lockfile that also pins transitive dependencies. - Require cryptographic hashes for downloaded artifacts, such as by using a hashed requirements file with `pip install --require-hashes`. - Install only from an explicitly configured and trusted package index. - Verify that the selected package and release correspond to the official Microsoft AutoGen distribution. - Review dependency updates before changing the pinned version and use automated vulnerability and provenance checks in the update process. - Perform installation and execution in an isolated, least-privileged virtual environment or container without unnecessary credentials.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
This markdown file uses Chinese for the description, headings, and usage guidance, which effectively forces a specific language on users. The policy allows locale constraints only when users are given a choice or when the restriction is clearly documented and justified, neither of which appears here.

Static analysis

No suspicious patterns detected.