An unofficial Administrative Command Line Interface (CLI) for Contrast Security.
- Login to your Contrast account and save your API credentials to your local machine.
- Configure your API credentials manually.
- Download the agent configuration file to your local machine.
- Integrate with Secure Code Warrior to fetch training exercises and videos for identified vulnerabilities.
- Download the latest Contrast Security agent from the Maven repository.
- Python 3.8 or higher
$ pip install c6t
This will prompt you to login to your Contrast account and save your API credentials to your local machine.
$ c6t login
Alternatively, you can configure your API credentials manually.
$ c6t configure
This will download the agent configuration file to your local machine.
$ c6t agent-config
c6t-main/
├── .github/ # GitHub configuration files for CI/CD
│ ├── dependabot.yml
│ └── workflows/
│ └── dump-env.yml
├── src/ # Source files for the c6t package
│ └── c6t/
│ ├── api/
│ │ ├── agent_config.py
│ │ ├── __init__.py
│ │ └── maven_repo.py
│ ├── configure/
│ │ ├── __init__.py
│ │ └── credentials.py
│ ├── external/
│ │ └── integrations/
│ │ └── scw/
│ │ ├── __init__.py
│ │ ├── contrast_api.py
│ │ └── contrast_scw.py
│ ├── templates/
│ │ ├── contrast_security.yaml.j2
│ │ └── contrast_security_env.yaml.j2
│ ├── ui/
│ │ └── auth.py
│ ├── __init__.py
│ ├── __main__.py
│ └── cli.py
├── tests/ # Unit tests
│ ├── data/
│ │ ├── checksumfile
│ │ └── testfile
│ ├── __init__.py
│ ├── test_cli.py
│ └── test_maven_repo.py
├── .gitignore
├── .python-version
├── LICENSE
├── README.md
├── pyproject.toml # Project configuration
├── requirements-dev.lock
└── requirements.lock
-
Clone the repository:
$ git clone https://github.com/jharper-sec/c6t $ cd c6t
-
Install Rye: Linux/macOS:
$ curl -sSf https://rye.astral.sh/get | bash
-
Use Rye to install the dependencies:
$ rye sync
To run the tests, use:
$ rye run pytest
Contributions are welcome! Please read the contributing guidelines for more details.
This project is licensed under the terms of the Apache license. See the LICENSE file for details.