solidityguard-openenv / data /manifest.json
tanaymitra98
Rebuild task setup with 4 enabled graded tasks and multi-task inference
7998b79
Raw
History Blame Contribute Delete
13.3 kB
[
{
"id": "t1_sample_1",
"task_id": "task_1_best_practices",
"source_path": "data/samples/task1/missing_spdx.sol",
"metadata": {
"contract_name": "NoSpdx",
"compiler_version": "0.7.6",
"file_path": "missing_spdx.sol"
},
"labels": [
{
"issue_type": "missing_spdx",
"line_number": 1,
"description": "Missing SPDX license identifier",
"severity": "Low"
},
{
"issue_type": "old_compiler_version",
"line_number": 2,
"description": "Compiler version below 0.8.x",
"severity": "Low"
}
]
},
{
"id": "t1_sample_2",
"task_id": "task_1_best_practices",
"source_path": "data/samples/task1/missing_natspec.sol",
"metadata": {
"contract_name": "NoNatSpec",
"compiler_version": "0.8.13",
"file_path": "missing_natspec.sol"
},
"labels": [
{
"issue_type": "missing_natspec",
"line_number": 6,
"description": "Public function missing NatSpec comment",
"severity": "Low"
}
]
},
{
"id": "t1_sample_3",
"task_id": "task_1_best_practices",
"source_path": "data/samples/task1/deprecated_constructor.sol",
"metadata": {
"contract_name": "LegacyConstructor",
"compiler_version": "0.4.24",
"file_path": "deprecated_constructor.sol"
},
"labels": [
{
"issue_type": "deprecated_constructor",
"line_number": 6,
"description": "Constructor uses deprecated syntax",
"severity": "Low"
},
{
"issue_type": "old_compiler_version",
"line_number": 2,
"description": "Compiler version below 0.8.x",
"severity": "Low"
}
]
},
{
"id": "t1_sample_4",
"task_id": "task_1_best_practices",
"source_path": "data/samples/task1/old_pragma.sol",
"metadata": {
"contract_name": "OldPragma",
"compiler_version": "0.4.25",
"file_path": "old_pragma.sol"
},
"labels": [
{
"issue_type": "old_compiler_version",
"line_number": 2,
"description": "Compiler version below 0.8.x",
"severity": "Low"
},
{
"issue_type": "deprecated_constructor",
"line_number": 13,
"description": "Constructor uses deprecated syntax",
"severity": "Low"
},
{
"issue_type": "missing_natspec",
"line_number": 7,
"description": "Public function missing NatSpec comment",
"severity": "Low"
}
]
},
{
"id": "t1_sample_5",
"task_id": "task_1_best_practices",
"source_path": "data/samples/task1/missing_events.sol",
"metadata": {
"contract_name": "NoEvents",
"compiler_version": "0.8.19",
"file_path": "missing_events.sol"
},
"labels": [
{
"issue_type": "missing_spdx",
"line_number": 1,
"description": "Missing SPDX license identifier",
"severity": "Low"
},
{
"issue_type": "missing_events",
"line_number": 16,
"description": "State changing function should emit events",
"severity": "Low"
},
{
"issue_type": "missing_events",
"line_number": 22,
"description": "State changing function should emit events",
"severity": "Low"
}
]
},
{
"id": "t1_sample_6",
"task_id": "task_1_best_practices",
"source_path": "data/samples/task1/unused_variables.sol",
"metadata": {
"contract_name": "UnusedImports",
"compiler_version": "0.8.20",
"file_path": "unused_variables.sol"
},
"labels": [
{
"issue_type": "unused_variables",
"line_number": 8,
"description": "Unused state variables waste gas",
"severity": "Low"
},
{
"issue_type": "unused_variables",
"line_number": 9,
"description": "Unused state variables waste gas",
"severity": "Low"
},
{
"issue_type": "unused_variables",
"line_number": 10,
"description": "Unused state variables waste gas",
"severity": "Low"
}
]
},
{
"id": "t2_sample_1",
"task_id": "task_2_gas_optimization",
"source_path": "data/samples/task2/inefficient_loop.sol",
"metadata": {
"contract_name": "LoopGas",
"compiler_version": "0.8.17",
"file_path": "inefficient_loop.sol"
},
"labels": [
{
"issue_type": "unbounded_loop",
"line_number": 10,
"description": "Loop uses dynamic array length without bounds",
"severity": "Medium"
}
]
},
{
"id": "t2_sample_2",
"task_id": "task_2_gas_optimization",
"source_path": "data/samples/task2/redundant_storage.sol",
"metadata": {
"contract_name": "StorageGas",
"compiler_version": "0.8.19",
"file_path": "redundant_storage.sol"
},
"labels": [
{
"issue_type": "redundant_storage_read",
"line_number": 12,
"description": "Repeated storage reads could be cached",
"severity": "Medium"
}
]
},
{
"id": "t2_sample_3",
"task_id": "task_2_gas_optimization",
"source_path": "data/samples/task2/require_string.sol",
"metadata": {
"contract_name": "RequireString",
"compiler_version": "0.8.18",
"file_path": "require_string.sol"
},
"labels": [
{
"issue_type": "custom_error_missing",
"line_number": 6,
"description": "Custom errors are preferred over require strings",
"severity": "Low"
}
]
},
{
"id": "t2_sample_4",
"task_id": "task_2_gas_optimization",
"source_path": "data/samples/task2/poor_packing.sol",
"metadata": {
"contract_name": "PackingIssues",
"compiler_version": "0.8.19",
"file_path": "poor_packing.sol"
},
"labels": [
{
"issue_type": "poor_struct_packing",
"line_number": 6,
"description": "Struct fields should be packed to minimize storage slots",
"severity": "Medium"
}
]
},
{
"id": "t2_sample_5",
"task_id": "task_2_gas_optimization",
"source_path": "data/samples/task2/unchecked_math.sol",
"metadata": {
"contract_name": "InlineAssemblyGas",
"compiler_version": "0.8.19",
"file_path": "unchecked_math.sol"
},
"labels": [
{
"issue_type": "redundant_storage_read",
"line_number": 9,
"description": "Multiple storage reads should be cached",
"severity": "Medium"
},
{
"issue_type": "redundant_storage_read",
"line_number": 19,
"description": "Storage read in loop should be cached",
"severity": "Medium"
},
{
"issue_type": "unchecked_math_opportunity",
"line_number": 9,
"description": "Safe math operations could use unchecked block",
"severity": "Low"
}
]
},
{
"id": "t2_sample_6",
"task_id": "task_2_gas_optimization",
"source_path": "data/samples/task2/expensive_operations.sol",
"metadata": {
"contract_name": "ExpensiveOperations",
"compiler_version": "0.8.19",
"file_path": "expensive_operations.sol"
},
"labels": [
{
"issue_type": "expensive_operation_in_loop",
"line_number": 11,
"description": "Expensive exponentiation operation in loop",
"severity": "Medium"
},
{
"issue_type": "inefficient_string_concat",
"line_number": 20,
"description": "String concatenation in loop is gas inefficient",
"severity": "Medium"
}
]
},
{
"id": "t3_sample_1",
"task_id": "task_3_security",
"source_path": "data/samples/task3/reentrancy.sol",
"metadata": {
"contract_name": "Reentry",
"compiler_version": "0.8.20",
"file_path": "reentrancy.sol"
},
"labels": [
{
"issue_type": "reentrancy",
"line_number": 13,
"description": "State update after external call allows reentrancy",
"severity": "Critical",
"exploit_path": "Attacker deploys malicious contract with fallback function that calls withdraw() recursively before balance is updated, draining contract funds",
"recommended_fix": "Use checks-effects-interactions pattern: update balance before external call or implement ReentrancyGuard"
}
]
},
{
"id": "t3_sample_2",
"task_id": "task_3_security",
"source_path": "data/samples/task3/missing_access_control.sol",
"metadata": {
"contract_name": "Admin",
"compiler_version": "0.8.20",
"file_path": "missing_access_control.sol"
},
"labels": [
{
"issue_type": "missing_access_control",
"line_number": 9,
"description": "Sensitive function lacks access control",
"severity": "Critical",
"exploit_path": "Any user can call setAdmin() function to grant themselves admin privileges and control the contract",
"recommended_fix": "Add onlyOwner modifier to restrict access to sensitive functions"
}
]
},
{
"id": "t3_sample_3",
"task_id": "task_3_security",
"source_path": "data/samples/task3/tx_origin_auth.sol",
"metadata": {
"contract_name": "OriginAuth",
"compiler_version": "0.8.20",
"file_path": "tx_origin_auth.sol"
},
"labels": [
{
"issue_type": "tx_origin_auth",
"line_number": 11,
"description": "Authorization uses tx.origin",
"severity": "Critical",
"exploit_path": "Attacker tricks legitimate user into calling malicious contract that forwards calls to this contract, bypassing tx.origin check",
"recommended_fix": "Replace tx.origin with msg.sender for proper authentication"
}
]
},
{
"id": "t3_sample_4",
"task_id": "task_3_security",
"source_path": "data/samples/task3/integer_overflow.sol",
"metadata": {
"contract_name": "IntegerOverflow",
"compiler_version": "0.8.20",
"file_path": "integer_overflow.sol"
},
"labels": [
{
"issue_type": "integer_overflow_risk",
"line_number": 11,
"description": "Potential integer underflow without checks",
"severity": "Medium"
},
{
"issue_type": "integer_overflow_risk",
"line_number": 17,
"description": "Potential integer overflow without checks",
"severity": "Medium"
}
]
},
{
"id": "t3_sample_5",
"task_id": "task_3_security",
"source_path": "data/samples/task3/unsafe_delegatecall.sol",
"metadata": {
"contract_name": "UnsafeDelegateCall",
"compiler_version": "0.8.20",
"file_path": "unsafe_delegatecall.sol"
},
"labels": [
{
"issue_type": "unsafe_delegatecall",
"line_number": 15,
"description": "Delegatecall without proper validation",
"severity": "Critical"
},
{
"issue_type": "unsafe_delegatecall",
"line_number": 20,
"description": "Unrestricted delegatecall in fallback function",
"severity": "Critical"
}
]
},
{
"id": "t3_sample_6",
"task_id": "task_3_security",
"source_path": "data/samples/task3/weak_randomness.sol",
"metadata": {
"contract_name": "RandomnessVulnerability",
"compiler_version": "0.8.20",
"file_path": "weak_randomness.sol"
},
"labels": [
{
"issue_type": "weak_randomness",
"line_number": 9,
"description": "Randomness using predictable block properties",
"severity": "Critical"
},
{
"issue_type": "weak_randomness",
"line_number": 22,
"description": "Predictable block hash usage",
"severity": "Medium"
}
]
},
{
"id": "t4_sample_1",
"task_id": "task_4_comprehensive_audit",
"source_path": "data/samples/task1/old_pragma.sol",
"metadata": {
"contract_name": "OldPragma",
"compiler_version": "0.4.25",
"file_path": "old_pragma.sol"
},
"labels": [
{
"issue_type": "old_compiler_version",
"line_number": 2,
"description": "Compiler version below 0.8.x",
"severity": "Low"
}
]
},
{
"id": "t4_sample_2",
"task_id": "task_4_comprehensive_audit",
"source_path": "data/samples/task2/inefficient_loop.sol",
"metadata": {
"contract_name": "LoopGas",
"compiler_version": "0.8.17",
"file_path": "inefficient_loop.sol"
},
"labels": [
{
"issue_type": "unbounded_loop",
"line_number": 10,
"description": "Loop uses dynamic array length without bounds",
"severity": "Medium"
}
]
},
{
"id": "t4_sample_3",
"task_id": "task_4_comprehensive_audit",
"source_path": "data/samples/task3/tx_origin_auth.sol",
"metadata": {
"contract_name": "OriginAuth",
"compiler_version": "0.8.20",
"file_path": "tx_origin_auth.sol"
},
"labels": [
{
"issue_type": "tx_origin_auth",
"line_number": 11,
"description": "Authorization uses tx.origin",
"severity": "Critical"
}
]
}
]