Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Execute Trickest workflows right from your terminal

License

NotificationsYou must be signed in to change notification settings

trickest/trickest-cli

Repository files navigation

ExecuteTrickest workflows right from your terminal.


Trickest Client

About

Trickest platform is an IDE tailored for bug bounty hunters, penetration testers, and SecOps teams to build and automate workflows from start to finish.

Current workflow categories are:

  • Vulnerability Scanning
  • Misconfiguration Scanning
  • Container Security
  • Web Application Scanning
  • Asset Discovery
  • Network Scanning
  • Fuzzing
  • Static Code Analysis
  • ... and a lot more

Library

Trickest Library is a collection of public tools, Trickest scripts, and Trickest workflows available on the platform.

Installation

Binary

Binaries are available in thelatest release.

Docker

docker run quay.io/trickest/trickest-cli

Authentication

You can find your authentication token on theToken page inside the Trickest platform.

The authentication token can be provided through either a string flag--token, a file--token-file, or an environment variableTRICKEST_TOKEN.

The token supplied as--token or--token-file will take priority over the environment variable if both are present.

Usage

List command

All

Use thelist command to list all of your spaces along with their descriptions.

trickest list

Spaces

Use thelist command with the--space or--url flag to list the content of your particular space; its projects and workflows, and their descriptions.

trickest list --space <space_name>
FlagTypeDefaultDescription
--spacestring/The name of the space to be listed
--jsonboolean/Display output in JSON format
--urlstring/URL for referencing a space

Projects

Use thelist command with the--project or--url option to list the content of your particular project; its workflows, along with their descriptions.

trickest list --project <project_name> --space <space_name>
FlagTypeDefaultDescription
--projectstring/The name of the project to be listed.
--spacestring/The name of the space to which the project belongs
--jsonbooleanfalseDisplay output in JSON format
--urlstring/URL for referencing a space
Note: When passing values that have spaces in their names (e.g. "Alpine Testing"), they need to be double-quoted.

GET

Use theget command to get details of a particular workflow (current status, node structure, etc.).

trickest get --workflow <workflow_name> --space <space_name> [--watch]
FlagTypeDefaultDescription
--spacestring/The name of the space to which the workflow/project belongs
--projectstring/The name of the project to which the workflow belongs
--workflowstring/The name of the workflow
--runstring/Get the status of a specific run
--watchbooleanfalseWatch the workflow execution if it's still running
--show-paramsbooleanfalseShow parameters in the workflow tree
--analyze-task-groupsbooleanfalseShow detailed statistics for task groups, including task counts, status distribution, and duration analysis (min/max/median/outliers) (experimental)
--jsonbooleanfalseDisplay output in JSON format
--urlstring/URL for referencing a workflow

The get command provides:

  • Workflow status and run information
  • Node structure and execution details
  • Task group analysis with statistics
  • Average duration and run insights
  • JSON output with detailed information

Execute

Use theexecute command to execute a particular workflow.

trickest execute --workflow <workflow_name> --space <space_name> --config <config_file_path> --set-name "New Name" [--watch]
FlagTypeDefaultDescription
--urlstring/URL copied from the Trickest platform, referencing a workflow, a run, or a node
--configfile/YAML file for run configuration
--workflowstring/Workflow name
--maxbooleanfalseUse maximum number of machines for workflow execution
--outputstring/A comma-separated list of nodes whose outputs should be downloaded when the execution is finished
--output-allbooleanfalseDownload all outputs when the execution is finished
--output-dirstring.Path to the directory which should be used to store outputs
--show-paramsbooleanfalseShow parameters in the workflow tree
--watchbooleanfalseOption to track execution status in case workflow is in running state
--set-namestring/Sets the new workflow name and will copy the workflow to space and project supplied
--cibooleanfalseEnable CI mode (in-progress executions will be stopped when the CLI is forcefully stopped - if not set, you will be asked for confirmation)
--create-missingbooleanfalseCreate space and project if they don't exist
--machinesinteger1The number of machines to use for the workflow execution
--fleetstring"Managed fleet"The name of the fleet to use to execute the workflow
--use-static-ipsbooleanfalseUse static IP addresses for the execution (can also be set via TRICKEST_USE_STATIC_IPS environment variable)
--inputstring/Input to pass to the workflow in the format key=value (can be used multiple times)

