Skip to content

CI: Aderyn Analysis #71

CI: Aderyn Analysis

CI: Aderyn Analysis #71

name: Slither Analyze
on:
push:
branches:
- mainnet
- testnet
- "feature/*"
- "features/*"
- "feat/*"
- "feats/*"
pull_request:
branches:
- mainnet
- testnet
- "feature/*"
- "features/*"
- "feat/*"
- "feats/*"
- "release/*"
env:
FOUNDRY_PROFILE: ci
jobs:
check:
strategy:
fail-fast: true
name: Foundry project
runs-on: ubuntu-latest
env:
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
INFURA_API_KEY: ${{ secrets.INFURA_API_KEY }}
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-2b1f8d6dd90f9790faf0528e05e60e573a7569ce
- name: Install package with soldeer
run: forge soldeer install
- name: Recursively update dependencies
run: |
chmod +x ./update-deps.sh
./update-deps.sh
id: update-deps
- name: Run Forge build
run: |
forge --version
forge build
id: build
- name: Install and Run Aderyn
run: |
# Install cyfrinup
curl -L https://raw.githubusercontent.com/Cyfrin/aderyn/dev/cyfrinup/install | bash
# Add cyfrinup and aderyn to PATH
echo "$HOME/.cyfrin/bin" >> $GITHUB_PATH
export PATH="$HOME/.cyfrin/bin:$PATH"
source /home/runner/.bashrc
# Install Aderyn
cyfrinup
# Ensure aderyn is in PATH
export PATH="$HOME/.local/bin:$PATH"
# Run analysis
$HOME/.cyfrin/bin/aderyn .
shell: bash
env:
GITHUB_PATH: ${{ env.GITHUB_PATH }}
- name: Upload Aderyn results
if: always()
uses: actions/upload-artifact@v3
with:
name: aderyn-report
path: aderyn-report
- name: Install Slither for security analysis
run: |
sudo apt-get update
sudo apt-get install -y python3-pip
python3 -m pip install slither-analyzer
- name: Run Slither analysis
run: |
slither . --exclude-low --exclude-medium --exclude-informational --exclude-dependencies --filter-paths "dependencies/|mocks/" --exclude-optimization
id: slither