Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(readme): add new docs link #2010

Merged
merged 4 commits into from
Jul 6, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# CITATION.cff: Citation File Format for reproducible research software

cff-version: 1.2.0
title: Slither
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Josselin Feist
sambacha marked this conversation as resolved.
Show resolved Hide resolved
family-names: Feist
- given-names: Gustavo
family-names: Grieco
- given-names: Alex
family-names: Grace
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
family-names: Grace
family-names: Groce

identifiers:
- type: doi
value: 10.48550/arXiv.1908.09878
description: arXiv.1908.09878
sambacha marked this conversation as resolved.
Show resolved Hide resolved
- type: url
value: 'https://arxiv.org/abs/1908.09878'
description: arxiv
repository-code: 'https://github.com/crytic/slither'
repository-artifact: 'https://github.com/crytic/slither/releases'
abstract: 'Slither: A Static Analysis Framework for Smart Contracts'
keywords:
- 'ethereum '
sambacha marked this conversation as resolved.
Show resolved Hide resolved
- Static Analysis
- Smart contracts
- EVM
license: AGPL-3.0-or-later
sambacha marked this conversation as resolved.
Show resolved Hide resolved
commit: 3d4f934d3228f072b7df2c5e7252c64df4601bc8
version: 0.9.5
date-released: '2023-06-28'
45 changes: 29 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,35 @@
# Slither, the Solidity source analyzer
# [Slither, the Solidity source analyzer](https://crytic.github.io/slither/slither.html)

<img src="https://raw.githubusercontent.com/crytic/slither/master/logo.png" alt="Logo" width="500"/>

[![Build Status](https://img.shields.io/github/actions/workflow/status/crytic/slither/ci.yml?branch=master)](https://github.com/crytic/slither/actions?query=workflow%3ACI)
[![Slack Status](https://empireslacking.herokuapp.com/badge.svg)](https://empireslacking.herokuapp.com)
sambacha marked this conversation as resolved.
Show resolved Hide resolved
[![PyPI version](https://badge.fury.io/py/slither-analyzer.svg)](https://badge.fury.io/py/slither-analyzer)
[![Slither - Read the Docs](https://img.shields.io/badge/Slither-Read_the_Docs-2ea44f)](https://crytic.github.io/slither/slither.html)
[![docs](https://github.com/crytic/slither/actions/workflows/docs.yml/badge.svg)](https://github.com/crytic/slither/actions/workflows/docs.yml)


Slither is a Solidity static analysis framework written in Python3. It runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses. Slither enables developers to find vulnerabilities, enhance their code comprehension, and quickly prototype custom analyses.

- [Features](#features)
- [Usage](#usage)
- [How to Install](#how-to-install)
- [Detectors](#detectors)
- [Printers](#printers)
- [Tools](#tools)
- [API Documentation](#api-documentation)
- [Getting Help](#getting-help)
- [FAQ](#faq)
- [Publications](#publications)
* [Features](#features)
* [Usage](#usage)
* [How to install](#how-to-install)
+ [Using Pip](#using-pip)
+ [Using Git](#using-git)
+ [Using Docker](#using-docker)
+ [Integration](#integration)
* [Detectors](#detectors)
* [Printers](#printers)
+ [Quick Review Printers](#quick-review-printers)
+ [In-Depth Review Printers](#in-depth-review-printers)
* [Tools](#tools)
* [API Documentation](#api-documentation)
* [Getting Help](#getting-help)
* [FAQ](#faq)
* [License](#license)
* [Publications](#publications)
+ [Trail of Bits publication](#trail-of-bits-publication)
+ [External publications](#external-publications)


## Features

Expand All @@ -36,26 +48,27 @@ Slither is a Solidity static analysis framework written in Python3. It runs a su

Run Slither on a Hardhat/Foundry/Dapp/Brownie application:

```bash
```console
slither .
```

This is the preferred option if your project has dependencies as Slither relies on the underlying compilation framework to compile source code.

However, you can run Slither on a single file that does not import dependencies:

```bash
```console
slither tests/uninitialized.sol
```

## How to install

Slither requires Python 3.8+.
> **Note** <br />
> Slither requires Python 3.8+.
If you're **not** going to use one of the [supported compilation frameworks](https://github.com/crytic/crytic-compile), you need [solc](https://github.com/ethereum/solidity/), the Solidity compiler; we recommend using [solc-select](https://github.com/crytic/solc-select) to conveniently switch between solc versions.

### Using Pip

```bash
```console
pip3 install slither-analyzer
```

Expand Down