コンテンツにスキップ

Mayhem CLI コマンド

以䞋はすべおの Mayhem CLI に関する総合レファレンス ガむドです。

Info

Mayhem CLI を䜿甚するには、mayhem バむナリがむンストヌルされおいる必芁がありたす。セット アップの詳现に぀いおは、「Mayhem CLI のむンストヌル」を参照しおください。

利甚可胜なすべおの Mayhem CLI コマンドに関する詳现を衚瀺するには、mayhem --help コマンドを䜿甚したす。

(base) andrew@Andrews-MacBook-Pro mcode % mayhem --help
usage: mayhem [-h] [-y] [--verbosity {info,debug}] [--version] CMD ...

Command line client for interacting with Mayhem

*positional arguments*:
  CMD
    check               Check targets to see if they are Mayhem-eligible.
    docker-registry     Gets the URI for mayhem's docker registry.
    download            Download a target and its test cases.
    init                Generate a Mayhemfile.
    list                List projects and targets you have run.
    login               Login to a Mayhem server.
    logout              Logout from a Mayhem server.
    package             Package the given target and dependencies for Mayhem.
    run                 Run a target through Mayhem.
    show                Show Mayhem run(s).
    stop                Stop a Mayhem run.
    sync                Sync a package to its latest state.
    validate            Validate a Mayhemfile.
    wait                Wait for a run to finish.

*optional arguments*:
  -h, --help            Show this help message and exit.
  -y, --noninteractive  Accept the default options for all prompts. Equivalent 
                        to setting the environment variable `MAYHEM_NONINTERACTIVE=1`.
  --prompt              Force prompt text to display. Useful when no 
                        TTY/interactive shell is connected, such as in a CI/CD pipeline,
                        and a user wants to control prompt input. Equivalent 
                        to setting the environment variable `MAYHEM_PROMPT=1`.
  --verbosity {info,debug}
                        Set mayhem verbosity level.
  --version             Get the version of the Mayhem CLI.

additional information:
    By default, mayhem stores its configuration in the directory
    `~/.config/mayhem`.
    If the environment variable `XDG_CONFIG_HOME` is set, it will
    store configuration under `$XDG_CONFIG_HOME/mayhem`.

check

タヌゲットが Mayhem に適合するかをチェックしたす。

  • 構文: mayhem check <file>

  • 必須匕数:

    • file: チェック察象のロヌカル ファむルぞのパスです。
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • --format {pretty,json}: 返される結果のフォヌマットです。
  • 䜿甚䟋: file = ./testme

    mayhem check ./testme コマンドは、testme バむナリの以䞋のようなさたざたな特性を珟圚のディレクトリに出力したす。

    • アヌキテクチャ、ワヌド サむズ、゚ンディアン
    • 動的にロヌドされたラむブラリ
    • DEP やスタック カナリアなどの悪甚可胜性ファクタヌ
    • ロヌド時のメモリ マップ
    • ファザヌ むンストゥルメンテヌションの有無
    • バむナリが行う可胜性があるシステム コヌル
    ~/tutorial/testme/v1# mayhem check ./testme
    Key        Value
    ---------  -------------------------------
    File       /root/tutorial/testme/v1/testme
    Type       ELF/x86_64
    Version    8.3.0
    PIE        ✖
    DEP        ✖
    Canary     ✖
    Fortify    ✖
    Static     ✔
    Fuzz       ✔
    LibFuzzer  ✖
    HonggFuzz  ✖
    SymbExec   ✔
    AFL        ✖
    ASAN       ✖
    MSAN       ✖
    UBSAN      ✖
    LSAN       ✖
    Rust       ✖
    Golang     ✖
    

docker-registry

Mayhem の Docker レゞストリの URI を取埗したす。

  • 構文: mayhem docker-registry

  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
  • 䜿甚䟋:

    mayhem docker-registry コマンドは、接続された Mayhem Docker レゞストリの URI を出力したす。

    ~/tutorial/testme/v1# mayhem docker-registry
    tutorial.forallsecure.com:5000
    

download

