Skip to content

docs: add new audit reports and LIP-37 - #960

Open
tamtamchik wants to merge 5 commits into
mainfrom
chore/update-audits-and-lips
Open

docs: add new audit reports and LIP-37#960
tamtamchik wants to merge 5 commits into
mainfrom
chore/update-audits-and-lips

Conversation

@tamtamchik

@tamtamchik tamtamchik commented Aug 4, 2026

Copy link
Copy Markdown
Member

Please, go through these steps before you request a review:

📝 Describe your changes

  1. Update audits page
  2. Add LIP-37 to the LIPs page
  3. Refactor external content fetch scripts and add a unified npm run fetch command
  4. Move redirects to a shared config for imported Markdown links
  5. Add tests for fetch scripts and redirects, and run them in build and deploy workflows

🔎 Attach a source of truth or evidence that allows reviewers to confirm the changes independently

  1. https://github.com/lidofinance/audits
  2. https://github.com/lidofinance/lido-improvement-proposals/blob/develop/LIPS/lip-37.md

@tamtamchik
tamtamchik requested review from a team as code owners August 4, 2026 15:48
@tamtamchik
tamtamchik requested a review from Copilot August 4, 2026 15:48
karinamaulitova
karinamaulitova previously approved these changes Aug 4, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the generated security audits documentation to include new audit reports and adjusts generation logic to keep links/build checks stable, plus adds LIP-37 to the LIPs index.

Changes:

  • Extend scripts/fetch-audits.js to rewrite docs.lido.fi links to local routes (including a renamed-page mapping) and skip the “Lido Earn” section (now maintained on earn/audits.md).
  • Refresh docs/security/audits.md with new audit entries and updated per-section report counts.
  • Add LIP-37 to the “Proposed” section in docs/lips.md.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
scripts/fetch-audits.js Improves audits markdown preprocessing (PDF + docs links) and skips Earn audits section in the generated output.
docs/security/audits.md Updates the audits page content with new reports, additional commit references, and adjusted counts.
docs/lips.md Adds the new LIP-37 entry under Proposed LIPs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/security/audits.md Outdated
Comment thread scripts/fetch-audits.js Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
arwer13
arwer13 previously approved these changes Aug 11, 2026

@arwer13 arwer13 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM.

Could add the new Direct Staking https://github.com/lidofinance/audits/tree/main/L2 audit reports here or a follow-up commit.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 27 out of 27 changed files in this pull request and generated no new comments.

Suppressed comments (4)

docs/security/audits.md:1385

  • The second sentence is a fragment. Correct it in the audit source README and regenerate the page.
> NB: It is not authored by Lido. Used by Lido Direct Staking Automation contracts.

docs/security/audits.md:834

  • This assigns the December 2023 audit to the same commit used above for the July 2026 NEST audit, even though the replaced text identified ad6a9e83c095f5052e404bc13585ad2c752f242f as this report's audited commit. The current entry therefore overstates the 2023 report's coverage. Correct the audit source README and regenerate this page with the original audited commit.
Audited at commit [`10a2499`](https://github.com/lidofinance/stonks/tree/10a249971099be1b36c27f43a3f0a520389fb62e).

docs/security/audits.md:1345

  • This note is a sentence fragment and ends with an unmatched asterisk. Correct it in the audit source README and regenerate the page.

This issue also appears on line 1385 of the same file.

> NB: It is not authored by Lido. Used by Lido Direct Staking Automation contracts*.

scripts/fetch.js:8

  • The PR description says this only updates the audits page, but this change also adds an aggregate fetch workflow that runs LIP generation and on-chain multisig quorum checks, alongside broad parser and redirect refactors. Please expand the description and evidence so reviewers can validate these additional behavioral changes, or split them into a focused PR.
const TASKS = ['fetch-audits.js', 'fetch-lips.js', 'fetch-msig-quorums.js']

@tamtamchik
tamtamchik requested a review from a team as a code owner September 10, 2026 12:17

@lemonjelly27 lemonjelly27 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks! I left a few inline comments/questions for clarification. Otherwise, the changes look good to me.

| --- | --- | --- | --- |
| K_G | 0xC0DB9e34A47Ba42B6C17E6adae8f07d1Cb37C3d5 | https://etherscan.io/verifySig/255465 | https://x.com/Kean_Gilbert/status/1829481809970594270 |
| Alex_L | 0xb339918e75664a07bb650513427559920c0a0f6c | https://etherscan.io/verifySig/34671 | https://x.com/Al_lykov/status/1829368876699681203 |
| adcv | 0xcC692077C65dd464cAA7e7ae614328914f8469b3 | https://etherscan.io/verifySig/254203 | https://x.com/adcv_/status/1815411719952621755 |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Rewards Share Committee says 3/5 but lists 6 signers


**List of signers:**

| Name | Address | Verification | Public verification |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same here: says 5/8 but lists 9 signers

Comment thread docs/security/audits.md
### 12-2023 Pessimistic Lido Stonks Audit

This audit report covers the code up to commit [`ad6a9e83c095f5052e404bc13585ad2c752f242f`](https://github.com/lidofinance/stonks/tree/ad6a9e83c095f5052e404bc13585ad2c752f242f). For release version audit please go to [03-2024 Ackee Blockchain Lido Stonks Audit](#03-2024-ackee-blockchain-lido-stonks-audit).
Audited at commit [`10a2499`](https://github.com/lidofinance/stonks/tree/10a249971099be1b36c27f43a3f0a520389fb62e).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Might be missing some context here, but could you please double-check this commit update? The 12-2023 Pessimistic Lido Stonks Audit now points to 10a2499, which is a July 2026 commit. IMO this looks inconsistent because a December 2023 audit normally should reference the version of the code that existed around the time of that audit, not a commit created almost three years later.

Comment thread docs/security/audits.md

### 08-2026 MixBytes Chainlink CCIP Linea Adapter Security Audit

> NB: It is not authored by Lido. Used by Lido Direct Staking Automation contracts*.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

  • seems extra here

@TheDZhon TheDZhon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

There is one failure-handling issue I'd fix before merging: fetch-msig-quorums.run() logs RPC errors but neither throws nor returns a nonzero status, and it writes successful changes even when other reads fail. With mocked RPC failures, I reproduced both 52 checked: 0 ok, 0 drift, 52 error with exit code 0 and a mixed result with one changed quorum, 51 errors, and a file write attempted.

Consequently, the new aggregate command can report that all tasks succeeded after an incomplete quorum refresh. Please propagate a nonzero status, gate quorum-file writes on complete coverage, and add regression coverage for both cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants