Git Product home page Git Product logo

PolySwarm Alpha

Early Stages of development

Introduction

This repository contains a Perigord project which represents the end-to-end (early) test network implementation of Bounties as described in our whitepaper (https://polyswarm.io/polyswarm-whitepaper.pdf). Offers are coming soon. All contracts in this repo are subject to change.

Bounties

Bounties in PolySwarm give enterprises the ability to submit artifacts to PolySwarm and receive responses from experts on the maliciousness of artifacts. Enterprises can leverage the code in bounty/poster.go as a Golang based interface for posting suspect artifacts to PolySwarm. Experts can use the same interface to stream bounties and post their assertions (opinions) on files of interest for which they have expertise.

Posting (Enterprise/Users)

There are several components of each bounty posted:

  • Bounty fee which experts must pay to record their assertions
  • Bounty amount which is the initial reward offered to experts for examining the file
  • Artifact information: hash, URL to fetch
  • Deadline
  • Bounty GUID

Enterprises can leverage the public methods in bounty/poster.go as a Golang based interface for posting suspect artifacts to PolySwarm.

Assertions

Experts can use the same interface to stream bounties and post their assertions (opinions) on files of interest for which they have expertise.

An event-based API for streaming bounties is provided.

Assertions against posted bounties consist of:

  • A bid against the bounty
  • A determination of malicious-or-not (boolean)
  • Optional metadata (such as e.g. malware family) which provides value-add to the bounty poster

Offers

Offers are a work in progress, but will represent a direct offer from an enterprise to a security expert to analyze an artifact. To issue an offer, the enterprise will open a Raiden-style channel with the expert and issue zero or more offers.

Running

Native

Steps:

  1. Install Perigord with all dependencies (https://github.com/polyswarm/perigord )
  2. Launch geth testnet with ./scripts/launch_geth_testnet.sh
  3. Build bindings with perigord build
  4. Run tests with go test
  5. Run web interface with go run main.go

Docker

Steps:

  1. Build docker image with included Dockerfile (docker/Dockerfile)
  2. Launch geth testnet with ./scripts/launch_geth_testnet.sh
  3. Run docker image, mounting geth IPC socket to /var/run/geth.ipc in the container
  4. Run tests with go test
  5. Run web interface with go run main.go

PolySwarm's Projects

ambassador icon ambassador

DEPRECATED - PLEASE USE https://github.com/polyswarm/polyswarm-client

arbiter icon arbiter

DEPRECATED - PLEASE USE https://github.com/polyswarm/polyswarm-client

autopsy-module icon autopsy-module

Module for Autopsy to enable forensic analysts to submit files into PolySwarm marketplace for analysis.

capev2 icon capev2

Malware Configuration And Payload Extraction

capstone icon capstone

Capstone disassembly/disassembler framework: Core (Arm, Arm64, EVM, M68K, M680X, Mips, PPC, Sparc, SystemZ, TMS320C64x, X86, X86_64, XCore) + bindings (Python, Java, Ocaml, PowerShell, Visual Basic)

content icon content

This repository contains all Demisto content and from here we share content updates

contracts icon contracts

DEPRECATED, use: https://github.com/polyswarm/contractor

cybot icon cybot

Open Source Threat Intelligence Chat Bot

exonum icon exonum

An extensible open-source framework for creating private/permissioned blockchain applications

flask-profiler icon flask-profiler

a flask profiler which watches endpoint calls and tries to make some analysis.

geth icon geth

PolySwarm test network using geth

go-ethereum icon go-ethereum

Official Go implementation of the Ethereum protocol

gui icon gui

DEPRICATED replaced by https://polyswarm.network

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.