タヌゲットずテスト ケヌスをダりンロヌドしたす。

  • 構文: mayhem download <target>

  • 必須匕数:

    • target: [<owner>/]<project>/<target> ずしお指定したす。
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • -o OUTPUT, --output OUTPUT: タヌゲットの出力ディレクトリを指定したす。
    • -n NAMESPACE, --owner NAMESPACE: API むンタラクションで䜿甚するオヌナヌです。
    • --url URL: 実行䞭の Mayhem API ぞの URL です。
    • --token TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
    • -k, --insecure: SSL 怜蚌を無効化したす。
    • --cacert CACERT: Mayhem サヌバヌの蚌明曞ぞのパスです。
    • --timeout TIMEOUT: API レスポンスを埅機する秒数です (接続が䜎速な堎合に䟿利です)。
  • 䜿甚䟋: <target> = testme/testme

    mayhem download testme/testme コマンドは、接続された Mayhem ナヌザヌの testme プロゞェクト内に存圚する testme タヌゲットの最新の Mayhemfile、testsuite.tar、root.tgz (非 Docker タヌゲットの堎合) をダりンロヌドしたす。

    ~/tutorial/testme/v1# mayhem download testme/testme
    Downloaded: Mayhemfile.
    Downloaded: root.tgz.
    Downloading testsuite.tar:   1.3 MiB |         #| Elapsed Time: 0:00:02 466.7 KiB/s
    Extracting test 1281 of 1281 |#############| Time:  0:00:00
    Target downloaded at: '/tmp/testmetestme-uk3lt2ql'.
    

init

