SCSVS-AUTH-1 |
S4.1.G1 |
No Test ID |
Verify Authorization Using msg.sender |
- Does the contract use tx.origin in validation? If yes, this must be avoided as tx.origin phishing attacks are possible and can be exploited. |
|
|
|
|
- Are proper authorization mechanisms in place using msg.sender to ensure secure and accurate access control? |
SCSVS-AUTH-1 |
S4.1.G2 |
No Test ID |
Verify Role-Based Access Control Implementation |
- Are there different roles that have been assigned and have different access control mechanisms? |
|
|
|
|
- If yes, check and verify that correct access control mechanisms are implemented and least privilege policy is implemented. |
SCSVS-AUTH-1 |
S4.1.G3 |
No Test ID |
Verify Modifier Logic |
- Are all custom modifiers correctly implemented and applied to the intended functions? |
|
|
|
|
- Are there any modifiers that contain redundant or conflicting logic? |
|
|
|
|
- Have the modifiers been reviewed and tested for potential vulnerabilities? |
SCSVS-AUTH-1 |
S4.1.G4 |
No Test ID |
Verify debit function validation. |
- Does the _debitFrom function properly verify token ownership and transfer permissions? |
|
|
|
|
- Are there any gaps in validation that could impact token security? |
|
|
|
|
- How does the function ensure that only authorized transfers occur? |
SCSVS-AUTH-1 |
S4.1.G5 |
No Test ID |
Verify presence of required code components. |
- Is it checked if the target address of a call has code deployed? |
|
|
|
|
- How does the system handle calls to addresses without code? |
|
|
|
|
- What mechanisms are in place to verify code presence before making calls? |
SCSVS-AUTH-1 |
S4.1.G6 |
No Test ID |
Verify Access Control Implementation |
- Are there any functions lacking access control mechanisms? |
|
|
|
|
- Are there any public functions that should have a more restricted visibility (e.g., internal, private)? |
|
|
|
|
- Are access controls correctly implemented to prevent unauthorized access or modifications? |
SCSVS-AUTH-1 |
S4.1.G7 |
No Test ID |
Verify Admin Asset Pull Privilege |
- Can the admin of the protocol pull assets from the protocol? Verify the extent of the admin's privileges and access controls. |
|
|
|
|
- Are there constraints or timelocks in place to regulate admin access to protocol funds? |
|
|
|
|
- How does the protocol track and report admin actions that involve user funds? |
SCSVS-AUTH-1 |
S4.1.G8 |
No Test ID |
Verify Timelocks for Critical Functions |
- Are timelocks implemented for all critical functions in the smart contract? |
|
|
|
|
- What is the duration of the timelock for each critical function? Is it adequate for review purposes? |
|
|
|
|
- Can timelocks be bypassed or modified? If so, under what conditions? |
SCSVS-AUTH-1 |
S4.1.G9 |
No Test ID |
Verify Whitelisting Implementation |
- Are certain addresses required to be whitelisted to interact with the contract? |
|
|
|
|
- Is the whitelisting mechanism properly implemented and enforced? |
SCSVS-AUTH-1 |
S4.1.G10 |
No Test ID |
Verify Contract Initialization Functions |
- Are initialization functions properly marked as internal? |
|
|
|
|
- Is there a mechanism in place to ensure initialization functions cannot be executed more than once? |
|
|
|
|
- Are there any fallback functions that might unintentionally allow reinitialization? |
SCSVS-AUTH-1 |
S4.1.G11 |
No Test ID |
Verify Secure Privilege Transfer |
- Does the protocol allow the transfer of privileges? |
|
|
|
|
- If yes, is the transfer process secure and includes a two-step (request and confirmation) mechanism? |
|
|
|
|
- What happens during the transfer of privileges? |
SCSVS-AUTH-2 |
S4.2.G1 |
No Test ID |
Verify Critical Function Access Control |
- Does the contract have the specified functions? |
|
|
|
|
- If yes, are proper access control measures in place? |
SCSVS-AUTH-2 |
S4.2.G2 |
No Test ID |
Prevent Arbitrary Calls Execution |
- Can the contract make arbitrary calls based on user input? |
|
|
|
|
- Have you validated and sanitized user inputs to prevent executing unintended calls? |
|
|
|
|
- Is there a mechanism to prevent execution of arbitrary code based on user input? |
SCSVS-AUTH-2 |
S4.2.G3 |
No Test ID |
Verify Caller Address in Callbacks |
- Does the integrating contract verify the caller address in its callback functions? |
|
|
|
|
- Have you implemented checks to validate the address of the calling contract in callback functions? |
|
|
|
|
- Is there a review of callback logic to ensure it prevents unauthorized access or manipulation? |
SCSVS-AUTH-2 |
S4.2.G4 |
No Test ID |
Mitigate Risks from Excessively High Allowances |
- Does the protocol implement safeguards against excessively high allowances? |
|
|
|
|
- Is there a revert mechanism in place for overly high approval values? |