[1IP-80] Frontend Exploit User Reimbursement

Simple Summary

Authorize transfer of $768,026 USDC from DAO treasury to designated 1inch Foundation address for reimbursing verified users affected by the October 30th supply chain attack.

Abstract

On October 30, 2024, between 9:12 PM and 11:22 PM (CET), the 1inch dApp was compromised through a supply chain attack targeting the Lottie Player library. This security breach allowed attackers to replace the aggregation function with malicious code, resulting in approximately $768,026 of user token losses. This proposal authorizes the DAO to reimburse affected users through the 1inch Foundation’s distribution infrastructure.

Motivation

The DAO Guidelines explicitly task the DAO with assessing and administering strategic decisions to ensure the security of both the 1inch Network and its Interface. Section 4.3.2 grants the DAO authority to direct the Foundation in implementing operations that secure network interests.

A comprehensive reimbursement maintains user trust, demonstrates ecosystem resilience, and aligns with the DAO’s commitment to community protection. The Foundation’s established compliance framework provides an effective channel for user compensation while addressing regulatory requirements.

Specification

The reimbursement consists of a single transfer of $768,026 USDC from the DAO treasury to the Foundation’s address: 0x7D2aAE4F4A474e6c040f2E6678B9Ef1FA628C316. This amount represents the USD value of affected tokens at the time of the exploit.

The Foundation will manage all aspects of the compensation process:

  1. Victim Verification Requirements:

    • Verifiable proof of funds lost (transaction hashes)
    • Filing of law enforcement reports
    • Completion of KYC compliance procedures
    • Signing of compensation agreement
  2. Compensation Terms:

    • USD equivalent value at time of incident
    • Victims waive rights to any funds recovered through law enforcement
    • Any recovered funds will be returned to the DAO

Rationale

The ongoing criminal investigation involves the Royal Cayman Islands Police Service, blockchain investigation agencies (ZeroShadow, TRM Labs), and potential collaborations with Token Recover and Crystal Intelligence. Utilizing the Foundation’s established legal and compliance infrastructure creates the most efficient execution framework while maintaining necessary safeguards.

Considerations

Security

The exploit stemmed from an automatic update to a third-party UI library which introduced a vulnerability that compromised the Interface’s front-end. The Foundation has implemented enhanced dependency management procedures to prevent similar incidents.

Implementation

Post-approval, funds will transfer to the Foundation, which assumes responsibility for all compliance procedures, victim verification, and distribution. The Foundation commits to providing regular status updates and a final compensation report.

If any stolen funds are recovered through law enforcement, exchanges, or other means, the Foundation will return these funds to the DAO treasury, maintaining the integrity of the compensation process.

3 Likes

Is there a more comprehensive incident report on this matter?

The existing security setup for 1inch in general is pretty robust: https://1inch.io/assets/1inch-security-white-paper.pdf. What aspects did this outline miss out on that led to the Lottie incident? Can the following point be further substantiated: “The Foundation has implemented enhanced dependency management procedures to prevent similar incidents”?

This blog post serves as the public postmortem: https://blog.1inch.io/supply-chain-attack-postmortem-lessons-learnt/

Unfortunately, there was an execution bug with this proposal that will require it to be re-run, here’s a breakdown of what happened:

  • After the proposal was posted, but before the voting opened up, the author edited the text using the new Snapshot UI
  • This edit works by creating a new proposal that is published, however, the reality.eth transaction payload was not re-published.
  • This resulted in a proposal that is unexecutable as there is no component to take the offchain Snapshot poll and make it execute onchain.