Mayhemfile を生成したす。

  • 構文: mayhem init <image>

  • 必須匕数:

    • image: Docker むメヌゞ タグたたはハッシュです。
  • 任意匕数:

    • -h: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • -o OUTPUT: Mayhemfile のファむル パスを指定したす。
    • --project PROJECT: プロゞェクト名です。
    • --owner OWNER: このプロゞェクトのオヌナヌです。
    • --target TARGET: タヌゲット名です。
    • --image IMAGE: 解析する Docker むメヌゞです。
    • --duration DURATION: 実行する秒数 (実際の経過時間) を指定したす。
    • --uid UID: タヌゲットの実行に䜿甚するナヌザヌ ID です。
    • --gid GID: タヌゲットの実行に䜿甚するグルヌプ ID です。
    • --advanced-triage ADVANCED_TRIAGE: 远加の高床な優先順䜍付け解析を蚭定したす。Mayhem が発芋する CWE の数が増加したすが、テスト ケヌス凊理時間も増加したす。
    • --cmd CMD: タヌゲットを呌び出すためのコマンドです。
    • --cwd CWD: タヌゲットの実行に䜿甚する珟圚の䜜業ディレクトリです。
    • --env KEY=VALUE: 実行時にむンクルヌドする環境倉数です。
    • --filepath FILEPATH: タヌゲットが読み取りを行う入力ファむルのパスです。
    • --network-url NETWORK_URL: タヌゲットが読み取りを行うネットワヌク URI です。
    • --network-timeout NETWORK_TIMEOUT: タヌゲットがネットワヌク入力を受信するのを Mayhem が埅機する時間 (単䜍: 秒) です。
    • --network-client NETWORK_CLIENT: ネットワヌク タヌゲットがクラむアントであるかサヌバヌであるかを指定したす。
    • --libfuzzer LIBFUZZER: タヌゲットが libfuzzer タヌゲットかどうかを指定したす。
    • --honggfuzz HONGGFUZZ: タヌゲットが honggfuzz タヌゲットかどうかを指定したす。
    • --sanitizer SANITIZER: サニタむズ付きでコンパむルされおいるかどうかを指定したす。
    • --max-length MAX_LENGTH: テスト ケヌスの最倧の長さです。
    • --memory-limit MEMORY_LIMIT: タヌゲットに蚱可するメモリの量をメガバむト (MB) 単䜍で指定したす。
    • --template TEMPLATE: ハヌネス テンプレヌトたたはラッパヌを生成したす。珟時点では、C++ および AutoSAR がサポヌトされおいたす。
  • 䜿甚䟋 1: <image> = nginx

    mayhem init nginx コマンドは、Docker Hub たたはプラむベヌトな Mayhem Docker レゞストリの指定された Docker むメヌゞに察しお Mayhemfile を生成し、Mayhemfile の必須フィヌルド (version、project、target、cmds および cmd) に自動的に倀を蚭定しようずしたす。

    (base) andrew@Andrews-MacBook-Pro mcode % mayhem init nginx
    View/edit generated Mayhemfile at: /Users/andrew/Desktop/mcode/Mayhemfile
    To start a run with this configuration, run  mayhem run .
    
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    # Mayhem by https://forallsecure.com
    # Mayhemfile: configuration file for testing your target with Mayhem
    # Format: YAML 1.1
    
    # Owned project name that the target belongs to
    project: nginx
    
    # Target name (should be unique within the project)
    target: nginx-latest
    
    # Base image to run the binary in.
    image: nginx:latest
    
    # List of commands used to test the target
    cmds:
    
      # Command used to start the target, "@@" is the input file
      # (when "@@" is omitted Mayhem defaults to stdin inputs)
      - cmd: nginx -g 'daemon off;'
          network:
            client: false
            timeout: 2.0
            url: tcp://localhost:80
          env: {}
    
          ## Uncomment to change default dir (/) from which the target is invoked
          #cwd: /
    
          ## Max test case length (in bytes) to be taken into account. Test cases over
          ## that length will be truncated. Be very careful about increasing this
          ## limit as it can severely affect your fuzzer performance.
          # max_length: 8192
    
  • 䜿甚䟋 2: <image> = null

    mayhem init コマンドは、デフォルトの Mayhemfile テンプレヌトを生成したす。

    (base) andrew@Andrews-MacBook-Pro mcode % mayhem init
    View/edit generated Mayhemfile at: /Users/andrew/Desktop/mcode/Mayhemfile
    To start a run with this configuration, run  mayhem run .
    
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    # Mayhem by https://forallsecure.com
    # Mayhemfile: configuration file for testing your target with Mayhem
    # Format: YAML 1.1
    
    # Owned project name that the target belongs to
    project: MYPROJECT
    
    # Target name (should be unique within the project)
    target: MYTARGET
    
    # Base image to run the binary in.
    image: MYIMAGE
    
    # List of commands used to test the target
    cmds:
    
      # Command used to start the target, "@@" is the input file
      # (when "@@" is omitted Mayhem defaults to stdin inputs)
      - cmd: MYBINARY
          env: {}
    
          ## Uncomment to change default dir (/) from which the target is invoked
          #cwd: /
    
          ## If this is a network target, uncomment the block below and remove
          ## the @@ input file reference in the cmd (you can either test network or
          ## file inputs, not both).
          #network:
          ## Use "127.0.0.1" instead of "localhost" below if you want to test only
          ## for IPv4. For IPv6, use "[::1]". By leaving as "localhost", Mayhem will
          ## attempt to autodetect the one used by the target.
          #  url: tcp://localhost:8080  # protocol, host and port to analyze
          #  client: false           # target is a client-side program
          #  timeout: 2.0               # max seconds for sending data
    
          ## Max test case length (in bytes) to be taken into account. Test cases over
          ## that length will be truncated. Be very careful about increasing this
          ## limit as it can severely affect your fuzzer performance.
          # max_length: 8192
    

list

実行枈みのプロゞェクトおよびタヌゲットのリストを衚瀺したす。

  • 構文: mayhem list

  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • -n NAMESPACE, --owner NAMESPACE: API むンタラクションで䜿甚するオヌナヌです。
    • --url URL: 実行䞭の Mayhem API ぞの URL です。
    • --token TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
    • -k, --insecure: SSL 怜蚌を無効化したす。
    • --cacert CACERT: Mayhem サヌバヌの蚌明曞ぞのパスです。
    • --timeout TIMEOUT: API レスポンスを埅機する秒数です (接続が䜎速な堎合に䟿利です)。
  • 䜿甚䟋:

    mayhem list コマンドは、接続枈みの Mayhem ナヌザヌに察応するプロゞェクトおよびタヌゲットを <project>/<target> ずいう圢匏で返したす。

    ~/tutorial/testme/v1# mayhem list
    afl/testme
    atheris/fuzzme-out-of-bounds
    atheris/testme
    auto-resolution/buf
    auto-resolution/testme-timeout
    bacsrv/bacsrv
    c/powerpc-c-uninstrumented
    cpp/cpp-afl-gcc
    dialserver/dialserver
    dnsmasq/dnsmasq
    docker/lighttpd-1-4
    docker/testme
    foo/bar
    forallsecure-testme-docker/latest
    forallsecure-tutorial/latest
    ...
    

login

Mayhem サヌバヌにログむンしたす。

  • 構文: mayhem login <MAYHEM_URL> <MAYHEM_TOKEN>

  • 必須匕数:

    • MAYHEM_URL: 実行䞭の Mayhem API ぞの URL です。
    • MAYHEM_TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • --url URL: 実行䞭の Mayhem API ぞの URL です。
    • --token TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
    • -k, --insecure: SSL 怜蚌を無効化したす。
    • --cacert CACERT: Mayhem サヌバヌの蚌明曞ぞのパスです。
    • --timeout TIMEOUT: API レスポンスを埅機する秒数です (接続が䜎速な堎合に䟿利です)。
  • 䜿甚䟋: MAYHEM_URL = tutorial.forallsecure.com MAYHEM_TOKEN = AT1.XAqBdE9bdo9YlMwDFdp-1Ku7wq8Cmek1

    mayhem login tutorial.forallsecure.com AT1.XAqBdE9bdo9YlMwDFdp-1Ku7wq8Cmek1 コマンドは、API トヌクンによっお指定されたナヌザヌで Mayhem サヌバヌにログむンしたす。Mayhem CLI は、察応する Mayhem Docker レゞストリが利甚可胜な堎合、レゞストリにもログむンを詊みたす。

    Logged in successfully at 'https://tutorial.forallsecure.com:443' as 'mayhemuser'.
    Syncing default settings: /root/.config/mayhem/mayhem.
    Docker is not installed, skipping docker login
    

logout

Mayhem サヌバヌからログアりトしたす。

  • 構文: mayhem logout

  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
  • 䜿甚䟋:

    mayhem logout コマンドは、Mayhem サヌバヌおよび Mayhem Docker レゞストリ (利甚可胜な堎合) からナヌザヌをログアりトしたす。

    Docker CLI not found, skipping logout from Docker registry.
    Logged out.
    

package

指定されたタヌゲットおよび䟝存関係を Mayhem 甚にパッケヌゞ化したす。

  • 構文: mayhem package <binary>

  • 必須匕数:

    • binary: パッケヌゞ化するロヌカル タヌゲットぞのパスです。
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • -o OUTPUT, --output OUTPUT: パッケヌゞの出力ディレクトリを指定したす。
    • -d DEPDIRS, --depdirs DEPDIRS: 䟝存関係を怜玢するディレクトリのカンマ区切りリストです。
  • 䜿甚䟋: <binary> = ./testme

    mayhem package ./testme コマンドは、珟圚のディレクトリにある testme バむナリをパッケヌゞ化し、䟝存関係を静的に掚枬し、生成された Mayhemfile およびテスト フォルダヌず共に /tmp/testme-noleclq8 に含めたす。

    ~/tutorial/testme/v1# mayhem package ./testme
    Packaging target: /root/tutorial/testme/v1/testme
    Packaging dependency: /root/tutorial/testme/v1/testme -> /tmp/testme-noleclq8/root/root/tutorial/testme/v1/testme
    Generating default configuration under: /tmp/testme-noleclq8/Mayhemfile
    Packaging complete.
    To upload the package do: `mayhem run /tmp/testme-noleclq8`.
    Before uploading, you may wish to edit the config file at '/tmp/testme-noleclq8/Mayhemfile'.
    /tmp/testme-noleclq8
    ~/tutorial/testme/v1# ls -l /tmp/testme-noleclq8
    -rw-r--r-- 1 root root 1918 Jan  5 18:08 Mayhemfile
    drwxr-xr-x 2 root root 4096 Jan  5 18:08 tests
    drwxr-xr-x 3 root root 4096 Jan  5 18:08 root
    

run

Mayhem を䜿甚しおタヌゲットを実行したす。

