| Automated Static Analysis | This weakness can often be detected using automated static analysis tools. Many modern tools use data flow analysis or constraint-based techniques to minimize the number of false positives.
Automated static analysis might not be able to recognize when proper input validation is being performed, leading to false positives - i.e., warnings that do not have any security consequences or do not require any code changes.
Automated static analysis might not be able to detect the usage of custom API functions or third-party libraries that indirectly invoke SQL commands, leading to false negatives - especially if the API/library code is not available for analysis.This is not a perfect solution, since 100% accuracy and coverage are not feasible. | — |
| Automated Dynamic Analysis | This weakness can be detected using dynamic tools and techniques that interact with the software using large test suites with many diverse inputs, such as fuzz testing (fuzzing), robustness testing, and fault injection. The software's operation may slow down, but it should not become unstable, crash, or generate incorrect results. | Moderate |
| Manual Analysis | Manual analysis can be useful for finding this weakness, but it might not achieve desired code coverage within limited time constraints. This becomes difficult for weaknesses that must be considered for all inputs, since the attack surface can be too large. | — |
| Automated Static Analysis - Binary or Bytecode | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Highly cost effective:
```
Bytecode Weakness Analysis - including disassembler + source code weakness analysis
Binary Weakness Analysis - including disassembler + source code weakness analysis | High |
| Dynamic Analysis with Automated Results Interpretation | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Highly cost effective:
```
Database Scanners
```
Cost effective for partial coverage:
```
Web Application Scanner
Web Services Scanner | High |
| Dynamic Analysis with Manual Results Interpretation | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Cost effective for partial coverage:
```
Fuzz Tester
Framework-based Fuzzer | SOAR Partial |
| Manual Static Analysis - Source Code | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Highly cost effective:
```
Manual Source Code Review (not inspections)
```
Cost effective for partial coverage:
```
Focused Manual Spotcheck - Focused manual analysis of source | High |
| Automated Static Analysis - Source Code | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Highly cost effective:
```
Source code Weakness Analyzer
Context-configured Source Code Weakness Analyzer | High |
| Architecture or Design Review | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Highly cost effective:
```
Formal Methods / Correct-By-Construction
```
Cost effective for partial coverage:
```
Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.) | High |