graphprotocol / graphprotocol/contracts
[SECURITY] AegisVale-001: Unnecessary Inline Assembly (CWE-1109, Medium)
Nobody has claimed this yet.
- Dominant language
- Solidity
- Stars
- 374
- Forks
- 176
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 4
Description
Security Disclosure — AegisVale-GRAPH-001
Reported to: The Graph Security Team
Date: 2026-08-18
Severity: Medium | CWE: CWE-1109
Status: Open
Executive Summary
During security research of graphprotocol/contracts, we identified instances of unnecessary inline assembly that reduce defense-in-depth protections and may introduce potential security risks.
Findings
Inline Assembly Without Return Value Checks
Assembly blocks using call() do not check return values, silently swallowing call failures.
Risk: Silent call failures may bypass critical guards; re-entrancy exposure.
Recommended Remediation
- Add
require(success)checks after all low-level calls in assembly - Document all assembly with NatSpec comments
- Replace assembly with Solidity equivalents where possible
References
- SWC-127: Unchecked CALL Return Value
- Full report: https://github.com/group3vigil/aegisvale-security-research/issues/3
Good-faith security disclosure by AegisVale (VIAIE Ecosystem).
Contact / engage services: USDT on Ethereum — 0xBaADe5b370F1A1c9FF31e89da70667c78D350B8A
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Solidity assembly blocks that use call(), since the issue names no files, tests, or specific entry points. Review each call's return-value handling and the surrounding security assumptions; done means the relevant blocks have documented handling, checked failures, or justified Solidity replacements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- solidity
- Domain
- blockchain, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100