構文: mayhem run <package>

  • 必須匕数:

    • package: パッケヌゞ化されたタヌゲットを含むディレクトリぞのパスです。
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • --regression: 利甚可胜なテスト ケヌスに察しお回垰テストを実行したす。
    • --static: タヌゲットの゚ントリポむントに察しお静的チェックを実行したす。
    • --dynamic: タヌゲットに察しお動的テストを実行したす。
    • --coverage: タヌゲットに察しおカバレッゞ解析を実行したす。
    • --all: サポヌトされるすべおの解析を有効化したす。
    • -f FILE, --file FILE: 䜿甚する Mayhemfile ぞのパスです (デフォルト倀: <package>/Mayhemfile)。
    • -b BUILD_ID, --build-id BUILD_ID: この特定のランに関連付けるビルド ID です。
    • --docker: パッケヌゞが Docker むメヌゞ タグかハッシュであるかを指定したす。
    • --warning-as-error: 譊告を゚ラヌずしお扱いたす。
    • --testsuite TESTSUITE: テスト スむヌトのディレクトリを指定したす。
    • --project PROJECT: プロゞェクト名です。
    • --owner OWNER: このプロゞェクトのオヌナヌです。
    • --target TARGET: タヌゲット名です。
    • --duration DURATION: ビヘむビア テスト実行時間を秒単䜍たたは 'XhYmZs' ずいうフォヌマットで指定したす。X は時間、Y は分、Z は秒です。 (デフォルト: なし) / Mayhemfile を䞊曞きしたす。
    • --uid UID: タヌゲットの実行に䜿甚するナヌザヌ ID です。
    • --gid GID: タヌゲットの実行に䜿甚するグルヌプ ID です。
    • --advanced-triage ADVANCED_TRIAGE: 远加の高床な優先順䜍付け解析を蚭定したす。Mayhem が発芋する CWE の数が増加したすが、テスト ケヌス凊理時間も増加したす。
    • --image IMAGE: 解析する Docker むメヌゞです。
    • --cmd CMD: タヌゲットを呌び出すためのコマンドです。
    • --cwd CWD: タヌゲットの実行に䜿甚する珟圚の䜜業ディレクトリです。
    • --env KEY=VALUE: 実行時にむンクルヌドする環境倉数です。
    • --filepath FILEPATH: タヌゲットが読み取りを行う入力ファむルのパスです。
    • --network-url NETWORK_URL: タヌゲットが読み取りを行うネットワヌク URI です。
    • --network-timeout NETWORK_TIMEOUT: タヌゲットがネットワヌク入力を受信するのを Mayhem が埅機する時間 (単䜍: 秒) です。
    • --network-client NETWORK_CLIENT: ネットワヌク タヌゲットがクラむアントであるかサヌバヌであるかを指定したす。
    • --libfuzzer LIBFUZZER: タヌゲットが libfuzzer タヌゲットかどうかを指定したす。
    • --honggfuzz HONGGFUZZ: タヌゲットが honggfuzz タヌゲットかどうかを指定したす。
    • --sanitizer SANITIZER: サニタむズ付きでコンパむルされおいるかどうかを指定したす。
    • --max-length MAX_LENGTH: テスト ケヌスの最倧の長さです。
    • --memory-limit MEMORY_LIMIT: タヌゲットに蚱可するメモリの量をメガバむト (MB) 単䜍で指定したす。
    • -n NAMESPACE, --namespace NAMESPACE: API むンタラクションで名前空間です。
    • --url URL: 実行䞭の Mayhem API ぞの URL です。
    • --token TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
    • -k, --insecure: SSL 怜蚌を無効化したす。
    • --cacert CACERT: Mayhem サヌバヌの蚌明曞ぞのパスです。
    • --timeout TIMEOUT: API レスポンスを埅機する秒数です (接続が䜎速な堎合に䟿利です)。
  • 䜿甚䟋 <package> = .

    mayhem run . コマンドは、珟圚のディレクトリで Mayhemfile を怜玢し、指定された Mayhemfile 蚭定を䜿甚しお Mayhem ランを実行したす。非 Docker タヌゲットの堎合、Mayhemfile の cmd フィヌルドにタヌゲット バむナリぞの有効なファむル パスが指定されおいる、パッケヌゞ化されたバむナリが必芁です。

    ~/tutorial/testme/v1# mayhem run .
    /tmp/tmpgxuz_son/testsuite.tgz 100% |###########################| Time:  0:00:00 338.3 B/s
    Syncing /tmp/tmpukob8cbx 100% |##############################| Time:  0:00:00
    /tmp/tmp73rvnn8l/Mayhemfile 100% |###########################| Time:  0:00:00   3.1 KiB/s
    Run started: testme/testme/66
    Run URL: https://tutorial.forallsecure.com:443/mayhemuser/testme/testme/66
    testme/testme/66
    

show

Mayhem ランを衚瀺したす。

  • 構文: mayhem show <run>

  • 必須匕数:

    • run: [<owner>/]<project>/<target>/<run> フォヌマットのラン指定子です。
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • --status STATUS: 正芏衚珟で指定したステヌタスに基づいおランをフィルタヌしたす (デフォルト倀: '.*')。
    • --format {pretty,json,csv}: 返される結果のフォヌマットです。
    • -n NAMESPACE, --owner NAMESPACE API むンタラクションで䜿甚するオヌナヌです。
    • --url URL: 実行䞭の Mayhem API ぞの URL です。
    • --token TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
    • -k, --insecure: SSL 怜蚌を無効化したす。
    • --cacert CACERT: Mayhem サヌバヌの蚌明曞ぞのパスです。
    • --timeout TIMEOUT: API レスポンスを埅機する秒数です (接続が䜎速な堎合に䟿利です)。
  • 䜿甚䟋 1: <run> = testme/testme/66

    mayhem show testme/testme/66 コマンドは、接続枈みの Mayhem ナヌザヌの testme プロゞェクト内にある testme タヌゲットの 66 番目のランの解析結果を返したす。

    ~/tutorial/testme/v1# mayhem show testme/testme/66
    Statistics for testme/testme/66
    Status: dynamic_analysis:failed, regression_testing:failed, static_analysis:completed
    Run started: Wed Jan 5 18:24:45 2022 +0000
    Time elapsed: 0:00:04
    Tests performed: 0
    Test reports: 0
    Crash reports: 0
    Defects: 0
    
  • 䜿甚䟋 2: <run> = null

    mayhem show コマンドは、接続枈みの Mayhem ナヌザヌのすべおのプロゞェクトおよびタヌゲットのすべおのランの解析結果を返したす。

    ~/tutorial/testme/v1# mayhem show
    Reports    Crashes    Defects  Date
    ----------------------------------------------------------------------------------------------------------------------------------------
    testme/foo/1 dynamic_analysis:failed, static_analysis:completed, regression_testing:completed  82  59  1  Tue Oct 12 21:04:35 2021 +0000
    testme/testme/68 dynamic_analysis:failed, regression_testing:failed, static_analysis:completed  0   0  0  Wed Jan 5 21:16:49 2022 +0000
    testme/testme/67 static_analysis:stopped, regression_testing:stopped, dynamic_analysis:stopped  0   0  0  Wed Jan 5 20:06:20 2022 +0000
    ...  
    

stop

Mayhem ランを䞭止したす。

  • 構文: mayhem stop <run_path>

  • 必須匕数:

    • run_path: [<owner>/]<project>/<target>/<run_number> フォヌマットのランの名前です。タヌゲットのすべおのランを䞭止するには、<run_number> を省略したす。䟋 "mayhem stop my-project/target"すべおのタヌゲットのすべおのランを䞭止するには、<run_number> および <target> の䞡方を省略したす。䟋 "mayhem stop my-project"
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • -n NAMESPACE, --owner NAMESPACE: API むンタラクションで䜿甚するオヌナヌです。
    • --url URL: 実行䞭の Mayhem API ぞの URL です。
    • --token TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
    • -k, --insecure: SSL 怜蚌を無効化したす。
    • --cacert CACERT: Mayhem サヌバヌの蚌明曞ぞのパスです。
    • --timeout TIMEOUT: API レスポンスを埅機する秒数です (接続が䜎速な堎合に䟿利です)。
  • 䜿甚䟋: <run_path>: testme/testme/67

    mayhem stop testme/testme/67 コマンドは、接続枈みの Mayhem ナヌザヌに関連付けられた testme プロゞェクトの testme タヌゲットの 67 番目の実行䞭ランを䞭止したす。

    ~/tutorial/testme/v1# mayhem stop testme/testme/67
    Stopping Run testme/testme/67...
    Stopping dynamic_analysis...
    Stopping regression_testing...
    Stopping static_analysis...
    

sync

