generated from shuding/nextra-docs-template
-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
385da55
commit 448ff9a
Showing
10 changed files
with
85 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
{ | ||
"introduction": "I. Introduction", | ||
"choose": "II. Choose", | ||
"develop": "III-IV. Develop & Test", | ||
"deliver": "V. Deliver", | ||
"architecture": "VI. References" | ||
"introduction": "Introduction", | ||
"develop": "Develop & Test", | ||
"deliver": "Deliver", | ||
"architecture": "References" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
60 changes: 60 additions & 0 deletions
60
pages/docs/device-app/deliver/deliverables/security-audit.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
title: Security Audit | ||
description: | ||
--- | ||
|
||
import { Callout } from 'nextra/components' | ||
|
||
# Security Audit | ||
|
||
## Introduction | ||
|
||
To be listed on the Ledger Live “My Ledger“ section, Device Apps and Plugins must go through our integration process that includes a security audit performed by one of our trusted partners. | ||
|
||
Provided your project fulfills the [conditions](#conditions), this is how an external audit unfolds: | ||
1. You get in touch with the auditers and sign a contract with them. [Read more](../partners#security-audit-your-agreement-with-our-partners). | ||
2. The auditors review your app based on Ledger specifications. [Read more](#content-of-the-security-audit). | ||
3. Ledger reviews the security audit report | ||
4. Ledger publishes your app | ||
|
||
<Callout type="warning" emoji="⚠️"> | ||
The security audit is mandatory for an application to be available on our production providers (accessible by | ||
default from the LedgerLive). However it is possible to deploy without security audit on other providers, for test | ||
purposes. However, the application [will need to display a warning message when starting](../process#release-types). | ||
</Callout> | ||
|
||
<Callout type="warning" emoji="⚠️"> | ||
<ul> | ||
<li>Do not start a security audit process if your Device App is not ready for all Ledger devices (Ledger Nano S, S Plus, X and Stax).</li> | ||
<li>Your Device App must still be functional after the security audit </li> | ||
</ul> | ||
</Callout> | ||
|
||
|
||
## Conditions | ||
|
||
To go through an external security audit, ensure your project fulfills the following conditions: | ||
|
||
- Your Device App works with all our devices (Ledger Nano S, S Plus, X and Stax) | ||
- Your Device App has been functionally validated by Ledger team | ||
|
||
<Callout type="warning" emoji="⚠️"> | ||
<ul> | ||
<li>Do not start a security audit process if your Device App is not ready for all Ledger devices (Ledger Nano S, S Plus, X and Stax).</li> | ||
<li>Your Device App must still be functional after the security audit </li> | ||
</ul> | ||
</Callout> | ||
|
||
## Content of the security audit | ||
|
||
Ledger has established and made public a detailed specification of what needs to be done to perform a security audit following Ledger’s standards. | ||
|
||
| Step | Specification | | ||
| ---------------------- | ------------------------------------------------------------------ | | ||
| Application privileges | Check application flags (privileges) and allowed derivation paths. | | ||
| Compilation | Check for compilation warnings, and if warnings have been silenced. If so, ask for a fix. | | ||
| Tests | Run tests and check they succeed / Check tests are sound. | | ||
| Static Analysis | Check for defects using scan-build and our scan options. Add in CI if not present / CodeQL: check with the "security and quality" queries. Add in CI if not present. | | ||
| Manual code review | List every transaction fields. Look which ones must be displayed to the user / Check transaction parser, field formatters / Check if sensitive data is properly erased / Do not allow blind signing. | | ||
| Fuzzing | Implement a transaction fuzzer. Best effort to reach decent coverage / Use libFuzzer if possible to integrate with ClusterFuzzLite. | | ||
| Deliverables | Report and executive summary detailing findings, and tests that gave no results / Security fixes: on a temporary private fork / Feedback on the SDK: what could be improved for a better security. | |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters