From 706bbdd5ec7ab1618e7041a88b88e1ce00cd9102 Mon Sep 17 00:00:00 2001 From: marshyski <3740784+marshyski@users.noreply.github.com> Date: Tue, 16 Apr 2024 21:05:28 -0400 Subject: [PATCH] Rebrand cmon to paradrop-agent and update Vagrant env --- .gitignore | 1 + Vagrantfile | 16 + agent/.github/workflows/go.yml | 4 +- agent/.gitignore | 6 +- agent/Dockerfile | 2 +- agent/Dockerfile-pkgs | 2 +- agent/Makefile | 4 +- agent/README.md | 164 ++----- agent/Vagrantfile | 91 ---- agent/cloud/aws.go | 2 +- agent/cloud/detect.go | 2 +- agent/config/config.go | 24 +- agent/config/tags.go | 2 +- agent/containers/docker.go | 2 +- agent/go.mod | 60 ++- agent/go.sum | 124 +++--- agent/main.go | 18 +- agent/mapping.json | 420 ------------------ agent/network/conns.go | 2 +- agent/network/domainname.go | 2 +- agent/network/ip.go | 2 +- agent/network/iproutes.go | 4 +- agent/network/iptables.go | 4 +- agent/network/nameservers.go | 4 +- agent/network/netstats.go | 4 +- agent/network/ntp.go | 4 +- agent/packages/deb.go | 4 +- agent/packages/gem.go | 4 +- agent/packages/pip.go | 4 +- agent/packages/rpm.go | 4 +- agent/packages/snap.go | 4 +- agent/packages/windows_darwin.go | 2 +- agent/packages/windows_linux.go | 2 +- agent/packages/windows_windows.go | 2 +- agent/packaging/install.sh | 22 +- agent/packaging/package.sh | 57 +-- .../{cmon.service => paradrop-agent.service} | 4 +- agent/packaging/uninstall.sh | 10 +- agent/security/certs.go | 4 +- agent/security/clamav.go | 4 +- agent/security/cpu.go | 4 +- agent/security/logins.go | 4 +- agent/security/oscap.go | 4 +- agent/security/trivy.go | 4 +- agent/shipper/shipper.go | 4 +- agent/start.sh | 177 -------- agent/system/audit.go | 4 +- agent/system/chassistype.go | 6 +- agent/system/cron.go | 4 +- agent/system/dmesg.go | 4 +- agent/system/host_id.go | 2 +- agent/system/journalctl.go | 4 +- agent/system/lsmod.go | 4 +- agent/system/processes.go | 2 +- agent/system/stats.go | 4 +- agent/system/sysctl.go | 4 +- agent/system/systemctl.go | 4 +- agent/system/systemdtimers.go | 4 +- agent/system/timezone.go | 4 +- agent/system/users.go | 4 +- elk/seed.sh | 2 +- 61 files changed, 270 insertions(+), 1080 deletions(-) delete mode 100644 agent/Vagrantfile delete mode 100644 agent/mapping.json rename agent/packaging/{cmon.service => paradrop-agent.service} (63%) delete mode 100755 agent/start.sh diff --git a/.gitignore b/.gitignore index 4949e19..3cc040a 100755 --- a/.gitignore +++ b/.gitignore @@ -159,6 +159,7 @@ vendor *.deb .vagrant* *.box +paradrop-agent # macOS Specific .DS_Store diff --git a/Vagrantfile b/Vagrantfile index 1184a17..48abfa7 100755 --- a/Vagrantfile +++ b/Vagrantfile @@ -70,6 +70,22 @@ rm -rf scap-security-guide-0.1.72* # Install Python Deps pip3 install -r /paradrop/api/requirements.txt +# Setup paradrop-agent +mkdir -p /etc/paradrop + +cat <<'EOF'>/etc/paradrop/paradrop-agent.yaml +api_url: https://localhost:8443/v1/add-host +api_username: admin@paradrop.io +api_token: b97a81c5-3c2b-4a96-8881-38af26dc8407 +api_insecure_ssl: true +tags: ["app=paradrop-agent-vagrant","health=https://localhost:8443/v1/health"] +oscap_xccdf_xml: "/usr/share/scap-security-guide/ssg-ubuntu2204-ds.xml" +EOF + +cp -f /paradrop/paradrop-agent /usr/bin/ + +# timeout 15 paradrop-agent -d + # Restart systemctl reboot SHELL diff --git a/agent/.github/workflows/go.yml b/agent/.github/workflows/go.yml index 98bb49e..e41259b 100644 --- a/agent/.github/workflows/go.yml +++ b/agent/.github/workflows/go.yml @@ -13,12 +13,12 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Build cmon binary + - name: Build paradrop-agent binary run: make docker - name: Build distroless image run: | - docker build --build-arg GOOS=linux -t cmon:${{ github.sha }} -f Dockerfile-distroless . + docker build --build-arg GOOS=linux -t paradrop-agent:${{ github.sha }} -f Dockerfile-distroless . - name: Run Trivy vulnerability scanner in repo mode uses: aquasecurity/trivy-action@master diff --git a/agent/.gitignore b/agent/.gitignore index 5579ade..9f86895 100755 --- a/agent/.gitignore +++ b/agent/.gitignore @@ -22,9 +22,9 @@ _testmain.go *.exe *.test *.prof -cmon -cmon.yml -cmon-* +paradrop-agent +paradrop-agent.yml +paradrop-agent-* vendor *.rpm *.deb diff --git a/agent/Dockerfile b/agent/Dockerfile index 16b45d7..c9f8de6 100644 --- a/agent/Dockerfile +++ b/agent/Dockerfile @@ -37,4 +37,4 @@ RUN trivy fs -f table --exit-code 0 --no-progress /app/ # App Container FROM gcr.io/distroless/base COPY --from=security /app/ /app/ -CMD ["/app/cmon", "-d"] +CMD ["/app/paradrop-agent", "-d"] diff --git a/agent/Dockerfile-pkgs b/agent/Dockerfile-pkgs index f2a084d..8c4efce 100644 --- a/agent/Dockerfile-pkgs +++ b/agent/Dockerfile-pkgs @@ -8,6 +8,6 @@ RUN apt-get update && apt-get install \ apt-get clean && rm -rf /var/lib/apt/lists/* RUN gem install --no-document fpm COPY ./packaging /packaging -COPY ./cmon / +COPY ./paradrop-agent / WORKDIR /packaging RUN /packaging/package.sh ${VER} diff --git a/agent/Makefile b/agent/Makefile index f034a9e..fc8d4fb 100755 --- a/agent/Makefile +++ b/agent/Makefile @@ -1,4 +1,4 @@ -MAIN_PACKAGE := cmon +MAIN_PACKAGE := paradrop-agent BUILT_ON := $(shell date) GOOS := $(shell uname -s | tr '[:upper:]' '[:lower:]') COMMIT:=$(shell git log -n 1 --pretty=format:"%H" 2>/dev/null | head -c 10) @@ -8,7 +8,7 @@ GO_ARM := GOOS=linux GOARCH=arm64 GO_OSX := GOOS=darwin GOARCH=amd64 GO_WIN := GOOS=windows GOARCH=amd64 VER := 1.1 -LDFLAGS := '-s -w -X "github.com/perlogix/cmon/config.builtOn=$(BUILT_ON)" -X "github.com/perlogix/cmon/config.commitHash=$(COMMIT)" -X "github.com/perlogix/cmon/config.version=$(VER)"' +LDFLAGS := '-s -w -X "github.com/MetroStar/paradrop/agent/config.builtOn=$(BUILT_ON)" -X "github.com/MetroStar/paradrop/agent/config.commitHash=$(COMMIT)" -X "github.com/MetroStar/paradrop/agent/config.version=$(VER)"' default: build diff --git a/agent/README.md b/agent/README.md index 110f850..f54feaa 100644 --- a/agent/README.md +++ b/agent/README.md @@ -1,27 +1,17 @@ -# cmon - -[![Go Report Card](https://goreportcard.com/badge/github.com/perlogix/cmon)](https://goreportcard.com/report/github.com/perlogix/cmon) -![Go](https://github.com/perlogix/cmon/workflows/Go/badge.svg) +# paradrop-agent #### Table of Contents 1. [Overview](#overview) - [Example JSON Output](#example-json-output) 2. [Install](#install) -3. [Install Dependencies](#install-dependencies) - - [Server](#server) - - [Client](#client-development) -4. [Getting Started Vagrant](#getting-started-vagrant) -5. [Command-Line Arguments](#command-line-arguments) -6. [Configuration](#configuration) -7. [Vagrant](#vagrant) -8. [Platforms Tested On](#platforms-tested-on) +3. [Getting Started Vagrant](#getting-started-vagrant) +4. [Command-Line Arguments](#command-line-arguments) +5. [Configuration](#configuration) ## Overview -NIST Information Security Continuous Monitoring (ISCM) and configuration baseline data collector. - -Great for keeping track of elastic environments, auditing or migrating servers by storing data in ElasticSearch or outputting to STDOUT. +Lightweight configurable agent that collects system-wide data used for paradrop processing. Resources gathered if applicable: @@ -336,108 +326,69 @@ Resources gathered if applicable: } ``` -Average payload size: `200k` - -ElasticSearch terminology: - -http://elasticsearch:9200/index/type - -Discover terminology: - -http://elasticsearch:9200/servers/environment - -Agent Run Time: - -The agent runs every twenty minutes, and post real-time data to ElasticSearch. - -If you were to delete all hosts in the environment nightly. If the agent is running and the server is up, it will populate the inventory currently with only running hosts and their data. This works very well in elastic compute environments. - -Example with cURL: - -If you want to manually / cron schedule cmon to post to ElasticSearch - -```sh -# HTTP unauth -sudo ./cmon | curl -XPOST -H "Content-Type: application/json" -d @- "http://localhost:9200/servers/_doc/$(hostid)" - - -# Insecure SSL and basic auth -sudo ./cmon | curl -XPOST -k -u admin:admin -H "Content-Type: application/json" -d @- "https://localhost:9200/servers/_doc/$(hostid)" -``` - ## Install Install the statically linked Linux binary: ```sh -curl -OL "https://github.com/perlogix/cmon/releases/download/1.1/cmon" && chmod -f 0755 ./cmon +curl -OL "https://github.com/MetroStar/paradrop/releases/download/0.10/paradrop-agent" && chmod -f 0755 ./paradrop-agent ``` Install DEB file: ```sh -curl -LO $(curl -s https://api.github.com/repos/perlogix/cmon/releases/latest | grep browser_download_url | grep deb | cut -d '"' -f 4) +curl -LO $(curl -s https://api.github.com/repos/MetroStar/paradrop/releases/latest | grep browser_download_url | grep deb | cut -d '"' -f 4) -dpkg -i ./cmon*.deb +dpkg -i ./paradrop-agent*.deb ``` Install RPM file: ```sh -curl -LO $(curl -s https://api.github.com/repos/perlogix/cmon/releases/latest | grep browser_download_url | grep rpm | cut -d '"' -f 4) - -rpm -i ./cmon*.rpm -``` - -**ElasticSearch Mappings Needed** - -```sh -# Create index -curl -XPUT "http://localhost:9200/servers" +curl -LO $(curl -s https://api.github.com/repos/MetroStar/paradrop/releases/latest | grep browser_download_url | grep rpm | cut -d '"' -f 4) -# Put mappings to existing index -curl -XPUT "http://localhost:9200/servers/_mapping" -H 'Content-Type: application/json' -d@mapping.json +rpm -i ./paradrop-agent*.rpm ``` -## Install Dependencies - -### Server - -- ElasticSearch 7.x -- Kibana 7.x - -### Client (development) +### Development - Go 1.15>= - Make - Docker (Optional) +Compile from git: + +```sh +git clone https://github.com/MetroStar/paradrop.git +cd paradrop +mkdir -p "$GOPATH"/src/github.com/MetroStar +ln -s "$PWD" "$GOPATH"/src/github.com/MatroStar/ +cd "$GOPATH"/src/github.com/MatroStar/ +make +``` + To build the binary with Go run the following command: ```sh -make build +make ``` To build the binary with Docker run the following command: ```sh -make local +make docker ``` To build the RPM and Deb packages with Docker run the following command: ```sh -make VER=1.1 pkgs +make VER=0.10 pkgs ``` ## Getting Started Vagrant ```sh -git clone https://github.com/perlogix/cmon.git - -cd cmon - -curl -LO "https://github.com/perlogix/cmon/releases/download/1.1/cmon" +git clone https://github.com/MetroStar/paradrop.git vagrant up ``` @@ -447,66 +398,19 @@ vagrant up No flags / arguments will do a one-time run and produce a JSON file in the current path of the binary -d, --daemon Run in daemon mode - -c, --config Set configuration path, defaults are ['./', '/opt/perlogix/cmon', '/etc/perlogix/cmon'] + -c, --config Set configuration path, defaults are ['./', '/opt/paradrop', '/etc/paradrop'] ## Configuration Configurations can be written in YAML, JSON or TOML. -_/etc/perlogix/cmon/cmon.yaml_ -_DEFAULT values if no config is present_ +_/etc/paradrop/paradrop-agent.yaml_ ```yaml -# ElasticSearch DB -host: localhost -port: 9200 - -# ElasticSearch Index Name -# This can be anything, it could be aws, softlayer, prod, staging -environment: dev - -# Interval of agent runs in seconds -# Default is every twenty minutes -interval: 1200 - -# Username if http-basic plugin is enabled -username: - -# Password if http-basic plugin is enabled -password: - -# https true enables HTTPS instead of HTTP) -https: false - -# Verify SSL for HTTPS endpoints -insecure_ssl: false - -# Public facing asset -public: false - -# Asset type -asset_type: - -# OpenSCAP XCCDF XML file path -oscap_xccdf_xml: /usr/share/scap-security-guide/ssg-ubuntu1804-ds.xml - -# OpenSCAP Profile -oscap_profile: xccdf_org.ssgproject.content_profile_cis -``` - -## Vagrant - -```sh -git clone https://github.com/perlogix/cmon.git -cd cmon -vagrant up -vagrant ssh +api_url: https://localhost:8443/v1/add-host +api_username: admin@paradrop.io +api_token: b97a81c5-3c2b-4a96-8881-38af26dc8407 +api_insecure_ssl: true +tags: ["app=paradrop-agent-vagrant","health=https://localhost:8443/v1/health"] +oscap_xccdf_xml: "/usr/share/scap-security-guide/ssg-ubuntu2204-ds.xml" ``` - -## Platforms Tested On - -- CentOS/RHEL 7 - latest -- Fedora 20 - latest -- Ubuntu 16 - latest -- Mac OS X 16.7.0 - latest -- Windows 10 - latest diff --git a/agent/Vagrantfile b/agent/Vagrantfile deleted file mode 100644 index ee11102..0000000 --- a/agent/Vagrantfile +++ /dev/null @@ -1,91 +0,0 @@ -# -*- mode: ruby -*- -# vi: set ft=ruby : - -Vagrant.configure(2) do |config| - config.vm.box = "ubuntu/focal64" - config.vm.hostname = "cmon-stack" - config.vm.network :private_network, ip: "10.20.1.32" - config.vm.network "forwarded_port", guest: 5601, host: 5601, auto_correct: true - config.vm.network "forwarded_port", guest: 9200, host: 9200, auto_correct: true - config.vm.network "forwarded_port", guest: 9600, host: 9600, auto_correct: true - config.vm.provider "virtualbox" do |v| - v.name = "cmon-stack" - v.memory = 4096 - v.cpus = 2 - v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] - v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] - v.customize ["modifyvm", :id, "--uartmode1", "file", File::NULL] - end - config.vm.provision "shell", inline: <<-SHELL -# Setup -apt-get update -y -apt-get install -y curl -curl -LO https://raw.githubusercontent.com/perlogix/opsy/main/linux-ops/install.sh -chmod 0755 ./install.sh -./install.sh - -apt-get install -y make ssg-debderived unzip wget apt-transport-https gnupg lsb-release clamav clamav-daemon - -# Install Docker -curl -sSL https://get.docker.com/ | sh -systemctl enable docker -systemctl restart docker - -# Install Latest OpenSCAP Guides -wget -c https://github.com/ComplianceAsCode/content/releases/download/v0.1.53/scap-security-guide-0.1.53.zip -unzip scap-security-guide-0.1.53.zip -cp -rf scap-security-guide-0.1.53/* /usr/share/scap-security-guide/ -rm -rf scap-security-guide-0.1.53* - -# Install Trivy -wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add - -echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list -apt-get update -apt-get install -y trivy - -# Setup ClamAV -systemctl stop clamav-freshclam - -# Update Virus Defs -freshclam -systemctl start clamav-freshclam -systemctl enable clamav-daemon clamav-freshclam - -# Run OpenDistro ELK -docker run -d --restart=always --name es --net=host -e "discovery.type=single-node" -e "network.host=0.0.0.0" amazon/opendistro-for-elasticsearch:latest -docker run -d --restart=always --name kibana --net=host amazon/opendistro-for-elasticsearch-kibana:latest -sleep 60 - -# Create Index servers -curl -XPUT -k -u admin:admin https://localhost:9200/servers - -# Create ES Mapping for servers Index -curl -XPUT -k -u admin:admin "https://localhost:9200/servers/_mapping" -H 'Content-Type: application/json' -d@/vagrant/mapping.json - -# Setup cmon -if [[ -f "/vagrant/cmon" ]]; then - mkdir -p /etc/perlogix/cmon - -cat <<'EOF'>/etc/perlogix/cmon/cmon.yaml -host: 127.0.0.1 -port: 9200 -username: admin -password: admin -https: true -insecure_ssl: true -EOF - - cp -f /vagrant/cmon /usr/bin/ -else - curl -LO $(curl -s https://api.github.com/repos/perlogix/cmon/releases/latest | grep browser_download_url | grep deb | cut -d '"' -f 4) - dpkg -i ./cmon*.deb -fi - -cp -f /vagrant/cmon /usr/bin/ - -timeout 15 cmon -d - -# Test stack works, should return 2 -curl -sk -u admin:admin https://localhost:9200/servers/_search | jq -r '.hits.hits[0]._source.cpu_count' -SHELL -end \ No newline at end of file diff --git a/agent/cloud/aws.go b/agent/cloud/aws.go index 20420c0..d827cd7 100644 --- a/agent/cloud/aws.go +++ b/agent/cloud/aws.go @@ -6,7 +6,7 @@ import ( "strings" "time" - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/data" ) var c = &http.Client{Timeout: 10 * time.Millisecond} diff --git a/agent/cloud/detect.go b/agent/cloud/detect.go index eacf918..12b79b4 100644 --- a/agent/cloud/detect.go +++ b/agent/cloud/detect.go @@ -1,7 +1,7 @@ package cloud import ( - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/data" detectCloud "github.com/perlogix/libdetectcloud" ) diff --git a/agent/config/config.go b/agent/config/config.go index 4a95ea2..bdb7a90 100644 --- a/agent/config/config.go +++ b/agent/config/config.go @@ -9,7 +9,7 @@ import ( var ( v = viper.New() - configFlag = flag.String("config", "", " Set configuration path, defaults are ['./', '/opt/perlogix/cmon', '/etc/perlogix/cmon']") + configFlag = flag.String("config", "", " Set configuration path, defaults are ['./', '/opt/paradrop', '/etc/paradrop']") daemonFlag = flag.Bool("daemon", false, " Run in daemon mode") builtOn string commitHash string @@ -18,21 +18,21 @@ var ( func init() { - flag.StringVar(configFlag, "c", "", " Set configuration path, defaults are ['./', '/opt/perlogix/cmon', '/etc/perlogix/cmon']") + flag.StringVar(configFlag, "c", "", " Set configuration path, defaults are ['./', '/etc/paradrop', '/opt/paradrop']") flag.BoolVar(daemonFlag, "d", false, " Run in daemon mode") flag.Usage = func() { - fmt.Printf(` Usage: cmon [options] + fmt.Printf(` Usage: paradrop-agent [options] -d, --daemon Run in daemon mode - -c, --config Set configuration path, defaults are ['./', '/opt/perlogix/cmon', '/etc/perlogix/cmon'] + -c, --config Set configuration path, defaults are ['./', '/etc/paradrop', '/opt/paradrop'] Version: %s Built On: %s Commit Hash: %s - Example: cmon -d -c ./cmon.yml + Example: paradrop-agent -d -c ./paradrop-agent.yml - Documentation: https://github.com/perlogix/cmon/blob/master/README.md + Documentation: https://github.com/MetroStar/paradrop/agent/blob/main/README.md `, version, builtOn, commitHash) } @@ -43,18 +43,18 @@ func init() { v.SetDefault("environment", "") v.SetDefault("interval", "1200") v.SetDefault("api_username", "") - v.SetDefault("api_url", "https://127.0.0.1/v1/add-host") + v.SetDefault("api_url", "https://localhost:8443/v1/add-host") v.SetDefault("api_token", "") v.SetDefault("api_insecure_ssl", "false") v.SetDefault("public", "false") v.SetDefault("asset_type", "") - v.SetDefault("oscap_profile", "xccdf_org.ssgproject.content_profile_standard") - v.SetDefault("oscap_xccdf_xml", "/usr/share/xml/scap/ssg/content/ssg-ubuntu2004-ds.xml") + v.SetDefault("oscap_profile", "") + v.SetDefault("oscap_xccdf_xml", "") v.SetDefault("tags", "") - v.SetConfigName("cmon") - v.AddConfigPath("/etc/perlogix/cmon") - v.AddConfigPath("/opt/perlogix/cmon") + v.SetConfigName("paradrop-agent") + v.AddConfigPath("/etc/paradrop") + v.AddConfigPath("/opt/paradrop") v.AddConfigPath(".") v.SetConfigFile(*configFlag) diff --git a/agent/config/tags.go b/agent/config/tags.go index 78c8ef7..7d45172 100644 --- a/agent/config/tags.go +++ b/agent/config/tags.go @@ -1,7 +1,7 @@ package config import ( - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/data" ) // Tags parses tags in config file diff --git a/agent/containers/docker.go b/agent/containers/docker.go index 14be4a3..ae7d825 100644 --- a/agent/containers/docker.go +++ b/agent/containers/docker.go @@ -9,7 +9,7 @@ import ( "github.com/docker/docker/api/types/image" "github.com/docker/docker/client" units "github.com/docker/go-units" - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/data" ) // DockerContainers fetches all docker containers on system diff --git a/agent/go.mod b/agent/go.mod index 836e581..a396973 100644 --- a/agent/go.mod +++ b/agent/go.mod @@ -1,35 +1,34 @@ -module github.com/perlogix/cmon +module github.com/MetroStar/paradrop/agent go 1.22 toolchain go1.22.1 require ( - github.com/GoogleCloudPlatform/osconfig v0.0.0-20240320122636-e41a055704c2 + github.com/GoogleCloudPlatform/osconfig v0.0.0-20240409123127-66439cb4cc6d github.com/aquasecurity/trivy v0.50.1 github.com/denisbrodbeck/machineid v1.0.1 - github.com/docker/docker v26.0.0+incompatible + github.com/docker/docker v26.0.1+incompatible github.com/docker/go-units v0.5.0 github.com/mitchellh/go-ps v1.0.0 github.com/perlogix/libdetectcloud v0.0.0-20230721195148-b0a0473b5591 github.com/shirou/gopsutil v3.21.11+incompatible github.com/spf13/viper v1.18.2 - golang.org/x/sys v0.18.0 + golang.org/x/sys v0.19.0 ) require ( cloud.google.com/go v0.112.2 // indirect - cloud.google.com/go/compute v1.25.1 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/compute/metadata v0.3.0 // indirect cloud.google.com/go/iam v1.1.7 // indirect cloud.google.com/go/logging v1.9.0 // indirect cloud.google.com/go/longrunning v0.5.6 // indirect - cloud.google.com/go/storage v1.39.1 // indirect - cos.googlesource.com/cos/tools.git v0.0.0-20240327185431-bca14224dfe1 // indirect + cloud.google.com/go/storage v1.40.0 // indirect + cos.googlesource.com/cos/tools.git v0.0.0-20240411231514-df5eceb3e1e2 // indirect github.com/GoogleCloudPlatform/guest-logging-go v0.0.0-20240122235202-0396643f03b7 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/StackExchange/wmi v1.2.1 // indirect - github.com/aquasecurity/trivy-db v0.0.0-20240327054820-0ccb5f01aad8 // indirect + github.com/aquasecurity/trivy-db v0.0.0-20240401130858-5bfbd975e506 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.5.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect @@ -38,7 +37,7 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.3.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.2.0 // indirect + github.com/golang/glog v1.2.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/mock v1.6.0 // indirect github.com/golang/protobuf v1.5.4 // indirect @@ -49,14 +48,14 @@ require ( github.com/googleapis/gax-go/v2 v2.12.3 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/julienschmidt/httprouter v1.3.0 // indirect - github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/compress v1.17.8 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/package-url/packageurl-go v0.1.2 // indirect - github.com/pelletier/go-toml/v2 v2.2.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect @@ -70,32 +69,31 @@ require ( github.com/tklauser/go-sysconf v0.3.13 // indirect github.com/tklauser/numcpus v0.7.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.chromium.org/luci v0.0.0-20240328054346-587e6b53940e // indirect + go.chromium.org/luci v0.0.0-20240417003535-2724fa9975b4 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.50.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0 // indirect + go.opentelemetry.io/otel v1.25.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 // indirect - go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.25.0 // indirect go.opentelemetry.io/otel/sdk v1.24.0 // indirect - go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.25.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.21.0 // indirect - golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect - golang.org/x/mod v0.16.0 // indirect - golang.org/x/net v0.22.0 // indirect - golang.org/x/oauth2 v0.18.0 // indirect - golang.org/x/sync v0.6.0 // indirect + golang.org/x/crypto v0.22.0 // indirect + golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/net v0.24.0 // indirect + golang.org/x/oauth2 v0.19.0 // indirect + golang.org/x/sync v0.7.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.19.0 // indirect + golang.org/x/tools v0.20.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/api v0.172.0 // indirect - google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20240325203815-454cdb8f5daa // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa // indirect - google.golang.org/grpc v1.62.1 // indirect + google.golang.org/api v0.173.0 // indirect + google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be // indirect + google.golang.org/grpc v1.63.2 // indirect google.golang.org/protobuf v1.33.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/agent/go.sum b/agent/go.sum index ebe9045..480fe86 100644 --- a/agent/go.sum +++ b/agent/go.sum @@ -44,10 +44,8 @@ cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6m cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= -cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= -cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= @@ -71,10 +69,10 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.26.0/go.mod h1:mk/N7YwIKEWyTvXAWQCIeiCTdLoRH6Pd5xmSnolQLTI= -cloud.google.com/go/storage v1.39.1 h1:MvraqHKhogCOTXTlct/9C3K3+Uy2jBmFYb3/Sp6dVtY= -cloud.google.com/go/storage v1.39.1/go.mod h1:xK6xZmxZmo+fyP7+DEF6FhNc24/JAe95OLyOHCXFH1o= -cos.googlesource.com/cos/tools.git v0.0.0-20240327185431-bca14224dfe1 h1:t8iUzL0fKn5UdhJh3wIwTegaN+BEVEVJjEj+NUd9dB0= -cos.googlesource.com/cos/tools.git v0.0.0-20240327185431-bca14224dfe1/go.mod h1:hmkiKWllKkT4ZlmF7dwMcnLAERd7TNm77OVaEoKiabE= +cloud.google.com/go/storage v1.40.0 h1:VEpDQV5CJxFmJ6ueWNsKxcr1QAYOXEgxDa+sBbJahPw= +cloud.google.com/go/storage v1.40.0/go.mod h1:Rrj7/hKlG87BLqDJYtwR0fbPld8uJPbQ2ucUMY7Ir0g= +cos.googlesource.com/cos/tools.git v0.0.0-20240411231514-df5eceb3e1e2 h1:OJK047VC5xOSSQpq5FEJZnmQRm8CyPTBryCwwy58XUY= +cos.googlesource.com/cos/tools.git v0.0.0-20240411231514-df5eceb3e1e2/go.mod h1:hmkiKWllKkT4ZlmF7dwMcnLAERd7TNm77OVaEoKiabE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= @@ -86,8 +84,8 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/GoogleCloudPlatform/cloudsql-proxy v1.31.2/go.mod h1:qR6jVnZTKDCW3j+fC9mOEPHm++1nKDMkqbbkD6KNsfo= github.com/GoogleCloudPlatform/guest-logging-go v0.0.0-20240122235202-0396643f03b7 h1:rynTX4bIQEG4U2N5x9neD2KKR9Bmoj/XMMM2h5zpLsw= github.com/GoogleCloudPlatform/guest-logging-go v0.0.0-20240122235202-0396643f03b7/go.mod h1:6ZqSUIZRAPR5dNMWJ+FwIarFFQ9t5qalaKQs20o6h+I= -github.com/GoogleCloudPlatform/osconfig v0.0.0-20240320122636-e41a055704c2 h1:bI1QctyV9eCq36ngUZVLHqcoX9vK6m8puNGPgYfnd64= -github.com/GoogleCloudPlatform/osconfig v0.0.0-20240320122636-e41a055704c2/go.mod h1:GIuX7gdHVrSzNTy4D0yAsdLpbMlMYuGx1L6H4BGVCMg= +github.com/GoogleCloudPlatform/osconfig v0.0.0-20240409123127-66439cb4cc6d h1:CF4NJWBIG9GjWgg4Bv3p0NmrKyy9AHv8CwYO3nRzCGA= +github.com/GoogleCloudPlatform/osconfig v0.0.0-20240409123127-66439cb4cc6d/go.mod h1:GIuX7gdHVrSzNTy4D0yAsdLpbMlMYuGx1L6H4BGVCMg= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= @@ -99,8 +97,8 @@ github.com/andygrunwald/go-gerrit v0.0.0-20201231163137-46815e48bfe0/go.mod h1:s github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/aquasecurity/trivy v0.50.1 h1:z0tAvVcuMaF14bbe9jTzBuKKup8uJkx3KYUS8e58PK8= github.com/aquasecurity/trivy v0.50.1/go.mod h1:+gMIJI7BxYrkLfLdsC7cfDmuw1I1cQm4L+c0WI4KcDQ= -github.com/aquasecurity/trivy-db v0.0.0-20240327054820-0ccb5f01aad8 h1:1CoyI0ER4Z3kNxcTswlpX4Rw8SDC7QN8+aDNleJZWiM= -github.com/aquasecurity/trivy-db v0.0.0-20240327054820-0ccb5f01aad8/go.mod h1:sECIuPk1bXaqGDdoRVRfJCNNrPwIrutIFrfoVy6AVWE= +github.com/aquasecurity/trivy-db v0.0.0-20240401130858-5bfbd975e506 h1:jOdiz2r5LQkyEe5NzM2DKFkJfrvcBfUFGRPxC7vGHcs= +github.com/aquasecurity/trivy-db v0.0.0-20240401130858-5bfbd975e506/go.mod h1:sECIuPk1bXaqGDdoRVRfJCNNrPwIrutIFrfoVy6AVWE= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -141,8 +139,8 @@ github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3 github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/docker v26.0.0+incompatible h1:Ng2qi+gdKADUa/VM+6b6YaY2nlZhk/lVJiKR/2bMudU= -github.com/docker/docker v26.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v26.0.1+incompatible h1:t39Hm6lpXuXtgkF0dm1t9a5HkbUfdGy6XbWexmGr+hA= +github.com/docker/docker v26.0.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= @@ -187,8 +185,8 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69 github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= -github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4= +github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -352,8 +350,8 @@ github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4d github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= -github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= +github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -394,8 +392,8 @@ github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQ github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= github.com/package-url/packageurl-go v0.1.2 h1:0H2DQt6DHd/NeRlVwW4EZ4oEI6Bn40XlNPRqegcxuo4= github.com/package-url/packageurl-go v0.1.2/go.mod h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c= -github.com/pelletier/go-toml/v2 v2.2.0 h1:QLgLl2yMN7N+ruc31VynXs1vhMZa7CeHHejIeBAsoHo= -github.com/pelletier/go-toml/v2 v2.2.0/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/pelletier/go-toml/v2 v2.2.1 h1:9TA9+T8+8CUCO2+WYnDLCgrYi9+omqKXyjDtosvtEhg= +github.com/pelletier/go-toml/v2 v2.2.1/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/perlogix/libdetectcloud v0.0.0-20230721195148-b0a0473b5591 h1:XKeGRKzA98UNhf8JBToToDpu+cvwiEMZHTL614QjTwA= github.com/perlogix/libdetectcloud v0.0.0-20230721195148-b0a0473b5591/go.mod h1:9y6140vn+2JFi0k4RobK1/4PmRAP7IUTCHIkAHW4R88= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= @@ -481,13 +479,12 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.chromium.org/luci v0.0.0-20200722211809-bab0c30be68b/go.mod h1:MIQewVTLvOvc0UioV0JNqTNO/RspKFS0XEeoKrOxsdM= -go.chromium.org/luci v0.0.0-20240328054346-587e6b53940e h1:kIOcPUB7sjihdsdg+2wmzIJus2NSlTbDtAn5OePDFko= -go.chromium.org/luci v0.0.0-20240328054346-587e6b53940e/go.mod h1:8hVpOoHp82UTvia7Lz410RqXvMBbQ1hTRbiHV+XRKiA= +go.chromium.org/luci v0.0.0-20240417003535-2724fa9975b4 h1:Dwb1qtMKPYYoeByxBMGDQHg+IxlewKQlWj7kIHeUN4Y= +go.chromium.org/luci v0.0.0-20240417003535-2724fa9975b4/go.mod h1:8hVpOoHp82UTvia7Lz410RqXvMBbQ1hTRbiHV+XRKiA= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -497,22 +494,22 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.50.0 h1:zvpPXY7RfYAGSdYQLjp6zxdJNSYD/+FFoCTQN9IPxBs= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.50.0/go.mod h1:BMn8NB1vsxTljvuorms2hyOs8IBuuBEq0pl7ltOfy30= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0 h1:cEPbyTSEHlQR89XVlyo78gqluF8Y3oMeBkXGWzQsfXY= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0/go.mod h1:DKdbWcT4GH1D0Y3Sqt/PFXt2naRKDWtU+eE6oLdFNA8= +go.opentelemetry.io/otel v1.25.0 h1:gldB5FfhRl7OJQbUHt/8s0a7cE8fbsPAtdpRaApKy4k= +go.opentelemetry.io/otel v1.25.0/go.mod h1:Wa2ds5NOXEMkCmUou1WA7ZBfLTHWIsp034OVD7AO+Vg= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 h1:t6wl9SPayj+c7lEIFgm4ooDBZVb01IhLB4InpomhRw8= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0/go.mod h1:iSDOcsnSA5INXzZtwaBPrKp/lWu/V14Dd+llD0oI2EA= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM= -go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/metric v1.25.0 h1:LUKbS7ArpFL/I2jJHdJcqMGxkRdxpPHE0VU/D4NuEwA= +go.opentelemetry.io/otel/metric v1.25.0/go.mod h1:rkDLUSd2lC5lq2dFNrX9LGAbINP5B7WBkC78RXCpH5s= go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= -go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/otel/trace v1.25.0 h1:tqukZGLwQYRIFtSQM2u2+yfMVTgGVeqRLPUYx1Dq6RM= +go.opentelemetry.io/otel/trace v1.25.0/go.mod h1:hCCs70XM/ljO+BeQkyFnbK28SBIJ/Emuha+ccrCRT7I= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI= go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY= @@ -544,9 +541,8 @@ golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -557,8 +553,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw= -golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= +golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY= +golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -584,9 +580,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= -golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -632,9 +627,8 @@ golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= -golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -659,8 +653,8 @@ golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7Lm golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= -golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= +golang.org/x/oauth2 v0.19.0 h1:9+E/EZBCbTLNrbN35fHv/a/d/mOBatymz1zbtQrXpIg= +golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -673,9 +667,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -746,11 +739,10 @@ golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -763,7 +755,6 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -831,9 +822,8 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= -golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= +golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= +golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -889,8 +879,8 @@ google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6F google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= google.golang.org/api v0.94.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= -google.golang.org/api v0.172.0 h1:/1OcMZGPmW1rX2LCu2CmGUD1KXK1+pfzxotxyRUCCdk= -google.golang.org/api v0.172.0/go.mod h1:+fJZq6QXWfa9pXhnIzsjx4yI22d4aI9ZpLb58gvXjis= +google.golang.org/api v0.173.0 h1:fz6B7GWYWLS/HfruiTsRYVKQQApJ6vasTYWAK6+Qo8g= +google.golang.org/api v0.173.0/go.mod h1:ins7pTzjeBPQ3SdC/plzki6d/dQWwAWy8qVZ4Vgkzl8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -898,8 +888,6 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -984,12 +972,12 @@ google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljW google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220810155839-1856144b1d9c/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20240325203815-454cdb8f5daa h1:ePqxpG3LVx+feAUOx8YmR5T7rc0rdzK8DyxM8cQ9zq0= -google.golang.org/genproto v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:CnZenrTdRJb7jc+jOm0Rkywq+9wh0QC4U8tyiRbEPPM= -google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa h1:Jt1XW5PaLXF1/ePZrznsh/aAUvI7Adfc3LY1dAKlzRs= -google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:K4kfzHtI0kqWA79gecJarFtDn/Mls+GxQcg3Zox91Ac= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa h1:RBgMaUMP+6soRkik4VoN8ojR2nex2TqZwjSSogic+eo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be h1:g4aX8SUFA8V5F4LrSY5EclyGYw1OZN4HS1jTyjB9ZDc= +google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be/go.mod h1:FeSdT5fk+lkxatqJP38MsUicGqHax5cLtmy/6TAuxO4= +google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be h1:Zz7rLWqp0ApfsR/l7+zSHhY3PMiH2xqgxlfYfAfNpoU= +google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be/go.mod h1:dvdCTIoAGbkWbcIKBniID56/7XHTt6WfxXNMxuziJ+w= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be h1:LG9vZxsWGOmUKieR8wPAUR3u3MpnYFQZROPIMaXh7/A= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1022,8 +1010,8 @@ google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= -google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/agent/main.go b/agent/main.go index c296bbc..290b604 100644 --- a/agent/main.go +++ b/agent/main.go @@ -8,15 +8,15 @@ import ( "sync" "time" - "github.com/perlogix/cmon/cloud" - "github.com/perlogix/cmon/config" - "github.com/perlogix/cmon/containers" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/network" - "github.com/perlogix/cmon/packages" - "github.com/perlogix/cmon/security" - "github.com/perlogix/cmon/shipper" - "github.com/perlogix/cmon/system" + "github.com/MetroStar/paradrop/agent/cloud" + "github.com/MetroStar/paradrop/agent/config" + "github.com/MetroStar/paradrop/agent/containers" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/network" + "github.com/MetroStar/paradrop/agent/packages" + "github.com/MetroStar/paradrop/agent/security" + "github.com/MetroStar/paradrop/agent/shipper" + "github.com/MetroStar/paradrop/agent/system" ) func main() { diff --git a/agent/mapping.json b/agent/mapping.json deleted file mode 100644 index cd29553..0000000 --- a/agent/mapping.json +++ /dev/null @@ -1,420 +0,0 @@ -{ - "properties":{ - "asset_type":{ - "type":"keyword" - }, - "audit_rules":{ - "type":"keyword" - }, - "chassis_type":{ - "type":"keyword" - }, - "cloud":{ - "type":"keyword" - }, - "cpu_count":{ - "type":"long" - }, - "cpu_pct":{ - "type":"long" - }, - "cpu_vulns":{ - "type":"keyword" - }, - "clamav_defs":{ - "type":"keyword" - }, - "crontabs":{ - "type":"keyword" - }, - "diskfree_gb":{ - "type":"long" - }, - "disktotal_gb":{ - "type":"long" - }, - "diskused_gb":{ - "type":"long" - }, - "dns_nameserver":{ - "type":"keyword" - }, - "dmesg_errors":{ - "type":"keyword" - }, - "docker_containers":{ - "type":"keyword" - }, - "docker_running":{ - "type":"long" - }, - "docker_paused":{ - "type":"long" - }, - "docker_stopped":{ - "type":"long" - }, - "docker_images_count":{ - "type":"long" - }, - "docker_images":{ - "type":"keyword" - }, - "docker_labels":{ - "type":"nested" - }, - "domain":{ - "type":"keyword" - }, - "ec2_ami_id":{ - "type":"keyword" - }, - "ec2_availability_zone":{ - "type":"keyword" - }, - "ec2_instance_id":{ - "type":"keyword" - }, - "ec2_instance_type":{ - "type":"keyword" - }, - "ec2_profile":{ - "type":"keyword" - }, - "ec2_public_ip4":{ - "type":"keyword" - }, - "ec2_security_groups":{ - "type":"keyword" - }, - "environment":{ - "type":"keyword" - }, - "expired_certs":{ - "type":"keyword" - }, - "failed_logins":{ - "type":"keyword" - }, - "gem":{ - "type":"keyword" - }, - "hostname":{ - "type":"keyword" - }, - "ip_route":{ - "type":"keyword" - }, - "ipaddress":{ - "type":"keyword" - }, - "iptables":{ - "type":"keyword" - }, - "network_interfaces":{ - "type":"nested", - "properties":{ - "interface":{ - "type":"keyword" - }, - "mtu":{ - "type":"long" - }, - "rx_ok":{ - "type":"long" - }, - "rx_err":{ - "type":"long" - }, - "rx_drop":{ - "type":"long" - }, - "rx_overrun":{ - "type":"long" - }, - "tx_ok":{ - "type":"long" - }, - "tx_err":{ - "type":"long" - }, - "tx_drop":{ - "type":"long" - }, - "tx_overrun":{ - "type":"long" - }, - "flag":{ - "type":"keyword" - } - } - }, - "kernel_version":{ - "type":"keyword" - }, - "lastrun":{ - "type":"date" - }, - "load1":{ - "type":"long" - }, - "load15":{ - "type":"float" - }, - "load5":{ - "type":"float" - }, - "loaded_kernel_modules":{ - "type":"keyword" - }, - "memoryfree_gb":{ - "type":"long" - }, - "memorytotal_gb":{ - "type":"long" - }, - "memoryused_gb":{ - "type":"long" - }, - "ntp_servers":{ - "type":"keyword" - }, - "ntp_running":{ - "type":"boolean" - }, - "open_ports":{ - "type":"keyword" - }, - "openscap":{ - "type":"object", - "properties":{ - "status":{ - "type":"boolean" - }, - "checks":{ - "type":"long" - }, - "pass_total":{ - "type":"long" - }, - "fixed_total":{ - "type":"long" - }, - "informational_total":{ - "type":"long" - }, - "fail_total":{ - "type":"long" - }, - "error_total":{ - "type":"long" - }, - "unknown_total":{ - "type":"long" - }, - "notchecked_total":{ - "type":"long" - }, - "notselected_total":{ - "type":"long" - }, - "notapplicable_total":{ - "type":"long" - }, - "failed":{ - "type":"nested", - "properties":{ - "title":{ - "type":"keyword" - }, - "rule":{ - "type":"keyword" - }, - "result":{ - "type":"keyword" - } - } - }, - "warnings":{ - "type":"keyword" - } - } - }, - "os":{ - "type":"keyword" - }, - "packages":{ - "type":"keyword" - }, - "pip":{ - "type":"keyword" - }, - "pip3":{ - "type":"keyword" - }, - "platform":{ - "type":"keyword" - }, - "platform_family":{ - "type":"keyword" - }, - "platform_version":{ - "type":"float" - }, - "processes":{ - "type":"keyword" - }, - "public":{ - "type":"boolean" - }, - "snaps":{ - "type":"keyword" - }, - "sysctl":{ - "type":"keyword" - }, - "systemctl_failed":{ - "type":"keyword" - }, - "systemd_timers":{ - "type":"keyword" - }, - "timezone":{ - "type":"keyword" - }, - "trivy":{ - "type":"object", - "properties":{ - "vulnerabilities_total":{ - "type":"long" - }, - "vulnerabilities_low":{ - "type":"long" - }, - "vulnerabilities_medium":{ - "type":"long" - }, - "vulnerabilities_high":{ - "type":"long" - }, - "vulnerabilities_critical":{ - "type":"long" - }, - "vulnerabilities_unknown":{ - "type":"long" - }, - "TrivyResults":{ - "type":"nested", - "properties":{ - "Target":{ - "type":"keyword" - }, - "Type":{ - "type":"keyword" - }, - "Packages":{ - "type":"keyword" - }, - "Vulnerabilities":{ - "type":"nested", - "properties":{ - "VulnerabilityID":{ - "type":"keyword" - }, - "PkgName":{ - "type":"keyword" - }, - "InstalledVersion":{ - "type":"keyword" - }, - "Layer":{ - "type":"object", - "properties":{ - "DiffID":{ - "type":"keyword" - } - } - }, - "SeveritySource":{ - "type":"keyword" - }, - "PrimaryURL":{ - "type":"keyword" - }, - "Title":{ - "type":"keyword" - }, - "Description":{ - "type":"keyword" - }, - "Severity":{ - "type":"keyword" - }, - "CweIDs":{ - "type":"keyword" - }, - "CVSS":{ - "type":"object", - "properties":{ - "nvd":{ - "type":"object", - "properties":{ - "V2Vector":{ - "type":"keyword" - }, - "V3Vector":{ - "type":"keyword" - }, - "V2Score":{ - "type":"float" - }, - "V3Score":{ - "type":"float" - } - } - }, - "redhat":{ - "type":"object", - "properties":{ - "V3Vector":{ - "type":"keyword" - }, - "V3Score":{ - "type":"float" - } - } - } - } - }, - "References":{ - "type":"keyword" - }, - "PublishedDate":{ - "type":"date" - }, - "LastModifiedDate":{ - "type":"date" - } - } - } - } - } - } - }, - "uptime_days":{ - "type":"long" - }, - "users":{ - "type":"keyword" - }, - "users_loggedin":{ - "type":"keyword" - }, - "virtualization":{ - "type":"boolean" - }, - "virtualization_system":{ - "type":"keyword" - } - } -} \ No newline at end of file diff --git a/agent/network/conns.go b/agent/network/conns.go index d8ab977..c4febaa 100644 --- a/agent/network/conns.go +++ b/agent/network/conns.go @@ -4,7 +4,7 @@ import ( "strconv" ps "github.com/mitchellh/go-ps" - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/data" "github.com/shirou/gopsutil/net" ) diff --git a/agent/network/domainname.go b/agent/network/domainname.go index 178daaa..7f2cb42 100644 --- a/agent/network/domainname.go +++ b/agent/network/domainname.go @@ -4,7 +4,7 @@ import ( "os" "strings" - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/data" ) // DomainName fetches the domain name used on system diff --git a/agent/network/ip.go b/agent/network/ip.go index 1f7a6e2..5196209 100644 --- a/agent/network/ip.go +++ b/agent/network/ip.go @@ -5,7 +5,7 @@ import ( "strings" "time" - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/data" ) // IP fetches the local IP address used for outbound connections diff --git a/agent/network/iproutes.go b/agent/network/iproutes.go index 54f4023..25d795a 100644 --- a/agent/network/iproutes.go +++ b/agent/network/iproutes.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // IPRoutes fetches the IP routes on NIX systems diff --git a/agent/network/iptables.go b/agent/network/iptables.go index b7b6a9b..f881f4f 100644 --- a/agent/network/iptables.go +++ b/agent/network/iptables.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // IPTables fetches all iptables rules diff --git a/agent/network/nameservers.go b/agent/network/nameservers.go index 811b007..b8461ee 100644 --- a/agent/network/nameservers.go +++ b/agent/network/nameservers.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // DNS fetches all the DNS servers in resolv.conf diff --git a/agent/network/netstats.go b/agent/network/netstats.go index 15a8add..37f6ecf 100644 --- a/agent/network/netstats.go +++ b/agent/network/netstats.go @@ -5,8 +5,8 @@ import ( "strconv" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // IfaceStats fetches the Kernel Network Interface Table diff --git a/agent/network/ntp.go b/agent/network/ntp.go index c9cd75e..8a09828 100644 --- a/agent/network/ntp.go +++ b/agent/network/ntp.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // NTPServers gets NTP servers listed in /etc/ntp.conf diff --git a/agent/packages/deb.go b/agent/packages/deb.go index fcfd077..2712b3f 100644 --- a/agent/packages/deb.go +++ b/agent/packages/deb.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // Deb fetches all dpkg packages diff --git a/agent/packages/gem.go b/agent/packages/gem.go index 7df5628..eaaddc3 100644 --- a/agent/packages/gem.go +++ b/agent/packages/gem.go @@ -3,8 +3,8 @@ package packages import ( "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // Gem fetches all gems on the system diff --git a/agent/packages/pip.go b/agent/packages/pip.go index 52a2fb4..afb68a0 100644 --- a/agent/packages/pip.go +++ b/agent/packages/pip.go @@ -3,8 +3,8 @@ package packages import ( "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // Pip fetches all Python 2.x packages diff --git a/agent/packages/rpm.go b/agent/packages/rpm.go index 90e5f93..5a1f91e 100644 --- a/agent/packages/rpm.go +++ b/agent/packages/rpm.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // Rpm fetches all RPM packages installed on the system diff --git a/agent/packages/snap.go b/agent/packages/snap.go index 2aa4da3..8df74e9 100644 --- a/agent/packages/snap.go +++ b/agent/packages/snap.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // Snaps fetches all snap containers diff --git a/agent/packages/windows_darwin.go b/agent/packages/windows_darwin.go index 65a2b40..1fc47a7 100644 --- a/agent/packages/windows_darwin.go +++ b/agent/packages/windows_darwin.go @@ -2,7 +2,7 @@ package packages -import "github.com/perlogix/cmon/data" +import "github.com/MetroStar/paradrop/agent/data" func WindowsPackages(d *data.DiscoverJSON) { wp := []data.WindowsPackages{} diff --git a/agent/packages/windows_linux.go b/agent/packages/windows_linux.go index df3a1fd..bc85185 100644 --- a/agent/packages/windows_linux.go +++ b/agent/packages/windows_linux.go @@ -2,7 +2,7 @@ package packages -import "github.com/perlogix/cmon/data" +import "github.com/MetroStar/paradrop/agent/data" func WindowsPackages(d *data.DiscoverJSON) { wp := []data.WindowsPackages{} diff --git a/agent/packages/windows_windows.go b/agent/packages/windows_windows.go index 243b73c..ef6e6c2 100644 --- a/agent/packages/windows_windows.go +++ b/agent/packages/windows_windows.go @@ -8,7 +8,7 @@ import ( "time" "github.com/GoogleCloudPlatform/osconfig/packages" - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/data" "golang.org/x/sys/windows/registry" ) diff --git a/agent/packaging/install.sh b/agent/packaging/install.sh index 06fe8ea..3eee16e 100755 --- a/agent/packaging/install.sh +++ b/agent/packaging/install.sh @@ -1,12 +1,12 @@ #!/bin/sh -mkdir -p /etc/perlogix/cmon +mkdir -p /etc/paradrop -mv -f /etc/perlogix/cmon/cmon /usr/bin/cmon -chmod -f 0755 /usr/bin/cmon +mv -f /etc/paradrop/paradrop-agent /usr/bin/paradrop-agent +chmod -f 0755 /usr/bin/paradrop-agent -if [ ! -e /etc/perlogix/cmon/cmon.yaml ]; then - cp -f /etc/perlogix/cmon/cmon.yaml.orig /etc/perlogix/cmon/cmon.yaml +if [ ! -e /etc/paradrop/paradrop-agent.yaml ]; then + cp -f /etc/paradrop/paradrop-agent.yaml.orig /etc/paradrop/paradrop-agent.yaml fi if [ "$(pgrep systemd -c)" -ge 2 ]; then @@ -16,14 +16,14 @@ else fi if [ "$INIT" = "systemd" ]; then - cp -f /etc/perlogix/cmon/cmon.service /etc/systemd/system/cmon.service + cp -f /etc/paradrop/paradrop-agent.service /etc/systemd/system/paradrop-agent.service systemctl daemon-reload - systemctl restart cmon + systemctl restart paradrop-agent fi if [ "$INIT" = "other" ]; then - cp -f /etc/perlogix/cmon/cmon.init /etc/init.d/cmon - chmod -f 0755 /etc/init.d/cmon - chkconfig cmon on - /etc/init.d/cmon restart + cp -f /etc/paradrop/paradrop-agent.init /etc/init.d/paradrop-agent + chmod -f 0755 /etc/init.d/paradrop-agent + chkconfig paradrop-agent on + /etc/init.d/paradrop-agent restart fi diff --git a/agent/packaging/package.sh b/agent/packaging/package.sh index 83b6d01..d2b0c2f 100755 --- a/agent/packaging/package.sh +++ b/agent/packaging/package.sh @@ -5,48 +5,19 @@ if [ "$1" = "" ]; then exit 1 fi -mkdir -p /etc/perlogix/cmon - -cp -f ./cmon.service /etc/perlogix/cmon/ -cp -f ../cmon /etc/perlogix/cmon/ - -cat <<'EOF' >/etc/perlogix/cmon/cmon.yaml.orig -# ElasticSearch DB -#host: localhost -#port: 9200 - -# ElasticSearch Index Name -# This can be anything, it could be aws, softlayer, prod, staging -#environment: dev - -# Interval of agent runs in seconds -# Default is every twenty minutes -#interval: 1200 - -# Username if http-basic plugin is enabled -#username: - -# Password if http-basic plugin is enabled -#password: - -# https true enables HTTPS instead of HTTP) -#https: false - -# Verify SSL for HTTPS endpoints -#insecure_ssl: false - -# Public facing asset -#public: false - -# Asset type -#asset_type: - -# OpenSCAP XCCDF XML file path -#oscap_xccdf_xml: /usr/share/scap-security-guide/ssg-ubuntu1804-ds.xml - -# OpenSCAP Profile -#oscap_profile: xccdf_org.ssgproject.content_profile_cis +mkdir -p /etc/paradrop + +cp -f ./paradrop-agent.service /etc/paradrop/ +cp -f ../paradrop-agent /etc/paradrop/ + +cat <<'EOF'>/etc/paradrop/paradrop-agent.yaml.orig +api_url: https://localhost:8443/v1/add-host +api_username: +api_token: +api_insecure_ssl: +oscap_xccdf_xml: +tags: [] EOF -fpm -t deb -s dir -n cmon -v "$1" -a amd64 -p "cmon-$1-amd64.deb" --license GPLv3 --vendor Perlogix -m hello@perlogix.com --url "https://github.com/perlogix/cmon" --description "Perlogix cmon binary distribution" --after-install ./install.sh --after-remove ./uninstall.sh --deb-no-default-config-files /etc/perlogix/cmon -fpm -t rpm -s dir -n cmon -v "$1" -a amd64 -p "cmon-$1-amd64.rpm" --license GPLv3 --vendor Perlogix -m hello@perlogix.com --url "https://github.com/perlogix/cmon" --description "Perlogix cmon binary distribution" --after-install ./install.sh --after-remove ./uninstall.sh /etc/perlogix/cmon +fpm -t deb -s dir -n paradrop-agent -v "$1" -a amd64 -p "paradrop-agent-$1-amd64.deb" --license GPLv3 --vendor Perlogix -m paradrop@metrostar.com --url "https://github.com/MetroStar/paradrop" --description "MetroStar paradrop-agent binary distribution" --after-install ./install.sh --after-remove ./uninstall.sh --deb-no-default-config-files /etc/paradrop +fpm -t rpm -s dir -n paradrop-agent -v "$1" -a amd64 -p "paradrop-agent-$1-amd64.rpm" --license GPLv3 --vendor Perlogix -m paradrop@metrostar.com --url "https://github.com/MetroStar/paradrop" --description "MetroStar paradrop-agent binary distribution" --after-install ./install.sh --after-remove ./uninstall.sh /etc/paradrop diff --git a/agent/packaging/cmon.service b/agent/packaging/paradrop-agent.service similarity index 63% rename from agent/packaging/cmon.service rename to agent/packaging/paradrop-agent.service index 15fa09f..0e83cf8 100644 --- a/agent/packaging/cmon.service +++ b/agent/packaging/paradrop-agent.service @@ -1,12 +1,12 @@ [Unit] -Description=cmon Daemon +Description=paradrop-agent Daemon After=network.target [Service] Type=simple User=root Group=root -ExecStart=/usr/bin/cmon -d +ExecStart=/usr/bin/paradrop-agent -d Restart=on-failure [Install] diff --git a/agent/packaging/uninstall.sh b/agent/packaging/uninstall.sh index 0799773..bea0f41 100755 --- a/agent/packaging/uninstall.sh +++ b/agent/packaging/uninstall.sh @@ -7,13 +7,13 @@ else fi if [ "$INIT" = "systemd" ]; then - systemctl stop cmon - rm -rf /etc/systemd/system/cmon.service /etc/perlogix/cmon /usr/bin/cmon + systemctl stop paradrop-agent + rm -rf /etc/systemd/system/paradrop-agent.service /etc/metrostar/paradrop-agent /usr/bin/paradrop-agent systemctl daemon-reload fi if [ "$INIT" = "other" ]; then - /etc/init.d/cmon stop - chkconfig cmon off - rm -rf /etc/init.d/cmon /etc/perlogix/cmon /usr/bin/cmon + /etc/init.d/paradrop-agent stop + chkconfig paradrop-agent off + rm -rf /etc/init.d/paradrop-agent /etc/metrostar/paradrop-agent /usr/bin/paradrop-agent fi diff --git a/agent/security/certs.go b/agent/security/certs.go index fe1130c..4b0be77 100644 --- a/agent/security/certs.go +++ b/agent/security/certs.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // ExpiredCerts detects if certs are expiring within 30 days diff --git a/agent/security/clamav.go b/agent/security/clamav.go index a6bc56e..ebab3b3 100644 --- a/agent/security/clamav.go +++ b/agent/security/clamav.go @@ -3,8 +3,8 @@ package security import ( "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // ClamAVDefs shows ClamAV version and signatures version followed by the date of the signatures diff --git a/agent/security/cpu.go b/agent/security/cpu.go index 44a1755..a23613b 100644 --- a/agent/security/cpu.go +++ b/agent/security/cpu.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // CPUvulns detects if CPUs are vulnerable diff --git a/agent/security/logins.go b/agent/security/logins.go index 0efc1e8..9335ff3 100644 --- a/agent/security/logins.go +++ b/agent/security/logins.go @@ -4,8 +4,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // FailedLogins runs lastb on NIX systems diff --git a/agent/security/oscap.go b/agent/security/oscap.go index 0b6b14c..f7f26ae 100644 --- a/agent/security/oscap.go +++ b/agent/security/oscap.go @@ -8,8 +8,8 @@ import ( "runtime" "strings" - "github.com/perlogix/cmon/config" - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/config" + "github.com/MetroStar/paradrop/agent/data" ) // parse reads from exec.Command StdOutPipe and converts it into JSON diff --git a/agent/security/trivy.go b/agent/security/trivy.go index 2fe29eb..d64dcae 100644 --- a/agent/security/trivy.go +++ b/agent/security/trivy.go @@ -5,8 +5,8 @@ import ( "runtime" "github.com/aquasecurity/trivy/pkg/types" - "github.com/perlogix/cmon/data" - "github.com/perlogix/cmon/util" + "github.com/MetroStar/paradrop/agent/data" + "github.com/MetroStar/paradrop/agent/util" ) // TrivyScan scans the root filesystem for vulnerabilities diff --git a/agent/shipper/shipper.go b/agent/shipper/shipper.go index a8f62ea..c0dcaab 100644 --- a/agent/shipper/shipper.go +++ b/agent/shipper/shipper.go @@ -9,8 +9,8 @@ import ( "net/http" "time" - "github.com/perlogix/cmon/config" - "github.com/perlogix/cmon/data" + "github.com/MetroStar/paradrop/agent/config" + "github.com/MetroStar/paradrop/agent/data" ) var ( diff --git a/agent/start.sh b/agent/start.sh deleted file mode 100755 index d69e612..0000000 --- a/agent/start.sh +++ /dev/null @@ -1,177 +0,0 @@ -#!/bin/sh - -# Main variables -START=$(date +%s) -LOG="build.log" -PROJECT=$(basename "$(pwd)") -VERSION=$(git log -n 1 --pretty=format:"%H" 2>/dev/null | head -c 10) - -if [ "$VERSION" = "" ]; then - # Version will return YYYYmmdd, e.g. 20210209 - VERSION=$(date '+%Y%m%d') -fi - -IMAGE="$PROJECT:$VERSION" - -# HTTP proxy if applicable -http_proxy="$http_proxy" -https_proxy="$https_proxy" -HTTP_PROXY="$HTTP_PROXY" -HTTPS_PROXY="$HTTPS_PROXY" -no_proxy="$no_proxy" -NO_PROXY="$NO_PROXY" - -# Slack if applicable -SLACK_TOKEN="$SLACK_TOKEN" -SLACK_CHANNELS="$SLACK_CHANNELS" -BUILD_STATUS="PASS" - -# Check root permissions -root() { - if [ "$(id -u)" != 0 ]; then - echo "Need root permissions" && echo - exit 1 - fi -} - -# Calculate finish time -finish() { - FINISH=$(date +%s) - COMPLETE=$((FINISH - START)) - FINISH="took $((COMPLETE / 60)) minute(s) to finish" -} - -# Result builder -result() { - ERRORS=$(grep 'ERRORS FOUND in' "$LOG" | awk '{ print $7 }' | tr '\n' ' ') - VULNS=$(grep 'Total:' "$LOG") - - if [ "$(grep -i "non-zero code\|error response from daemon" "$LOG" 2>/dev/null)" != "" ]; then - BUILD_STATUS="FAIL" - fi - - if [ "$VULNS" != "" ]; then - RESULT="Vulnerabilities $VULNS" - else - VULNS="" - fi - - finish - - RESULT="$BUILD_STATUS - $PROJECT - $VERSION - $FINISH - $ERRORS - $VULNS - " -} - -# Make self-signed certificate -mkcert() { - openssl req -x509 -newkey \ - rsa:4096 -nodes -keyout localhost.key \ - -out localhost.pem -days 365 -sha256 -subj '/CN=localhost' -} - -# Build commands -build() { - docker build \ - --build-arg http_proxy="$http_proxy" \ - --build-arg https_proxy="$https_proxy" \ - --build-arg HTTP_PROXY="$HTTP_PROXY" \ - --build-arg HTTPS_PROXY="$HTTPS_PROXY" \ - --build-arg no_proxy="$no_proxy" \ - --build-arg NO_PROXY="$NO_PROXY" \ - --network=host -t "$IMAGE" . 2>&1 | tee "$LOG" - - if [ "$(command -v docker-slim)" != "" ]; then - docker-slim build --http-probe-off \ - --continue-after 5 --tag "$IMAGE" \ - --target "$IMAGE" 2>&1 | tee -a "$LOG" - - docker rm -f "$(docker ps | grep dockerslim | awk '{ print $1 }')" - rm -f slim.report.json - fi - - # Remove ASCII colors from log - sed -ri "s/\x1B\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]//g" "$LOG" -} - -# Run commands -run() { - if [ "$(command -v docker-init)" != "" ]; then - docker rm -f "$PROJECT" 2>/dev/null - docker run \ - -d --net=host \ - --init --restart=always \ - --name="$PROJECT" "$IMAGE" - else - docker rm -f "$PROJECT" 2>/dev/null - docker run \ - -d --net=host \ - --restart=always \ - --name="$PROJECT" "$IMAGE" - fi -} - -# Clean commands -clean() { - docker system prune -af -} - -# Upload build log file to Slack -slack() { - if [ "$SLACK_TOKEN" != "" ] && [ -f "$LOG" ]; then - result - - if [ "$BUILD_STATUS" = "PASS" ]; then - EMOJI=":white_check_mark:" - else - EMOJI=":warning" - fi - - curl -s \ - -F channels="$SLACK_CHANNELS" \ - -F initial_comment="$EMOJI $RESULT" \ - -F file=@"$LOG" \ - -F filename="$LOG" \ - -H "Authorization: Bearer $SLACK_TOKEN" \ - 'https://slack.com/api/files.upload' | grep 'ok":false' - fi -} - -# Check if argument is passed to script -if [ "$1" = "build" ]; then - root - build - exit -fi - -if [ "$1" = "run" ]; then - root - run - exit -fi - -if [ "$1" = "clean" ]; then - root - clean - exit -fi - -if [ "$1" = "mkcert" ]; then - mkcert - exit -fi - -# Set custom sequence below. Example: -root -build -slack -run -clean - -result -cat <