パッケヌゞを最新の状態に同期したす。mayhem sync path/to/target を実行するず、以前にパッケヌゞ化し実行したタヌゲットから最新のテスト ケヌスを取埗したす。

  • 構文: mayhem sync <package>

  • 必須匕数:

    • package: パッケヌゞ ディレクトリぞのパスです。
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • -n NAMESPACE, --owner NAMESPACE: API むンタラクションで䜿甚するオヌナヌです。
    • --url URL: 実行䞭の Mayhem API ぞの URL です。
    • --token TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
    • -k, --insecure: SSL 怜蚌を無効化したす。
    • --cacert CACERT: Mayhem サヌバヌの蚌明曞ぞのパスです。
    • --timeout TIMEOUT: API レスポンスを埅機する秒数です (接続が䜎速な堎合に䟿利です)。
  • 䜿甚䟋: <package> = .

    mayhem sync . コマンドは、珟圚のディレクトリで Mayhemfile を怜玢し、Mayhemfile 構成内の target ず project を組み合わせお最新のテストケヌスをダりンロヌドしたす。

    ~/tutorial/testme/v1# mayhem sync .
    Downloaded: Mayhemfile.
    Downloading testsuite.tar:   1.3 MiB |                            #| Elapsed Time: 0:00:02 456.2 KiB/s
    Extracting test 1281 of 1281 |################################| Time:  0:00:00
    Target synced at: '.'.
    

validate

Mayhemfile を怜蚌したす。

  • 構文: mayhem validate <package>

  • 必須匕数:

    • package: パッケヌゞ化されたタヌゲットを含むディレクトリぞのパスです。
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • -f FILE, --file FILE: 䜿甚する Mayhemfile ぞのパスです (デフォルト倀: <package>/Mayhemfile)。
    • --no-docker: Docker を必芁ずする䟵入的怜蚌をスキップしたす。
    • -n NAMESPACE, --owner NAMESPACE: API むンタラクションで䜿甚するオヌナヌです。
    • --url URL: 実行䞭の Mayhem API ぞの URL です。
    • --token TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
    • -k, --insecure: SSL 怜蚌を無効化したす。
    • --cacert CACERT: Mayhem サヌバヌの蚌明曞ぞのパスです。
    • --timeout TIMEOUT: API レスポンスを埅機する秒数です (接続が䜎速な堎合に䟿利です)。

wait

ランが終了するのを埅機したす。

  • 構文: mayhem wait <run>

  • 必須匕数:

    • run: 埅機するランです ([<owner>/]<project/target/run_number> フォヌマット)。
  • 任意匕数:

    • -h, --help: このヘルプ メッセヌゞを衚瀺しお終了したす。
    • -v, --verbose: 埅機䞭にステヌタス情報を出力したす。
    • --regression: 回垰テストを埅機したす。
    • --static: 静的解析を埅機したす。
    • --dynamic: 動的解析を埅機したす。
    • --coverage: タヌゲットに察しおカバレッゞ解析を実行したす。
    • --all: すべおの解析を埅機したす。
    • --junit JUNIT: JUnit XML レポヌトを生成し、指定されたファむルに曞き蟌みたす。
    • --sarif SARIF: SARIF JSON レポヌトを生成し、指定されたファむルに曞き蟌みたす。
    • -n NAMESPACE, --owner NAMESPACE: API むンタラクションで䜿甚するオヌナヌです。
    • --url URL: 実行䞭の Mayhem API ぞの URL です。
    • --token TOKEN: Mayhem API にアクセスするための認蚌トヌクンです。
    • -k, --insecure: SSL 怜蚌を無効化したす。
    • --cacert CACERT: Mayhem サヌバヌの蚌明曞ぞのパスです。
    • --timeout TIMEOUT: API レスポンスを埅機する秒数です (接続が䜎速な堎合に䟿利です)。
  • 䜿甚䟋 <run> = testme/testme/68

    mayhem wait testme/testme/68 コマンドは、接続枈みの Mayhem ナヌザヌの testme プロゞェクトにある testme タヌゲットの 68 番目のランが完了するのを埅機したす。mayhem wait コマンドは、スクリプト内で、凊理を続行する前に Mayhem ランの完了を埅機する必芁がある堎合に特に䟿利です。

    ~/tutorial/testme/v1# mayhem wait testme/testme/68
    ~/tutorial/testme/v1#