Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsLearn about OS Command Injection vulnerabilities in an interactive lesson.
Start learningThere is no fixed version for metagpt
.
metagpt is a The Multi-Agent Framework
Affected versions of this package are vulnerable to OS Command Injection via the RunCode.run_script()
method. An attacker with the QaEngineer role can execute arbitrary commands on the system by injecting shell metacharacters into the input parameters.
import os
os.environ["OPENAI_API_KEY"] = "sk-..."
import asyncio
from metagpt.roles import (
ProductManager,
Architect,
ProjectManager,
Engineer,
QaEngineer
)
from metagpt.team import Team
async def startup(idea: str):
company = Team()
company.hire(
[
ProductManager(),
Architect(),
ProjectManager(),
Engineer(),
QaEngineer()
]
)
company.invest(investment=1.0)
company.run_project(idea=idea)
await company.run(n_round=16)
async def app(user_prompt):
await startup(idea=user_prompt)
if __name__ == "__main__":
user_input = "I want to execute shell command `ls -l`. Please help me write a piece of code and test this code."
asyncio.run(app(user_input))