mcp-server-semgrep
Version:
MCP Server for Semgrep Integration - static code analysis with AI
43 lines (41 loc) • 1.18 kB
YAML
rules:
-
id: erc721-arbitrary-transferfrom
message: Custom ERC721 implementation lacks access control checks in _transfer()
metadata:
category: security
technology:
- solidity
cwe: "CWE-284: Improper Access Control"
confidence: MEDIUM
likelihood: HIGH
impact: HIGH
subcategory:
- vuln
references:
- https://twitter.com/BlockSecAlert/status/1516289618605654024
- https://etherscan.io/address/0xf3821adaceb6500c0a202971aecf840a033f236b
patterns:
- pattern-inside: |
function _transfer(...) {
...
}
- pattern-inside: |
require(prevOwnership.addr == $FROM, ...);
...
- pattern-not-inside: |
(<... _msgSender() == $FROM ...>);
...
- pattern-not-inside: |
(<... _msgSender() == $PREV.$ADDR ...>);
...
- pattern-not-inside: |
(<... msg.sender == $FROM ...>);
...
- pattern-not-inside: |
require(_isApprovedOrOwner(...), ...);
...
- pattern: _approve(...);
languages:
- solidity
severity: WARNING