계: Errors

오류 및 오류 처리는 API 클래스를 나타냅니다. 오류 처리와 관련된 오류는 매우 흔하므로 따로 다룰 만한 내용입니다. "API 오용"과 마찬가지로 오류 관련 보안 취약성을 일으키는 두 가지 원인이 있습니다. 가장 흔한 것은 오류를 제대로(혹은 아예) 처리하지 못하는 것입니다. 두 번째는 (잠재적 공격자에게) 너무 많은 정보를 제공하거나 처리하기 어려운 오류를 발생시키는 것입니다.

Code Correctness: Typographical Error

Abstract
계약이 표기 오류가 발생하기 쉬운 작업을 사용합니다.
Explanation
작업에서 표기 오류가 발생하면 예기치 않은 결과가 발생할 수 있습니다. 예를 들어 원래 +=를 사용하여 변수에 숫자를 더하려고 했는데 코드를 =+로 작성하더라도 작업은 정상적으로 실행되지만 덧셈이 수행되는 대신 변수가 다시 초기화됩니다.

예제 1 다음 코드는 numberOne 변수에 숫자를 더하기 위해 작성한 것이지만 =+ 연산자를 사용했으므로 실제로는 변수가 1로 다시 초기화됩니다.


uint numberOne = 1;

function alwaysOne() public {
numberOne =+ 1;
}
References
[1] Enterprise Ethereum Alliance Typographic Conventions
[2] Standards Mapping - CIS Azure Kubernetes Service Benchmark 2
[3] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5
[4] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 3
[5] Standards Mapping - CIS Google Kubernetes Engine Benchmark normal
[6] Standards Mapping - Common Weakness Enumeration CWE ID 480
[7] Standards Mapping - Smart Contract Weakness Classification SWC-129
desc.structural.solidity.swc129