🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

github.com/parallaxsecond/parsec-client-go

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
p

github.com/parallaxsecond/parsec-client-go

v0.0.0-20221025095442-f0a77d263cf9
77

Supply Chain Security

100

Vulnerability

100

Quality

100

Maintenance

100

License

Uses eval

Supply chain risk

Package uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.

Found 1 instance in 1 package

Network access

Supply chain risk

This module accesses the network.

Found 1 instance in 1 package

Shell access

Supply chain risk

This module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.

Found 1 instance in 1 package

Dependencies have 83 high and critical alerts.

Critical CVE, Socket optimized override available, and High CVE

Version published
Created
Issues
20

PARSEC logo

PARSEC Go Client

This repository contains a PARSEC Go Client library. The library contains methods to communicate using the wire protocol.

:imp:WARNING

The current status of this interface is suitable only for review of the API. It is a work in progress. There are ommissions and testing is very minimal at this stage.

Build Status

Build and Test Continuous Integration

Usage

Sample usage can be found in the end to end tests in the e2etest folder

Parsec Service Socket Configuration

This client will, connect to the parsec service on a URL defined using the PARSEC_SERVICE_ENDPOINT environment variable. This URL must be for the unix scheme (no other schemes are supported at this time).

If the PARSEC_SERVICE_ENDPOINT environment variable is not set, then the default value of unix:/run/parsec/parsec.sock is used.

Parsec Interface Version

The parsec interface is defined in google protocol buffers .proto files, included in the parsec operations, which is included as a git submodule in the interface/parsec-operations folder in this repository. This submodule is currently pinned to parsec-operations v0.6.0

The protocol buffers files are used to generate translation golang code which is checked into this repository to remove the requirement for developers using this library to install protoc.

Interface Generation

Prerequisites

You will need protoc 3+ installed as well as gcc.

You will also need the go plugin for protoc

On ubuntu 20.04, the following will install the tools you need:

# protoc and gcc
apt-get install protoc build-essential
# go plugin
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26

Generation

To update the generated files, run the following in this folder (protoc and make required)

make clean-protobuf
make protoc
make build

Testing

To run unit tests:

make test

To run continuous integration tests (requires docker). This will run up docker container that will run the parsec daemon and then run a series of end to end tests.

make ci-test-all
# can also be run using
./e2etest/scripts/ci-all.sh

All code for the end to end tests is in the e2etest folder.

Black box unit tests for folders are found in a test folder under the main package folder (e.g. for algorithm parsec/algorithm/test)

Internal tests for packages will be in the relevant package folders as required by go, and will be called xxx_internal_test.go

Folder Structure

  • This folder General files that must be at the top level - readmes, licence, lint configurations, etc.
  • .github/workflows Github Build CI action definitions - CI testing, build, unit test, static analysis...
  • e2etest End to End testing - Docker containers to fire up parsec and run end to end tests. Also used in CI end to end testing.
  • interface The Google Protocol Buffers basic client for communicating with the parsec daemon. This provides the underlying interface to parsec, but is not intended for client application use.
  • parsec This is the public interface of the Parsec Go client.

License

The software is provided under Apache-2.0. Contributions to this project are accepted under the same license.

This project uses the following third party libraries:

  • golang.org/x/sys BSD-3-Clause
  • google.golang.org/protobuf BSD-3-Clause
  • github.com/sirupsen/logrus MIT

Contributing

Please check the Contributing to know more about the contribution process.

FAQs

Package last updated on 25 Oct 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts