[EasyStreet Security Scan] 12 findings detected (2 critical)
## 🔍 EasyStreet Security Scan — Automated Finding Report
> This is an automated scan by [EasyStreet](https://aegisaudits.com) — an 8-gate smart contract verification engine.
> Findings below are pattern-based detections. For a full deterministic audit with cryptographic proof seals, visit our [free scan](https://aegisaudits.com).
### Summary
| Severity | Count |
|----------|-------|
| 🔴 CRITICAL | 2 |
| 🟠 HIGH | 9 |
| 🟡 MEDIUM | 1 |
| **Total** | **12** |
---
### Findings
#### 1. 🟠 tx.origin Authentication — `Vm.sol`
- **Severity:** HIGH
- **VERITAS Gate:** Gate 1 (TYPE)
- **Instances:** 4
- **Description:** Using tx.origin for authentication is vulnerable to phishing attacks through intermediate contracts.
- **Remediation:** Use msg.sender instead of tx.origin for access control.
- Line 11: `/// A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`.`
- Line 961: `/// Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the secon`
#### 2. 🔴 Unprotected selfdestruct — `Vm.sol`
- **Severity:** CRITICAL
- **VERITAS Gate:** Gate 6 (IRREVERSIBILITY)
- **Instances:** 7
- **Description:** selfdestruct can be called — check access control on this irreversible action.
- **Remediation:** Add strict access control and consider removing selfdestruct entirely.
- Line 37: `// The account was selfdestructed.`
- Line 38: `SelfDestruct,`
#### 3. 🔴 Unprotected delegatecall — `Vm.sol`
- **Severity:** CRITICAL
- **VERITAS Gate:** Gate 1 (TYPE)
- **Instances:** 3
- **Description:** delegatecall executes external code in caller's context — verify target is trusted.
- **Remediation:** Ensure delegatecall target is a whitelisted, trusted contract address.
- Line 29: `// The account was called via delegatecall.`
- Line 30: `DelegateCall,`
#### 4. 🟡 Block Timestamp Dependency — `Vm.sol`
- **Severity:** MEDIUM
- **VERITAS Gate:** Gate 2 (EVIDENCE)
- **Instances:** 4
- **Description:** block.timestamp can be manipulated by miners within ~15 second window.
- **Remediation:** Avoid using block.timestamp for critical logic; use block.number or oracle time.
- Line 379: `/// Gets the current `block.timestamp`.`
- Line 380: `/// You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is a`
#### 5. 🟠 Missing Access Control — `Vm.sol`
- **Severity:** HIGH
- **VERITAS Gate:** Gate 1 (TYPE)
- **Instances:** 196
- **Description:** Public/external function without access control modifier.
- **Remediation:** Add onlyOwner, onlyRole, or require(msg.sender == ...) checks.
- Line 212: `function envAddress(string calldata name) external view returns (address value);`
- Line 216: `function envAddress(string calldata name, string calldata delim) external view returns (address[] me`
#### 6. 🟠 Unsafe Arithmetic (Pre-0.8) — `Vm.sol`
- **Severity:** HIGH
- **VERITAS Gate:** Gate 3 (MATH)
- **Instances:** 1
- **Description:** Solidity < 0.8 does not have built-in overflow/underflow protection.
- **Remediation:** Upgrade to Solidity >=0.8.0 or use SafeMath library.
- Line 4: `pragma solidity >=0.6.2 <0.9.0;`
#### 7. 🟠 Unsafe Arithmetic (Pre-0.8) — `console.sol`
- **Severity:** HIGH
- **VERITAS Gate:** Gate 3 (MATH)
- **Instances:** 1
- **Description:** Solidity < 0.8 does not have built-in overflow/underflow protection.
- **Remediation:** Upgrade to Solidity >=0.8.0 or use SafeMath library.
- Line 2: `pragma solidity >=0.4.22 <0.9.0;`
#### 8. 🟠 Unsafe Arithmetic (Pre-0.8) — `console2.sol`
- **Severity:** HIGH
- **VERITAS Gate:** Gate 3 (MATH)
- **Instances:** 1
- **Description:** Solidity < 0.8 does not have built-in overflow/underflow protection.
- **Remediation:** Upgrade to Solidity >=0.8.0 or use SafeMath library.
- Line 2: `pragma solidity >=0.4.22 <0.9.0;`
#### 9. 🟠 Missing Access Control — `IERC721.sol`
- **Severity:** HIGH
- **VERITAS Gate:** Gate 1 (TYPE)
- **Instances:** 15
- **Description:** Public/external function without access control modifier.
- **Remediation:** Add onlyOwner, onlyRole, or require(msg.sender == ...) checks.
- Line 32: `function balanceOf(address _owner) external view returns (uint256);`
- Line 39: `function ownerOf(uint256 _tokenId) external view returns (address);`
#### 10. 🟠 Unsafe Arithmetic (Pre-0.8) — `IERC721.sol`
- **Severity:** HIGH
- **VERITAS Gate:** Gate 3 (MATH)
- **Instances:** 1
- **Description:** Solidity < 0.8 does not have built-in overflow/underflow protection.
- **Remediation:** Upgrade to Solidity >=0.8.0 or use SafeMath library.
- Line 2: `pragma solidity >=0.6.2;`
#### 11. 🟠 Missing Access Control — `IERC165.sol`
- **Severity:** HIGH
- **VERITAS Gate:** Gate 1 (TYPE)
- **Instances:** 1
- **Description:** Public/external function without access control modifier.
- **Remediation:** Add onlyOwner, onlyRole, or require(msg.sender == ...) checks.
- Line 11: `function supportsInterface(bytes4 interfaceID) external view returns (bool);`
#### 12. 🟠 Unsafe Arithmetic (Pre-0.8) — `IERC165.sol`
- **Severity:** HIGH
- **VERITAS Gate:** Gate 3 (MATH)
- **Instances:** 1
- **Description:** Solidity < 0.8 does not have built-in overflow/underflow protection.
- **Remediation:** Upgrade to Solidity >=0.8.0 or use SafeMath library.
- Line 2: `pragma solidity >=0.6.2;`
---
### 🛡️ Get a Full Audit
This scan covers 12 common vulnerability patterns. For a complete **8-gate deterministic verification** with:
- Formal verification engine analysis
- Cryptographic proof seals (SHA-256 hash chain)
- PDF evidence package
- SWC Registry coverage (40+ vulnerability classes)
**→ [Run a free scan at https://aegisaudits.com](https://aegisaudits.com)**
*This report was generated automatically by [EasyStreet by VERITAS Ω](https://aegisaudits.com). Results are advisory — always verify with a comprehensive audit.*
0 条评论