All Projects → XuanMaoSecLab → DolphinChain

XuanMaoSecLab / DolphinChain

Licence: MIT license
DolphinChain is the first Vulnerable Blockchain Application in the world!

Programming Languages

go
31211 projects - #10 most used programming language
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
Makefile
30231 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to DolphinChain

audits
Subset of public audit reports issued by ChainSecurity. For more, please visit:
Stars: ✭ 27 (+58.82%)
Mutual labels:  audit
aud
Use `npx aud` instead of `npm audit`, whether you have a lockfile or not!
Stars: ✭ 24 (+41.18%)
Mutual labels:  audit
freeaudit
Packaging audit toolkit using vulners.com vulnerability database
Stars: ✭ 19 (+11.76%)
Mutual labels:  audit
audit
A common audit framework for java application
Stars: ✭ 28 (+64.71%)
Mutual labels:  audit
postgres-baseline
DevSec PostgreSQL Baseline - InSpec Profile
Stars: ✭ 47 (+176.47%)
Mutual labels:  audit
audit-log
📑 Create audit logs into the database for user behaviors, including a web UI to query logs.
Stars: ✭ 135 (+694.12%)
Mutual labels:  audit
ecaudit
Ericsson Audit plug-in for Apache Cassandra
Stars: ✭ 36 (+111.76%)
Mutual labels:  audit
cis-benchmark-centOS-8
Auditing Script based on CIS-BENCHMARK CENTOS 8
Stars: ✭ 34 (+100%)
Mutual labels:  audit
aushape
A library and a tool for converting audit logs to XML and JSON
Stars: ✭ 37 (+117.65%)
Mutual labels:  audit
intercept
INTERCEPT / Policy as Code Static Analysis Auditing / SAST
Stars: ✭ 54 (+217.65%)
Mutual labels:  audit
pass-audit
A pass extension for auditing your password repository.
Stars: ✭ 71 (+317.65%)
Mutual labels:  audit
sqle
SQLE is a SQL audit platform | SQLE 是一个支持多场景,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具
Stars: ✭ 731 (+4200%)
Mutual labels:  audit
Generic-SQL-Audit-Trail
A generic audit trail based on triggers and dynamic SQL.
Stars: ✭ 15 (-11.76%)
Mutual labels:  audit
active snapshot
Simplified snapshots and restoration for ActiveRecord models and associations with a transparent white-box implementation
Stars: ✭ 67 (+294.12%)
Mutual labels:  audit
bitprices
command-line tool that generates a report of transactions with the USD (fiat) value at the time of each transaction.
Stars: ✭ 17 (+0%)
Mutual labels:  audit
delta reporting
Promise reporting portal using CFEngine Community
Stars: ✭ 13 (-23.53%)
Mutual labels:  audit
org-audit-action
GitHub Action that provides an Organization Membership Audit
Stars: ✭ 34 (+100%)
Mutual labels:  audit
cis-dil-benchmark
CIS Distribution Independent Linux Benchmark - InSpec Profile
Stars: ✭ 120 (+605.88%)
Mutual labels:  audit
grails-audit-logging-plugin
The Grails Audit Logging Plugin
Stars: ✭ 49 (+188.24%)
Mutual labels:  audit
lxd-probe
Open Source runtime scanner for Linux containers (LXD / LXC), It performs security audit checks based on CIS Linux containers Benchmark specification
Stars: ✭ 14 (-17.65%)
Mutual labels:  audit

DolphinChain

dolphinchain.logo

DolphinChain is the first Vulnerable Blockchain Application in the world! dolphinchain.org

Version : 1.0.0

中文说明

Table of Contents

Overview

DolphinChain is a deliberately insecure blockchain application maintained by XuanMao Secure Lab designed to teach blockchain application security lessons. You can install and practice with DolphinChain.

DolphinChain was developed based on tendermint v0.31.2 (WARNING: ALPHA SOFTWARE), which is the latest version of tendermint at that time.

In this release (v1.0.0), there are about 10 bugs in DolphinChain. Any whilehat and developer of blockhain can try to exploit the vulnerabilities. It's main goals are to be an aid for security professionals improving skills and help blockchain developers better understand the processes of securing blockchain applications.

Installation

  1. Download and install golang

  2. Download and install DolphinChain.

  3. Get all dependencies of DolphinChain.

All you need is ready !

You can look for Installation for more details.

Usage

Deploy DolphinChain -> Find defect code -> Write verification script -> Verify vulnerability exists

  1. Finding Vulnerabilities: Blockchain vulnerabilities are mainly caused by code issues and logic problems.
  2. Write a verification script: There are two ways to test a script with PoC or Go test.

Of course we will expose all the Writeup. You can view it through our another Repository.

At the same time, we also summarized the historical vulnerability of tendermint, see Tendermint Bugs History

Tendermint Bugs History

Tendermint is a core component of the Cosmos network ecosystem and is primarily responsible for consensus and P2P. Since its development in 2014, the community has been active, code iterations are fast, and most importantly, security is highly valued. Therefore, by learning the security vulnerabilities and fixes of this chain, we can let other developers learn their ideas and avoid stepping on the pits that the predecessors have already stepped on.

Here is the bugs history of tendermint we collected. We spent almost a month finishing.

P2P consensus node RPC marshal message queue database message logic seed list mempool
null pointer X X X X X X X X X
null config X X X X X X X X
lack of err handle X X X X X X X X X X
server hang on X
Concurrent quantity limit X X X X X X
Abnormal value X X X X X X X
component logic X X X X
overflow X X
lock X X
DOS X X X X
memory leak X X X
initing X X X X X X X
dependencies X X
resource control X X X X X

Contribution

Welcome to submit any question via issue. Moreover, you can also develop more vulnerabilities with us.

Contributors :

Tri0nes、Javierlev

Backer





Connection

TODO

  • There may be some bugs and we are fixing.
  • Write Writeup for vulnerabilities existed
  • Sort out new vulnerabilities as follow-up development
  • Some particularly interesting ideas

License

DolphinChain is licensed under the MIT License. See LICENSE for the full license text.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].