Provide parameters usingconfig.yaml file

Use config.yaml file provided using--config flag to specify:

  • inputs values
  • execution parallelism by machine type
  • outputs to be downloaded.

You can useexample-config.yaml as a starting point and edit it according to your workflow.

More example workflowconfig.yaml files can be found in theTrickest Workflows repository. (Coming Soon ✨)

Continuous Integration

You can find the GitHub Action for thetrickest-cli athttps://github.com/trickest/action and the Docker image athttps://quay.io/trickest/trickest-cli.

Theexecute command can be used as part of a CI pipeline to execute your Trickest workflows whenever your code or infrastructure changes. Optionally, you can use the--watch command inside the action to watch a workflow's progress until it completes.

The--output,--output-all, and--output-dir commands will fetch the outputs of one or more nodes to a particular directory, respectively.

Example GitHub action usage

    - name: Trickest Execute      id: trickest      uses: trickest/action@main      env:        TRICKEST_TOKEN: "${{ secrets.TRICKEST_TOKEN }}"      with:        workflow: "Example Workflow"        space: "Example Space"        project: "Example Project"        watch: true        output_dir: reports        output_all: true        output: "report"

Help

Use thehelp command to get detailed information about a workflow, including its inputs, outputs, and example usage.

trickest help --workflow <workflow_name> --space <space_name>
FlagTypeDefaultDescription
--workflowstring/The name of the workflow.
--spacestring/The name of the space to which workflow belongs
--projectstring/The name of the project to which workflow belongs
--urlstring/URL copied from the Trickest platform, referencing a workflow

The help command provides:

  • Workflow description and author information
  • Example command with all available inputs and outputs
  • List of inputs with their types and default values
  • List of outputs
  • Past run statistics including duration and machine usage
  • Author's notes and additional documentation

Stop

Use thestop command to stop a running workflow or node

trickest stop --workflow <workflow_name> --space <space_name> [--run <run_id>] [--all] [--nodes <node_name_or_id>] [--child <child_task_index>]
FlagTypeDefaultDescription
--urlstring/URL copied from the Trickest platform, referencing a workflow and, optionally, a run/node
--workflowstring/The name of the workflow.
--projectstring/The name of the project to which workflow belongs
--spacestring/The name of the space to which workflow belongs
--runstring/Stop a specific run
--allboolfalseStop all runs
--nodesstring/A comma-separated list of nodes to stop. If none specified, the entire run will be stopped. If a node is a task group, the--child flag must be used
--childstring/A comma-separated list or range of child tasks to stop. Example:--child 1,2,3 or--child 1-3 will stop the first three tasks in the specified node's taskgroup
--statusstringrunningA comma-separated list of run statuses to evaluate for stopping. Example:pending,submitted,running

Output

Use theoutput command to download the outputs of your particular workflow execution(s) to your local environment.

trickest output --workflow <workflow_name> --space <space_name> [--nodes <comma_separated_list_of_nodes>] [--config <config_file_path>] [--runs <number>] [--output-dir <output_path_directory>]
FlagTypeDefaultDescription
--workflowstring/The name of the workflow.
--spacestring/The name of the space to which workflow belongs
--urlstring/URL copied from the Trickest platform, referencing a workflow, a run, or a node
--configfile/YAML file for run configuration
--runstring/Download output data of a specific run
--runsinteger1The number of executions to be downloaded sorted by newest
--output-dirstring/Path to directory which should be used to library outputs
--nodesstring/A comma separated list of nodes whose outputs should be downloaded
--filesstring/A comma-separated list of file names that should be downloaded from the selected node

Output Structure

When using theoutput command, trickest-cli will keep the local directory/file structure the same as on the platform. All your spaces and projects will become directories with the appropriate outputs. If a module is among the downloaded outputs, a file will be created for each of its outputs.

Investigate

Use theinvestigate command to analyze a workflow run's execution details within a specific time range.

