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

App release 1.15.0 #727

Merged
merged 25 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
8960c5e
Bumped version to 1.15.0-dev
apaillier-ledger Dec 19, 2024
e9a90e3
Switch to relative links for version diff
apaillier-ledger Dec 19, 2024
7fcad82
Add 1st fuzzing
cedelavergne-ledger Dec 16, 2024
f1a2f45
fix fuzzing findings
cedelavergne-ledger Dec 16, 2024
3b924c6
test: add gcs fuzzer
bboilot-ledger Dec 3, 2024
39ccc07
chore: merge all fuzzers and clean the cmake
bboilot-ledger Dec 27, 2024
a133e8c
test: add a script to run the fuzzer and compute the coverage
bboilot-ledger Dec 27, 2024
1b60626
fix: use a uninitialized values
bboilot-ledger Dec 27, 2024
7aabca9
fix: improve the mocks to avoid false positives
bboilot-ledger Dec 30, 2024
4edb5e6
build: support msan and asan for fuzzing locally
bboilot-ledger Dec 30, 2024
d2093d7
refactor: remove explicit_bzero macro in fuzzing mocks
bboilot-ledger Jan 2, 2025
fcd4024
Changed "Domain Name" to "Trusted Name" in PKI printf
apaillier-ledger Jan 9, 2025
cf4e1af
Fix trusted name PKI depending on name source in Python client
apaillier-ledger Jan 9, 2025
79c180d
Removed hardcoded contract list from ERC-20 internal plugin
apaillier-ledger Jan 14, 2025
b91e420
Update networks & clones (#713)
vforgeoux-ledger Jan 23, 2025
80de9e0
TX info & provide enum value now use calldata PKI key usage
apaillier-ledger Jan 24, 2025
0ef54fe
New calldata test key & certificates in Python client
apaillier-ledger Jan 24, 2025
f55ed40
Provide network now uses the network PKI key usage
apaillier-ledger Jan 27, 2025
2b2440e
Remove dynamic networks support from LNS
apaillier-ledger Jan 27, 2025
d1c05c4
New network test key & certificates in Python client
apaillier-ledger Jan 27, 2025
a323319
Fix CAL trusted name certificates in Python client
apaillier-ledger Jan 27, 2025
75331a3
[auto-update] Update Ragger snapshots
github-actions[bot] Jan 28, 2025
9c177e9
Fix for fuzzing false positive with unitialized variables
apaillier-ledger Jan 28, 2025
27ee902
Fix fuzzing workflow syntax warnings
apaillier-ledger Jan 28, 2025
a28266b
Removed -dev version suffix & updated changelog
apaillier-ledger Jan 29, 2025
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
17 changes: 17 additions & 0 deletions .clusterfuzzlite/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-lite:latest AS LITE_BUILDER
apaillier-ledger marked this conversation as resolved.
Show resolved Hide resolved

# Base image with clang toolchain
FROM gcr.io/oss-fuzz-base/base-builder:v1
apaillier-ledger marked this conversation as resolved.
Show resolved Hide resolved

# Copy the project's source code.
COPY . $SRC/app-ethereum
COPY --from=LITE_BUILDER /opt/ledger-secure-sdk $SRC/app-ethereum/BOLOS_SDK

# Add the ethereum-plugin-sdk submodule
RUN git clone https://github.com/LedgerHQ/ethereum-plugin-sdk.git $SRC/app-ethereum/ethereum-plugin-sdk

# Working directory for build.sh
WORKDIR $SRC/app-ethereum

# Copy build.sh into $SRC dir.
COPY ./.clusterfuzzlite/build.sh $SRC/
9 changes: 9 additions & 0 deletions .clusterfuzzlite/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash -eu

# build fuzzers

pushd tests/fuzzing
cmake -DBOLOS_SDK=$(pwd)/../../BOLOS_SDK -B build -S .
cmake --build build
mv ./build/fuzzer "${OUT}"
popd
1 change: 1 addition & 0 deletions .clusterfuzzlite/project.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
language: c
40 changes: 40 additions & 0 deletions .github/workflows/cflite_cron.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: ClusterFuzzLite cron tasks
on:
workflow_dispatch:
push:
branches:
- main # Use your actual default branch here.
schedule:
- cron: '0 13 * * 6' # At 01:00 PM, only on Saturday
permissions: read-all
jobs:
Fuzzing:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- mode: batch
sanitizer: address
- mode: batch
sanitizer: memory
- mode: prune
sanitizer: address
- mode: coverage
sanitizer: coverage
steps:
- name: Build Fuzzers (${{ matrix.mode }} - ${{ matrix.sanitizer }})
id: build
uses: google/clusterfuzzlite/actions/build_fuzzers@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
language: c # Change this to the language you are fuzzing.
sanitizer: ${{ matrix.sanitizer }}
- name: Run Fuzzers (${{ matrix.mode }} - ${{ matrix.sanitizer }})
id: run
uses: google/clusterfuzzlite/actions/run_fuzzers@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fuzz-seconds: 300 # 5 minutes
mode: ${{ matrix.mode }}
sanitizer: ${{ matrix.sanitizer }}
43 changes: 43 additions & 0 deletions .github/workflows/cflite_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: ClusterFuzzLite PR fuzzing
on:
pull_request:
paths:
- '**'
permissions: read-all
jobs:
PR:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ matrix.sanitizer }}-${{ github.ref }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
sanitizer: [address, undefined, memory] # Override this with the sanitizers you want.
steps:
- name: Build Fuzzers (${{ matrix.sanitizer }})
id: build
uses: google/clusterfuzzlite/actions/build_fuzzers@v1
with:
language: c # Change this to the language you are fuzzing.
github-token: ${{ secrets.GITHUB_TOKEN }}
sanitizer: ${{ matrix.sanitizer }}
# Optional but recommended: used to only run fuzzers that are affected
# by the PR.
# storage-repo: https://${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/OWNER/STORAGE-REPO-NAME.git
# storage-repo-branch: main # Optional. Defaults to "main"
# storage-repo-branch-coverage: gh-pages # Optional. Defaults to "gh-pages".
- name: Run Fuzzers (${{ matrix.sanitizer }})
id: run
uses: google/clusterfuzzlite/actions/run_fuzzers@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fuzz-seconds: 300 # 5 minutes
mode: 'code-change'
sanitizer: ${{ matrix.sanitizer }}
output-sarif: true
# Optional but recommended: used to download the corpus produced by
# batch fuzzing.
# storage-repo: https://${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/OWNER/STORAGE-REPO-NAME.git
# storage-repo-branch: main # Optional. Defaults to "main"
# storage-repo-branch-coverage: gh-pages # Optional. Defaults to "gh-pages".
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,12 @@ __version__.py

.vscode
.idea

# Fuzzing
tests/fuzzing/corpus/
tests/fuzzing/out/
default.profraw
default.profdata
fuzz-*.log
crash-*
report.html
Loading
Loading