### Install and start cron Source: https://docs.sysreptor.com/setup/updates?q= Installs and initializes the cron service for task scheduling. ```bash sudo apt update sudo apt install -y cron sudo systemctl start cron #sudo /etc/init.d/cron start ``` -------------------------------- ### Install reptor from Source Source: https://docs.sysreptor.com/cli/getting-started?q= Clone the reptor repository and install it locally using pip. Optional dependencies can be installed with `.[all]`. ```bash git clone https://github.com/Syslifters/reptor.git cd reptor pip3 install . ``` -------------------------------- ### Download and Run SysReptor Install Script Source: https://docs.sysreptor.com/setup/installation?q= Downloads the SysReptor installation script and executes it. This script automates the setup of SysReptor, including configurations and container deployment. ```bash bash <(curl -s https://docs.sysreptor.com/install.sh) ``` -------------------------------- ### Download and Extract SysReptor Setup Files Source: https://docs.sysreptor.com/setup/installation?q= Downloads the latest SysReptor release archive and extracts it. This is part of the manual installation process. ```bash curl -s -L --output sysreptor.tar.gz https://github.com/syslifters/sysreptor/releases/latest/download/setup.tar.gz tar xzf sysreptor.tar.gz ``` -------------------------------- ### Install Docker Source: https://docs.sysreptor.com/setup/installation?q= Installs Docker on your system using the official convenience script. This is a prerequisite for running SysReptor containers. ```bash curl -fsSL https://get.docker.com | sudo bash ``` -------------------------------- ### Install optional dependencies from source Source: https://docs.sysreptor.com/cli/setup Command to install all optional dependencies when working from a local source clone. ```bash pip3 install .[all] ``` -------------------------------- ### Initialize NotesAPI Source: https://docs.sysreptor.com/python-library/api/notes?q= Example of initializing the Reptor client to access the NotesAPI. ```python from reptor import Reptor reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), personal_notes=False, ) # NotesAPI is available as reptor.api.notes, e.g.: reptor.api.notes.get_notes() ``` -------------------------------- ### Install Nginx on Host System Source: https://docs.sysreptor.com/setup/webserver-nginx Updates the package repository and installs the Nginx web server. ```bash sudo apt-get update sudo apt-get install -y nginx ``` -------------------------------- ### Install Sysreptor via pip Source: https://docs.sysreptor.com/cli/setup Standard installation command for the core package. ```bash pip3 install reptor ``` -------------------------------- ### Install Sysreptor with optional dependencies Source: https://docs.sysreptor.com/cli/setup Commands to install the package with specific or all optional features. ```bash pip3 install reptor[translate] ``` ```bash pip3 install reptor[all] ``` -------------------------------- ### Example Data Encryption Configuration Source: https://docs.sysreptor.com/setup/configuration Example structure for ENCRYPTION_KEYS and DEFAULT_ENCRYPTION_KEY_ID. Replace with unique values. ```bash ENCRYPTION_KEYS='[{"id": "TODO-change-me-unique-key-id-5cdda4c0-a16c-4ae2-8a16-aa2ff258530d", "key": "256 bit (32 byte) base64 encoded AES key", "cipher": "AES-GCM", "revoked": false}]' DEFAULT_ENCRYPTION_KEY_ID="TODO-change-me-unique-key-id-5cdda4c0-a16c-4ae2-8a16-aa2ff258530d" ``` -------------------------------- ### Install reptor from BlackArch Repository Source: https://docs.sysreptor.com/cli/getting-started?q= Install the reptor package directly using the pacman package manager on BlackArch Linux. ```bash pacman -S reptor ``` -------------------------------- ### Test the plugin parser Source: https://docs.sysreptor.com/cli/writing-plugins/tools Example command to verify the plaintext parsing functionality. ```bash printf "https://example.com/alert(1)\nhttps://example.com/q=alert(1)" | reptor xsstool --parse ['https://example.com/alert(1)', 'https://example.com/q=alert(1)'] ``` -------------------------------- ### Install System Dependencies Source: https://docs.sysreptor.com/setup/installation?q= Installs essential packages required for SysReptor on Ubuntu systems. Ensure you have an active network connection. ```bash sudo apt update sudo apt install -y sed curl openssl uuid-runtime coreutils ``` -------------------------------- ### DeleteFindings Command Examples Source: https://docs.sysreptor.com/cli/projects-and-templates/deletefindings Examples of using the deletefindings command with various filtering options and the required flag to disable dry-run mode. ```bash reptor deletefindings --title-contains "delete me" # Delete findings matching the search query reptor deletefindings --exclude-title-contains "leave me" # Exclude findings with search query reptor deletefindings --no-dry-run # Delete all findings, no dry run ``` -------------------------------- ### Configure Allowed Hosts Source: https://docs.sysreptor.com/setup/configuration Comma-separated list of hostnames allowed to access the installation. ```bash ALLOWED_HOSTS="sysreptor.example.com,sysreptor.example.local" ``` -------------------------------- ### Unpack archive examples Source: https://docs.sysreptor.com/cli/utils/unpackarchive Commands to unpack project and design archives into specific formats and output directories. ```bash reptor unpackarchive --format json --output project ./project.tar.gz # Unpack project archive as json to "project" directory reptor unpackarchive --format toml --output design ./design.tar.gz # Unpack design archive as toml to "design" directory ``` -------------------------------- ### Define plugin settings in config.yaml Source: https://docs.sysreptor.com/cli/writing-plugins/importers Example structure for plugin-specific settings within the .sysreptor/config.yaml file. ```yaml project_id: 42c2f73a-4383-4ec2-a3fa-281598edb0e8 server: https://demo.sysre.pt token: sysreptor_TOKEN your_plugin: apikey: your_api_key url: http://localhost:8080 ``` -------------------------------- ### Format Output via CLI Source: https://docs.sysreptor.com/cli/writing-plugins/tools Example command to format tool output using the reptor CLI. ```bash printf "https://example.com/alert(1)\nhttps://example.com/q=alert(1)" | reptor xsstool --format ``` -------------------------------- ### Create SysReptor Application Environment File Source: https://docs.sysreptor.com/setup/installation?q= Copies the example application environment file to create a new configuration file. Navigate to the 'sysreptor/deploy' directory before running. ```bash cd sysreptor/deploy cp app.env.example app.env ``` -------------------------------- ### Initialize TemplatesAPI Source: https://docs.sysreptor.com/python-library/api/templates Shows how to instantiate the Reptor client and access the templates API. ```python from reptor import Reptor reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), ) # TemplatesAPI is available as reptor.api.templates, e.g.: reptor.api.templates.search() ``` -------------------------------- ### Caddy Setup Identifier Source: https://docs.sysreptor.com/setup/webserver?q= A simple numeric identifier used in the setup documentation. ```text 1 ``` -------------------------------- ### Initialize SysReptor and Access Projects API Source: https://docs.sysreptor.com/python-library/api/projects Demonstrates how to initialize the Reptor client and access the ProjectsAPI. Ensure the REPTOR_SERVER and REPTOR_TOKEN environment variables are set. ```python from reptor import Reptor reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), project_id="41c09e60-44f1-453b-98f3-3f1875fe90fe", ) # ProjectsAPI is available as reptor.api.projects, e.g.: reptor.api.projects.get_project() ``` -------------------------------- ### Initialize SysReptor Client Source: https://docs.sysreptor.com/python-library/api/project-designs Demonstrates how to initialize the Reptor client with server and token. The ProjectDesignsAPI is then accessible via `reptor.api.project_designs`. ```python from reptor import Reptor reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), ) # ProjectDesignsAPI is available as reptor.api.project_designs, e.g.: reptor.api.project_designs.search() ``` -------------------------------- ### CLI usage help Source: https://docs.sysreptor.com/cli/projects-and-templates/template?q= Displays the help menu for the reptor template command. ```text usage: reptor template [-h] [--list] [--search SEARCH] [--update UPDATE] [--language LANGUAGE] [--export {tar.gz,json,yaml,plain}] [-o FILENAME] Queries Finding Templates from SysReptor options: -h, --help show this help message and exit -o FILENAME, --output FILENAME Filename for output --list List all finding templates --search SEARCH Search for term --update UPDATE Update existing template with given UUID --language LANGUAGE Template language for export format "plain", e.g. "en" --export {tar.gz,json,yaml,plain} Export templates ``` -------------------------------- ### Example Django Secret Key Source: https://docs.sysreptor.com/setup/configuration Example of a configured SECRET_KEY. Regenerate this value for production use. ```bash SECRET_KEY="TODO-change-me-Z6cuMithzO0fMn3ZqJ7nTg0YJznoHiJXoJCNngQM4Kqzzd3fiYKdVx9ZidvTzqsm" ``` -------------------------------- ### Initialize SysReptor Client Source: https://docs.sysreptor.com/python-library/tutorial/part-1/projects?q= Initialize the Reptor client with server and token from environment variables. Ensure REPTOR_SERVER and REPTOR_TOKEN are set. ```python import os from reptor import Reptor reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), ) ``` -------------------------------- ### CLI usage help Source: https://docs.sysreptor.com/cli/projects-and-templates/finding?q= Displays the help menu for the reptor finding command. ```text usage: reptor finding [-h] [--update FINDING ID] Uploads findings from JSON or TOML options: -h, --help show this help message and exit --update FINDING ID Update finding with the given ID ``` -------------------------------- ### DeleteProjects Command Examples Source: https://docs.sysreptor.com/cli/projects-and-templates/deleteprojects Examples of using the deleteprojects command with title filtering and the mandatory no-dry-run flag for actual deletion. ```bash reptor deleteprojects --title-contains "delete me" # Delete projects matching the search query reptor deleteprojects --exclude-title-contains "leave me" # Exclude projects with search query reptor deleteprojects --no-dry-run # Delete all projects, no dry run ``` -------------------------------- ### Project Plugin CLI Usage Source: https://docs.sysreptor.com/cli/projects-and-templates/project?q= Full help output for the reptor project command. ```text usage: reptor project [-h] [--search SEARCHTERM | --export {tar.gz,json,toml,yaml} | --render | --duplicate] [--finish | --reactivate] [-o FILENAME] [--design DESIGN ID] [--upload] [--json] Work with projects options: -h, --help show this help message and exit --search SEARCHTERM Search for term --export {tar.gz,json,toml,yaml} Export project --render Render project --duplicate Duplicate project --finish Set project as finished --reactivate Reactivate a finished project -o FILENAME, --output FILENAME Filename for output --design DESIGN ID Render project with alternative design --upload Used with --export or --render; uploads file to note --json Used with --search; output as json ``` -------------------------------- ### SysReptor Project Plugin Usage Help Source: https://docs.sysreptor.com/cli/projects-and-templates/project This command displays the help message for the `reptor project` command, outlining available options for searching, exporting, rendering, duplicating, finishing, and reactivating projects. ```bash usage: reptor project [-h] [--search SEARCHTERM | --export {tar.gz,json,toml,yaml} | --render | --duplicate] [--finish | --reactivate] [-o FILENAME] [--design DESIGN ID] [--upload] [--json] Work with projects options: -h, --help show this help message and exit --search SEARCHTERM Search for term --export {tar.gz,json,toml,yaml} Export project --render Render project --duplicate Duplicate project --finish Set project as finished --reactivate Reactivate a finished project -o FILENAME, --output FILENAME Filename for output --design DESIGN ID Render project with alternative design --upload Used with --export or --render; uploads file to note --json Used with --search; output as json ``` -------------------------------- ### Initialize ProjectsAPI Client Source: https://docs.sysreptor.com/python-library/api/projects Instantiate the Reptor client using environment variables for server and token authentication. ```python from reptor import Reptor reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), project_id="41c09e60-44f1-453b-98f3-3f1875fe90fe", ) ``` -------------------------------- ### Example of Template Variables Output Source: https://docs.sysreptor.com/cli/tools/customize-pushed-findings An example of the JSON output when querying for available template variables. It shows fields like 'severity' and 'confidence' that can be used in custom templates. ```json [ { "severity": "high", "confidence": "Firm", ] ``` -------------------------------- ### Get Sections Source: https://docs.sysreptor.com/python-library/api/projects Retrieves all sections of the current project. ```APIDOC ## GET /websites/sysreptor/projects/{project_id}/sections/ ### Description Gets all sections of the current project. ### Method GET ### Endpoint /websites/sysreptor/projects/{project_id}/sections/ ### Parameters #### Path Parameters - **project_id** (str) - Required - The ID of the project whose sections are to be retrieved. Assumed to be the current project context if not explicitly provided. ### Request Body (No request body specified in the provided text) ### Response #### Success Response (200) - **List of sections** (List[Section]) - A list containing section objects for the project. #### Response Example (No response example provided in the text) ``` -------------------------------- ### GET /{project_id}/sections/ Source: https://docs.sysreptor.com/python-library/api/projects?q= Retrieves all sections of the current project. ```APIDOC ## GET /{project_id}/sections/ ### Description Gets all sections of the current project. ### Method GET ### Endpoint /{project_id}/sections/ ### Response #### Success Response (200) - **body** (List[Section]) - List of sections for this project. ``` -------------------------------- ### ZAP CLI Usage Reference Source: https://docs.sysreptor.com/cli/tools/zap?q= Full command-line help output for the reptor zap utility. ```text usage: reptor zap [-h] [-i [INPUT]] [--format] [--upload] [--push-findings] [--template-vars] [--parse] [--xml | --json] [--upload-finding-templates] Parses ZAP reports (JSON, XML) options: -h, --help show this help message and exit -i [INPUT], --input [INPUT] Input file, if not stdin --format --upload --push-findings --template-vars Print template variables (needed for finding template customization). --parse --xml --json --upload-finding-templates Upload local finding templates to SysReptor ``` -------------------------------- ### Get All Findings API Source: https://docs.sysreptor.com/python-library/api/projects?q= Retrieves all findings for the current project. ```APIDOC ## GET /websites/sysreptor/projects/{project_id}/findings ### Description Gets all findings of the current project. ### Method GET ### Endpoint /websites/sysreptor/projects/{project_id}/findings/ ### Parameters #### Path Parameters - **project_id** (string) - Required - The ID of the project to retrieve findings from. ### Response #### Success Response (200) - **findings** (List[dict]) - A list of finding objects for the project. #### Response Example ```json [ { "id": "finding-id-1", "title": "SQL Injection", "severity": "high" }, { "id": "finding-id-2", "title": "Cross-Site Scripting", "severity": "medium" } ] ``` ``` -------------------------------- ### Initialize Parent Note Source: https://docs.sysreptor.com/cli/writing-plugins/tools Setting up the main parent note container for child notes. ```python main_note = NoteTemplate() main_note.title = self.notetitle main_note.icon_emoji = self.note_icon main_note.parent_title = "Uploads" # Put note below "Uploads" ``` -------------------------------- ### GET /projects/render Source: https://docs.sysreptor.com/python-library/tutorial/part-2/findings Renders the project report as a PDF file. ```APIDOC ## GET /projects/render ### Description Generates and returns the rendered PDF report for the current project. ``` -------------------------------- ### Launch SysReptor Source: https://docs.sysreptor.com/setup/downgrades Start the SysReptor containers in detached mode. ```bash docker compose up -d ``` -------------------------------- ### Get Project Data in Python Script Source: https://docs.sysreptor.com/cli/getting-started?q= Initialize the Reptor Python library with server, token, and project ID to fetch project data. Ensure environment variables REPTOR_SERVER and REPTOR_TOKEN are set. ```python from reptor import Reptor reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), project_id="41c09e60-44f1-453b-98f3-3f1875fe90fe", ) reptor.api.projects.get_project() ``` -------------------------------- ### Get Findings API Source: https://docs.sysreptor.com/python-library/api/projects Retrieves all findings associated with the current project. ```APIDOC ## GET /api/projects/{project_id}/findings/ ### Description Gets all findings of the current project. ### Method GET ### Endpoint /api/projects/{project_id}/findings/ ### Response #### Success Response (200) - **List[FindingRaw]** (array) - List of findings for this project. #### Response Example ```json [ { "id": "finding-1", "title": "Example Finding 1", "description": "This is the first example finding." }, { "id": "finding-2", "title": "Example Finding 2", "description": "This is the second example finding." } ] ``` ``` -------------------------------- ### Create Project with Name, Design, and Tags Source: https://docs.sysreptor.com/cli/projects-and-templates/createproject?q= Use this command to create a new pentest project with a specified name, design UUID, and comma-separated tags. The command updates the reptor config by default. ```bash reptor createproject --name "New project" --design "8a6ebd7b-637f-4f38-bfdd-3e8e9a24f64e" --tags web,auto ``` -------------------------------- ### GET /projects/{id}/sections/ Source: https://docs.sysreptor.com/python-library/api/projects?q= Retrieves all sections for the current project. ```APIDOC ## GET /projects/{id}/sections/ ### Description Gets all sections of the current project. ### Method GET ### Endpoint /projects/{project_id}/sections/ ### Response #### Success Response (200) - **sections** (List) - List of sections for this project. ``` -------------------------------- ### GET /api/v1/pentestprojects/{project_id} Source: https://docs.sysreptor.com/python-library/api/projects Retrieves detailed information for a specific project. ```APIDOC ## GET /api/v1/pentestprojects/{project_id} ### Description Retrieves the full details of a specific project by its ID. ### Method GET ### Endpoint /api/v1/pentestprojects/{project_id} ### Parameters #### Path Parameters - **project_id** (string) - Optional - The unique identifier of the project. #### Query Parameters - **html** (boolean) - Optional - Whether to return project content in HTML format. ### Response #### Success Response (200) - **project** (Project) - The detailed project object. ``` -------------------------------- ### GET /templates/search Source: https://docs.sysreptor.com/python-library/api/templates Retrieves a list of templates that contain a specific tag. ```APIDOC ## GET /templates/search ### Description Retrieves templates that contain a specific tag. ### Method GET ### Endpoint /templates/search ### Parameters #### Query Parameters - **tag** (str) - Required - The tag to search for in template tags ### Response #### Success Response (200) - **List[FindingTemplate]** - List of templates that contain the specified tag ### Request Example ```python web_templates = reptor.api.templates.get_templates_by_tag("web") print(f"Found {len(web_templates)} web-related templates") ``` ``` -------------------------------- ### Configure SysReptor CLI Source: https://docs.sysreptor.com/cli/configuration Interactive command to set up the server URL, API token, and project ID, saving them to a local configuration file. ```bash reptor conf Server [https://demo.sysre.pt]: API Token [Create at https://demo.sysre.pt/users/self/apitokens/]: Project ID: 3fae023a-2632-4c88-a0ea-97ab5eb64c94 Store to config to C:\Users\user\.sysreptor\config.yaml? [y/n]: ``` -------------------------------- ### Unpackarchive usage help Source: https://docs.sysreptor.com/cli/utils/unpackarchive Displays the command-line interface help and available options for the unpackarchive command. ```text usage: reptor unpackarchive [-h] [-o OUTPUT] [-f {json,toml}] files [files ...] Unpack .tar.gz exported archives positional arguments: files options: -h, --help show this help message and exit -o OUTPUT, --output OUTPUT -f {json,toml}, --format {json,toml} ``` -------------------------------- ### GET /templates/{template_id} Source: https://docs.sysreptor.com/python-library/api/templates Retrieves the details of a specific finding template. ```APIDOC ## GET /templates/{template_id} ### Description Gets a finding template by ID. ### Method GET ### Endpoint /templates/{template_id} ### Parameters #### Path Parameters - **template_id** (str) - Required - The unique identifier of the finding template. ### Response #### Success Response (200) - **template** (FindingTemplate) - The FindingTemplate object with all its data. ``` -------------------------------- ### GET /api/v1/findingtemplates/ Source: https://docs.sysreptor.com/python-library/api/templates Searches through templates using an optional search term. ```APIDOC ## GET /api/v1/findingtemplates/ ### Description Searches through the templates using a search term. If no term is provided, it returns all templates. ### Method GET ### Endpoint /api/v1/findingtemplates/ ### Parameters #### Query Parameters - **search** (str) - Optional - Term to search in finding templates ``` -------------------------------- ### Create a New Project and Push Data Source: https://docs.sysreptor.com/cli/projects-and-templates/pushproject To push data to a new report, first create the project using 'reptor createproject' with a name and design ID, then push the project data. ```bash reptor createproject --name "New project" --design "8a6ebd7b-637f-4f38-bfdd-3e8e9a24f64e" cat project.json | reptor pushproject ``` -------------------------------- ### Bash Code Block Source: https://docs.sysreptor.com/reporting/markdown-features Example of a bash code block with syntax highlighting. ```bash echo "multiline code block"; # with syntax highlighting ``` -------------------------------- ### SysReptor CLI Usage and Help Source: https://docs.sysreptor.com/cli/configuration Overview of CLI flags, subcommands, and common usage examples for interacting with the SysReptor API. ```text usage: reptor [-h] [-s SERVER] [-t TOKEN] [-k] [-p PROJECT_ID] [--personal-note] [-v] [--debug] [-n NOTETITLE] [--no-timestamp] [--file FILE] Examples: reptor conf echo "Upload this!" | reptor note reptor file data/* cat sslyze.json | reptor sslyze --json --push-findings reptor nmap --xml --upload -i nmap.xml options: -h, --help show this help message and exit -v, --verbose increase output verbosity (> INFO) --debug sets logging to DEBUG -n NOTETITLE, --notetitle NOTETITLE --no-timestamp do not prepend timestamp to note --file FILE Local file to read subcommands: Core: conf Shows config and sets config mcp Starts the Model Context Protocol (MCP) server plugins Allows plugin management & development Projects & Templates: createproject Create a new pentest project deletefindings Deletes findings by title deleteprojects Deletes projects by title exportfindings Export your project findings as a summary or checklist file Uploads a file finding Uploads findings from JSON or TOML findingfromtemplate Creates findings from remote finding templates note Uploads and lists notes project Work with projects pushproject Push data to project from JSON or TOML template Queries Finding Templates from SysReptor translate Translate Projects to other languages via Deepl Tools: burp Burp vulnerability importer nessus Nessus vulnerability importer nmap format nmap output openvas OpenVAS vulnerability importer qualys Qualys vulnerability importer sslyze format sslyze JSON output zap Parses ZAP reports (JSON, XML) Importers: defectdojo Imports DefectDojo finding templates ghostwriter Imports GhostWriter finding templates importers Show importers to use to import finding templates Utils: packarchive Pack directories into a .tar.gz file unpackarchive Unpack .tar.gz exported archives configuration: -s SERVER, --server SERVER -t TOKEN, --token TOKEN SysReptor API token -k, --insecure do not verify server certificate -p PROJECT_ID, --project-id PROJECT_ID SysReptor project ID --personal-note add notes to personal notes ``` -------------------------------- ### Nessus importer help menu Source: https://docs.sysreptor.com/cli/tools/nessus?q= Displays the full list of available options and flags for the Nessus importer. ```bash usage: reptor nessus [-h] [--conf] [-i [INPUT ...]] [--format | --upload | --push-findings | --template-vars | --parse | --upload-finding-templates] [--severity-filter SEVERITY_FILTER] [--snoozed-filter] [--exclude EXCLUDED_PLUGINS] [--include INCLUDED_PLUGINS] Nessus vulnerability importer options: -h, --help show this help message and exit --conf, --config Configure plugin settings -i [INPUT ...], --input [INPUT ...] Input file, if not stdin (multiple files allowed) --format --upload --push-findings --template-vars Print template variables (needed for finding template customization). --parse --upload-finding-templates Upload local finding templates to SysReptor --severity-filter SEVERITY_FILTER Filter findings by severity comma-separated ("info,low,medium,high,critical") or as range ("medium-critical") --snoozed-filter Exclude snoozed vulnerabilities --exclude EXCLUDED_PLUGINS Exclude plugin IDs, comma-separated --include INCLUDED_PLUGINS Include plugin IDs, comma-separated; default: all are included ``` -------------------------------- ### GET /projects/{project_id}/export Source: https://docs.sysreptor.com/python-library/api/projects?q= Exports a project in archive format (tar.gz). ```APIDOC ## GET /projects/{project_id}/export ### Description Exports a Project in archive format (tar.gz). ### Method GET ### Endpoint /projects/{project_id}/export ### Parameters #### Query Parameters - **project_id** (str) - Optional - ID of the project to export. If not provided, it uses the project in context. ### Response #### Success Response (200) - **bytes** (binary) - Project archive content. ``` -------------------------------- ### Create Backups via CLI Source: https://docs.sysreptor.com/setup/backups Instructions for creating backups using the command-line interface, with options for encryption. ```APIDOC ## Create Backups via CLI ### Description Execute the following command to create a backup archive containing a database export and all uploaded files. ### Method CLI Command ### Endpoint N/A ### Parameters None ### Request Example ```bash docker compose run --rm app python3 manage.py backup > backup.zip ``` ## Create Encrypted Backups via CLI ### Description Backups can be encrypted using a 256-bit AES key. Specify the key as a hex string via the `--key` CLI argument. ### Method CLI Command ### Endpoint N/A ### Parameters - **--key** (string) - Required - The AES key as a hex string for encryption. ### Request Example ```bash docker compose run --rm app python3 manage.py backup --key "" > backup.zip.crypt ``` ``` -------------------------------- ### GET /projects/ Source: https://docs.sysreptor.com/python-library/api/projects?q= Searches projects by a search term and retrieves all matching projects. ```APIDOC ## GET /projects/ ### Description Searches projects by a search term and retrieves all projects that match. Can also filter by project completion status. ### Method GET ### Endpoint `/projects/` ### Parameters #### Query Parameters - **search_term** (str) - Optional - The search term to look for in project names or descriptions. Defaults to an empty string. - **finished** (bool) - Optional - Filters for projects that are either finished or unfinished. If `True`, returns finished projects. If `False`, returns unfinished projects. Defaults to `None` (no filter). ### Response #### Success Response (200) - **List[ProjectOverview]** - A list of project overview objects that match the search criteria. #### Response Example ```json [ { "id": "project-uuid-1", "name": "Project Alpha", "description": "First project", "created": "2023-01-01T10:00:00Z", "finished": false }, { "id": "project-uuid-2", "name": "Project Beta", "description": "Second project", "created": "2023-01-02T11:00:00Z", "finished": true } ] ``` ``` -------------------------------- ### ProjectsAPI Initialization Source: https://docs.sysreptor.com/python-library/api/projects?q= How to initialize the ProjectsAPI client using the Reptor SDK. ```APIDOC ## Initialization ### Description Initialize the Reptor client to interact with project-specific endpoints. ### Request Example ```python from reptor import Reptor import os reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), project_id="41c09e60-44f1-453b-98f3-3f1875fe90fe", ) ``` ``` -------------------------------- ### Get Finding by ID API Source: https://docs.sysreptor.com/python-library/api/projects?q= Retrieves a single finding by its unique ID. ```APIDOC ## GET /websites/sysreptor/projects/{project_id}/findings/{finding_id} ### Description Gets a single finding by ID. ### Method GET ### Endpoint /websites/sysreptor/projects/{project_id}/findings/{finding_id}/ ### Parameters #### Path Parameters - **project_id** (string) - Required - The ID of the project. - **finding_id** (string) - Required - The ID of the finding to retrieve. ### Response #### Success Response (200) - **finding** (dict) - The finding object. #### Response Example ```json { "id": "3294a042-0ab6-4463-a95d-1915561d2820", "title": "SQL Injection", "severity": "high", "description": "Found SQL injection vulnerability..." } ``` ``` -------------------------------- ### Run Caddy Setup Script Source: https://docs.sysreptor.com/setup/webserver Execute this bash script to set up an additional Docker container with Caddy as a webserver. Ensure you are in the correct directory. ```bash bash deploy/caddy/setup.sh ``` -------------------------------- ### Get Project Details Source: https://docs.sysreptor.com/python-library/api/projects Fetches a project object including its sections and findings. ```python project = reptor.api.projects.get_project() ``` ```python def get_project(self, project_id: typing.Optional[str] = None, html: bool=False) -> Project: """Gets the project in context from SysReptor. Args: project_id (str, optional): ID of the project to fetch. If not provided, it uses the project in context. html (bool, optional): If True, fetches markdown fields as HTML. Defaults to False. Returns: Project object with sections and findings. Example: ```python project = reptor.api.projects.get_project() ``` """ return Project( self._get_project_dict(project_id=project_id, html=html), self.reptor.api.project_designs.project_design, ) ``` -------------------------------- ### GET /projects/{project_id}/findings/ Source: https://docs.sysreptor.com/python-library/api/projects Retrieves all findings associated with the current project. ```APIDOC ## GET /projects/{project_id}/findings/ ### Description Fetches a list of all findings for the current project. ### Method GET ### Endpoint /projects/{project_id}/findings/ ### Parameters #### Path Parameters - **project_id** (str) - Required - The ID of the project. ### Response #### Success Response (200) - **findings** (List[FindingRaw]) - List of finding objects. ``` -------------------------------- ### Add Initial Superuser Source: https://docs.sysreptor.com/setup/installation?q= Creates a default superuser account for accessing the SysReptor application. Replace `reptor` with your desired username. ```bash username=reptor docker compose exec app python3 manage.py createsuperuser --username "$username" ``` -------------------------------- ### Initialize SysReptor Notes API Client Source: https://docs.sysreptor.com/python-library/api/notes Instantiate the Reptor client to interact with SysReptor notes. Ensure REPTOR_SERVER and REPTOR_TOKEN environment variables are set. Set personal_notes to True for personal notes. ```python from reptor import Reptor reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), personal_notes=False, ) ``` -------------------------------- ### Get Project Sections Source: https://docs.sysreptor.com/python-library/api/projects Retrieves a list of all sections associated with the current project. ```python sections = reptor.api.projects.get_sections() ``` -------------------------------- ### Add Professional License Key Source: https://docs.sysreptor.com/setup/installation?q= Adds your professional license key to the `app.env` file for enabling advanced features. Replace `` with your actual key. ```bash LICENSE="" ``` -------------------------------- ### GET /api/v1/pentestprojects Source: https://docs.sysreptor.com/python-library/api/projects Searches for projects based on a search term and completion status. ```APIDOC ## GET /api/v1/pentestprojects ### Description Searches projects by a search term and retrieves all projects that match the criteria. ### Method GET ### Endpoint /api/v1/pentestprojects ### Parameters #### Query Parameters - **search** (string) - Optional - Search term to look for. - **readonly** (boolean) - Optional - Filter for finished or unfinished projects. ### Response #### Success Response (200) - **projects** (List[ProjectOverview]) - A list of project overviews matching the search criteria. ``` -------------------------------- ### Build Frontend Assets Source: https://docs.sysreptor.com/setup/plugins Commands to install JavaScript dependencies and build frontend assets for your plugin. Ensure you are in the `frontend/` directory of your plugin before running these commands. ```bash cd demoplugin/frontend # Install JS dependencies npm install # Build the frontend assets npm run generate ``` -------------------------------- ### GET /api/v1/projecttypes/ Source: https://docs.sysreptor.com/python-library/api/project-designs Searches for project designs based on a search term and scope. ```APIDOC ## GET /api/v1/projecttypes/ ### Description Searches project designs by search term and scope. ### Method GET ### Endpoint /api/v1/projecttypes/ ### Parameters #### Query Parameters - **search_term** (str) - Optional - Search term to look for in project designs. Defaults to "". - **scope** (str) - Optional - Search scope ("global" or "private"). Defaults to "global". ### Response #### Success Response (200) - **List[ProjectDesignOverview]** (array) - A list of project designs matching the search criteria. #### Response Example ```json [ { "id": "some-uuid", "name": "Project Design 1" }, { "id": "another-uuid", "name": "Project Design 2" } ] ``` ``` -------------------------------- ### GET /project_designs/search Source: https://docs.sysreptor.com/python-library/api/project-designs?q= Searches for project designs based on a search term and scope. ```APIDOC ## GET /project_designs/search ### Description Searches project designs by search term and scope. ### Method GET ### Endpoint /project_designs/search ### Parameters #### Query Parameters - **search_term** (str) - Optional - Search term to look for in project designs. Defaults to "". - **scope** (str) - Optional - Search scope ("global" or "private"). Defaults to "global". ### Response #### Success Response (200) - **List[ProjectDesignOverview]** - List of project design overviews that match the search criteria. ``` -------------------------------- ### GET /project_designs/search Source: https://docs.sysreptor.com/python-library/api/project-designs?q= Searches for project designs based on a search term and scope. ```APIDOC ## GET /project_designs/search ### Description Searches project designs by search term and scope. ### Method GET ### Endpoint /project_designs/search ### Parameters #### Query Parameters - **search_term** (str) - Optional - Search term to look for in project designs. Defaults to "". - **scope** (str) - Optional - Search scope ("global" or "private"). Defaults to "global". ### Response #### Success Response (200) - **List[ProjectDesignOverview]** (array) - List of project design overviews that match the search criteria. ``` -------------------------------- ### DeleteProjects Usage Help Source: https://docs.sysreptor.com/cli/projects-and-templates/deleteprojects Displays the command-line interface help and available options for the deleteprojects command. ```text usage: reptor deleteprojects [-h] [--title-contains SEARCHTERM] [--exclude-title-contains SEARCHTERM] [--no-dry-run] Deletes projects by title options: -h, --help show this help message and exit --title-contains SEARCHTERM Match string in title --exclude-title-contains SEARCHTERM Matched strings in title are not deleted --no-dry-run Do delete projects, default is dry-run ``` -------------------------------- ### Initialize SysReptor Notes API Client Source: https://docs.sysreptor.com/python-library/api/notes?q= Instantiate the NotesAPI client for interacting with SysReptor project notes. Ensure REPTOR_SERVER and REPTOR_TOKEN environment variables are set. ```python from reptor import Reptor reptor = Reptor( server=os.environ.get("REPTOR_SERVER"), token=os.environ.get("REPTOR_TOKEN"), personal_notes=False, ) ``` -------------------------------- ### GET /templates Source: https://docs.sysreptor.com/python-library/api/templates Searches through templates using a search term or retrieves all templates. ```APIDOC ## GET /templates ### Description Searches through the templates using a search term. If no term is provided, it returns all templates. ### Method GET ### Endpoint /templates ### Parameters #### Query Parameters - **search** (str) - Optional - Term to search in finding templates. ### Response #### Success Response (200) - **templates** (List[FindingTemplate]) - List of templates matching the search criteria. ``` -------------------------------- ### Set Configuration via Environment Variables Source: https://docs.sysreptor.com/cli/configuration Alternative to the config file; environment variables take precedence over settings in the configuration file. ```bash export REPTOR_SERVER="https://demo.sysre.pt" export REPTOR_TOKEN="sysreptor_ZDM5NmQ5" export REPTOR_PROJECT_ID="3fae023a-2632-4c88-a0ea-97ab5eb64c94" ``` -------------------------------- ### GET /templates/{template_id} Source: https://docs.sysreptor.com/python-library/api/templates?q= Retrieves a specific finding template by its unique ID. ```APIDOC ## GET /templates/{template_id} ### Description Retrieves a finding template by ID. ### Method GET ### Endpoint /templates/{template_id} ### Parameters #### Path Parameters - **template_id** (str) - Required - Finding template ID ### Response #### Success Response (200) - **FindingTemplate** (object) - The FindingTemplate object with all its data ``` -------------------------------- ### GET /api/v1/findingtemplates/{template_id} Source: https://docs.sysreptor.com/python-library/api/templates Retrieves a specific finding template by its unique identifier. ```APIDOC ## GET /api/v1/findingtemplates/{template_id} ### Description Retrieves a finding template by ID. ### Method GET ### Endpoint /api/v1/findingtemplates/{template_id} ### Parameters #### Path Parameters - **template_id** (str) - Required - Finding template ID ```