trickest investigate --workflow <workflow_name> --space <space_name> [--run <run_id>] [--from <start_time>] [--to <end_time>]
FlagTypeDefaultDescription
--workflowstring/The name of the workflow.
--spacestring/The name of the space to which workflow belongs
--projectstring/The name of the project to which workflow belongs
--urlstring/URL copied from the Trickest platform, referencing a workflow
--runstring/Investigate a specific run
--fromstring/Start time of the investigation period (defaults to run's start time; supported formats: 2006-01-02 15:04:05, 15:04:05, 15:04, 3:04PM)
--tostring/End time of the investigation period (defaults to current time; supported formats: 2006-01-02 15:04:05, 15:04:05, 15:04, 3:04PM)
--jsonbooleanfalseDisplay output in JSON format

The investigate command provides:

  • Active sub-jobs during the specified time range
  • Sub-job execution durations
  • IP addresses used by sub-jobs

Library

Use thelibrary command to get more info about Trickest workflows and public tools available in theTrickest Library.

List

Uselibrary list command to list all public workflow, modules, and tools available in thelibrary, along with their descriptions.

trickest library list

Search

Uselibrary search to search all Trickest workflow, modules, and tools available in thelibrary, along with their descriptions.

trickest library search subdomain takeover

Files command

Interact with the Trickest file storage

Get files

Use theget command with the--file flag to retrieve one or more files

trickest files get --file my_file.txt --output-dir out
FlagTypeDefaultDescription
--filestring/File or files (comma-separated)
--output-dirstring/Path to directory which should be used to store files (default ".")
--partial-name-matchbooleanfalseGet all files with a partial name match

Create files

Use thecreate command with the--file flag to upload one or more files

trickest files create --file targets.txt
FlagTypeDefaultDescription
--filestring/File or files (comma-separated)

Delete files

Use thedelete command with the--file flag to delete one or more files

trickest files delete --file delete_me.txt
FlagTypeDefaultDescription
--filestring/File or files (comma-separated)

List files

Use thelist command with the optional--query flag to list or search for files

trickest files list
FlagTypeDefaultDescription
--querystring/Filter listed files using the specified search query
--jsonbooleanfalseDisplay output in JSON format

Tools command

Manageprivate tools

⚒️ Learn how to add your first tool integrationhere.

Create a new private tool integration

trickest tools create --file tool.yaml
FlagTypeDefaultDescription
--filestring/YAML file for tool definition (required)

Update a private tool integration

trickest tools update --file tool.yaml [--id <tool_id>] [--name <tool_name>]
FlagTypeDefaultDescription
--filestring/YAML file for tool definition (required)
--idstring/ID of the tool to update
--namestring/Name of the tool to update

List private tool integrations

trickest tools list [--json]
FlagTypeDefaultDescription
--jsonbooleanfalseDisplay output in JSON format

Delete a private tool integration

trickest tools delete [--id <tool_id>] [--name <tool_name>]
FlagTypeDefaultDescription
--idstring/ID of the tool to delete (either --id or --name is required)
--namestring/Name of the tool to delete (either --id or --name is required)

Scripts command

Manage private scripts

Example script definition

name:hello-worlddescription:Write "Hello, world!" to the outputscript_type:bashscript:echo "Hello, world!" | tee out/output.txt

Create a new private script

trickest scripts create --file script.yaml
FlagTypeDefaultDescription
--filestring/YAML file for script definition (required)

Update a private script

trickest scripts update --file script.yaml [--id <script_id>] [--name <script_name>]
FlagTypeDefaultDescription
--filestring/YAML file for script definition (required)
--idstring/ID of the script to update
--namestring/Name of the script to update

List private scripts

trickest scripts list [--json]
FlagTypeDefaultDescription
--jsonbooleanfalseDisplay output in JSON format

Delete a private script

trickest scripts delete [--id <script_id>] [--name <script_name>]
FlagTypeDefaultDescription
--idstring/ID of the script to delete (either --id or --name is required)
--namestring/Name of the script to delete (either --id or --name is required)

Report Bugs / Feedback

We look forward to any feedback you want to share with us or if you're stuck with a problem you can contact us atsupport@trickest.com.

You can also create anIssue in the GitHub repository.

About

Execute Trickest workflows right from your terminal

Resources

License

Stars

Watchers

Forks

Contributors5


[8]ページ先頭

©2009-2026 Movatter.jp