miesc 4.3.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- miesc-4.3.3/.dockerignore +51 -0
- miesc-4.3.3/.env.example +108 -0
- miesc-4.3.3/.gitattributes +51 -0
- miesc-4.3.3/.nojekyll +0 -0
- miesc-4.3.3/.pre-commit-config.yaml +140 -0
- miesc-4.3.3/.pre-commit-hooks.yaml +78 -0
- miesc-4.3.3/.secrets.baseline +1 -0
- miesc-4.3.3/CHANGELOG.md +266 -0
- miesc-4.3.3/CITATION.cff +102 -0
- miesc-4.3.3/CODEOWNERS +154 -0
- miesc-4.3.3/CODE_OF_CONDUCT.md +134 -0
- miesc-4.3.3/CONTRIBUTING.md +449 -0
- miesc-4.3.3/CONTRIBUTORS.md +110 -0
- miesc-4.3.3/DPG-COMPLIANCE.md +398 -0
- miesc-4.3.3/Dockerfile +154 -0
- miesc-4.3.3/Dockerfile.x86 +139 -0
- miesc-4.3.3/GOVERNANCE.md +255 -0
- miesc-4.3.3/INSTALL.md +171 -0
- miesc-4.3.3/LICENSE +674 -0
- miesc-4.3.3/MANIFEST.in +56 -0
- miesc-4.3.3/Makefile +419 -0
- miesc-4.3.3/PKG-INFO +435 -0
- miesc-4.3.3/PRIVACY.md +234 -0
- miesc-4.3.3/QUICKSTART.md +183 -0
- miesc-4.3.3/QUICKSTART_ES.md +187 -0
- miesc-4.3.3/README.md +357 -0
- miesc-4.3.3/README_ES.md +906 -0
- miesc-4.3.3/SECURITY.md +260 -0
- miesc-4.3.3/config/miesc.yaml +540 -0
- miesc-4.3.3/config/profiles.yaml +219 -0
- miesc-4.3.3/contracts/Vault.sol +268 -0
- miesc-4.3.3/contracts/audit/AccessControlFlawed.sol +121 -0
- miesc-4.3.3/contracts/audit/FlashLoanVault.sol +252 -0
- miesc-4.3.3/contracts/audit/NFTMarketplace.sol +263 -0
- miesc-4.3.3/contracts/audit/UnsafeToken.sol +142 -0
- miesc-4.3.3/contracts/audit/VulnerableBank.sol +99 -0
- miesc-4.3.3/contracts/audit/certora/VulnerableBank.conf +11 -0
- miesc-4.3.3/contracts/audit/certora/VulnerableBank.sol +99 -0
- miesc-4.3.3/contracts/audit/certora/VulnerableBank.spec +131 -0
- miesc-4.3.3/data/fine_tuning/dataset_stats.json +16 -0
- miesc-4.3.3/data/fine_tuning/solidity_security_alpaca.json +202 -0
- miesc-4.3.3/data/fine_tuning/solidity_security_chatml.jsonl +40 -0
- miesc-4.3.3/data/fine_tuning/solidity_security_sharegpt.json +482 -0
- miesc-4.3.3/data/licenses.db +0 -0
- miesc-4.3.3/demo/README.md +157 -0
- miesc-4.3.3/demo/YOUTUBE_VIDEO_SCRIPT.md +367 -0
- miesc-4.3.3/demo/create_youtube_video.sh +255 -0
- miesc-4.3.3/demo/demo_defensa_grabacion.py +1070 -0
- miesc-4.3.3/demo/demo_miesc_v4_complete.py +475 -0
- miesc-4.3.3/demo/demo_thesis_defense.py +1453 -0
- miesc-4.3.3/demo/miesc_video_demo.py +852 -0
- miesc-4.3.3/demo/quick_demo.sh +31 -0
- miesc-4.3.3/demo/record_video.sh +120 -0
- miesc-4.3.3/demo/record_youtube_video.sh +209 -0
- miesc-4.3.3/demo/run_demo.sh +284 -0
- miesc-4.3.3/demo/run_full_demo.sh +609 -0
- miesc-4.3.3/demo/subtitles.srt +139 -0
- miesc-4.3.3/demo/subtitles_50s.srt +31 -0
- miesc-4.3.3/demo/subtitles_50s_es.srt +31 -0
- miesc-4.3.3/demo/subtitles_50s_pt.srt +31 -0
- miesc-4.3.3/demo/video_recording_guide.md +80 -0
- miesc-4.3.3/demo/youtube_demo.sh +459 -0
- miesc-4.3.3/demo/youtube_demo_fast.sh +309 -0
- miesc-4.3.3/demo/youtube_demo_v2.sh +402 -0
- miesc-4.3.3/deploy/.env.example +32 -0
- miesc-4.3.3/deploy/Dockerfile.prod +67 -0
- miesc-4.3.3/deploy/docker-compose.prod.yml +94 -0
- miesc-4.3.3/deploy/ecs-task-definition.json +132 -0
- miesc-4.3.3/deprecated/GPTLens_tool.py +134 -0
- miesc-4.3.3/deprecated/Llama2_tool.py +51 -0
- miesc-4.3.3/deprecated/README.md +24 -0
- miesc-4.3.3/deprecated/audit_generator.py +83 -0
- miesc-4.3.3/deprecated/manticore_tool.py +309 -0
- miesc-4.3.3/deprecated/miesc_ai_layer.py +524 -0
- miesc-4.3.3/deprecated/miesc_cli.py +430 -0
- miesc-4.3.3/deprecated/miesc_core.py +499 -0
- miesc-4.3.3/deprecated/miesc_mcp_adapter.py +533 -0
- miesc-4.3.3/deprecated/miesc_mcp_rest.py +1191 -0
- miesc-4.3.3/deprecated/miesc_ml_cli.py +310 -0
- miesc-4.3.3/deprecated/miesc_policy_agent.py +827 -0
- miesc-4.3.3/deprecated/miesc_policy_mapper.py +534 -0
- miesc-4.3.3/deprecated/miesc_risk_engine.py +531 -0
- miesc-4.3.3/deprecated/miesc_security_checks.py +108 -0
- miesc-4.3.3/deprecated/miesc_websocket_api.py +377 -0
- miesc-4.3.3/deprecated/mythril_tool.py +59 -0
- miesc-4.3.3/deprecated/orchestrator.py +440 -0
- miesc-4.3.3/deprecated/project_analyzer.py +523 -0
- miesc-4.3.3/deprecated/rawchatGPT_tool.py +29 -0
- miesc-4.3.3/deprecated/slither_tool.py +89 -0
- miesc-4.3.3/deprecated/surya_tool.py +318 -0
- miesc-4.3.3/deprecated/symbolic_agent 2.py +584 -0
- miesc-4.3.3/docker-compose.yml +191 -0
- miesc-4.3.3/examples/cyberpunk_demo.py +671 -0
- miesc-4.3.3/examples/demo_v3.5.py +309 -0
- miesc-4.3.3/examples/miesc_full_demo_2025.py +726 -0
- miesc-4.3.3/examples/miesc_interactive_demo.py +412 -0
- miesc-4.3.3/examples/pre-commit-config.yaml +49 -0
- miesc-4.3.3/examples/run_demo.sh +14 -0
- miesc-4.3.3/examples/sample-plugin/README.md +138 -0
- miesc-4.3.3/examples/sample-plugin/VulnerableProxy.sol +66 -0
- miesc-4.3.3/examples/sample-plugin/miesc-dangerous_delegatecall/README.md +58 -0
- miesc-4.3.3/examples/sample-plugin/miesc-dangerous_delegatecall/dangerous_delegatecall/__init__.py +3 -0
- miesc-4.3.3/examples/sample-plugin/miesc-dangerous_delegatecall/dangerous_delegatecall/detectors.py +151 -0
- miesc-4.3.3/examples/sample-plugin/miesc-dangerous_delegatecall/pyproject.toml +23 -0
- miesc-4.3.3/examples/sample-plugin/miesc-dangerous_delegatecall/tests/__init__.py +1 -0
- miesc-4.3.3/examples/sample-plugin/miesc-dangerous_delegatecall/tests/test_dangerous_delegatecall.py +144 -0
- miesc-4.3.3/examples/simple_demo.py +172 -0
- miesc-4.3.3/foundry.toml +49 -0
- miesc-4.3.3/install.sh +122 -0
- miesc-4.3.3/integrations/foundry/Makefile.example +127 -0
- miesc-4.3.3/integrations/foundry/README.md +302 -0
- miesc-4.3.3/integrations/foundry/foundry-miesc.yml +191 -0
- miesc-4.3.3/integrations/foundry/foundry.toml.example +79 -0
- miesc-4.3.3/integrations/foundry/miesc-hook.sh +167 -0
- miesc-4.3.3/integrations/hardhat/README.md +371 -0
- miesc-4.3.3/integrations/hardhat/hardhat-miesc.yml +225 -0
- miesc-4.3.3/integrations/hardhat/hardhat.config.example.js +118 -0
- miesc-4.3.3/integrations/hardhat/index.d.ts +104 -0
- miesc-4.3.3/integrations/hardhat/index.js +351 -0
- miesc-4.3.3/integrations/hardhat/package.json +47 -0
- miesc-4.3.3/miesc/__init__.py +86 -0
- miesc-4.3.3/miesc/__main__.py +18 -0
- miesc-4.3.3/miesc/adapters/__init__.py +21 -0
- miesc-4.3.3/miesc/agents/__init__.py +35 -0
- miesc-4.3.3/miesc/api/__init__.py +62 -0
- miesc-4.3.3/miesc/api/rest.py +1136 -0
- miesc-4.3.3/miesc/cli/__init__.py +9 -0
- miesc-4.3.3/miesc/cli/main.py +3882 -0
- miesc-4.3.3/miesc/core/__init__.py +23 -0
- miesc-4.3.3/miesc/core/orchestrator.py +259 -0
- miesc-4.3.3/miesc/core/quick_scanner.py +250 -0
- miesc-4.3.3/miesc/detectors/__init__.py +445 -0
- miesc-4.3.3/miesc/detectors/examples.py +1084 -0
- miesc-4.3.3/miesc/llm/__init__.py +61 -0
- miesc-4.3.3/miesc/mcp/__init__.py +20 -0
- miesc-4.3.3/miesc/ml/__init__.py +30 -0
- miesc-4.3.3/miesc/plugins/__init__.py +15 -0
- miesc-4.3.3/miesc/plugins/config.py +198 -0
- miesc-4.3.3/miesc/plugins/manager.py +401 -0
- miesc-4.3.3/miesc/plugins/templates/__init__.py +252 -0
- miesc-4.3.3/miesc/security/__init__.py +26 -0
- miesc-4.3.3/miesc.egg-info/SOURCES.txt +324 -0
- miesc-4.3.3/mkdocs.yml +229 -0
- miesc-4.3.3/pyproject.toml +358 -0
- miesc-4.3.3/reports/REPORT.md +75 -0
- miesc-4.3.3/reports/demo_audit.html +467 -0
- miesc-4.3.3/reports/demo_audit.json +50 -0
- miesc-4.3.3/reports/demo_audit_report.html +683 -0
- miesc-4.3.3/reports/demo_audit_report.json +115 -0
- miesc-4.3.3/reports/report.json +78 -0
- miesc-4.3.3/reports/sample_audit.html +640 -0
- miesc-4.3.3/reports/sample_audit.json +101 -0
- miesc-4.3.3/run_complete_multilayer_audit.py +1058 -0
- miesc-4.3.3/scripts/capture_evidence.py +751 -0
- miesc-4.3.3/scripts/generate_academic_report.py +1868 -0
- miesc-4.3.3/scripts/generate_bilingual_report.py +1063 -0
- miesc-4.3.3/scripts/generate_separate_reports.py +1494 -0
- miesc-4.3.3/scripts/generate_slides.py +456 -0
- miesc-4.3.3/scripts/generate_thesis_pptx.py +819 -0
- miesc-4.3.3/scripts/install_tools.py +620 -0
- miesc-4.3.3/scripts/miesc-quick +950 -0
- miesc-4.3.3/scripts/publish.sh +120 -0
- miesc-4.3.3/scripts/run_full_audit.py +265 -0
- miesc-4.3.3/scripts/validate_installation.sh +267 -0
- miesc-4.3.3/scripts/verify_installation.py +326 -0
- miesc-4.3.3/setup.cfg +4 -0
- miesc-4.3.3/src/__init__.py +0 -0
- miesc-4.3.3/src/adapters/__init__.py +294 -0
- miesc-4.3.3/src/adapters/aderyn_adapter.py +505 -0
- miesc-4.3.3/src/adapters/advanced_detector_adapter.py +270 -0
- miesc-4.3.3/src/adapters/certora_adapter.py +393 -0
- miesc-4.3.3/src/adapters/contract_clone_detector_adapter.py +456 -0
- miesc-4.3.3/src/adapters/crosschain_adapter.py +745 -0
- miesc-4.3.3/src/adapters/dagnn_adapter.py +698 -0
- miesc-4.3.3/src/adapters/defi_adapter.py +291 -0
- miesc-4.3.3/src/adapters/dogefuzz_adapter.py +722 -0
- miesc-4.3.3/src/adapters/echidna_adapter.py +386 -0
- miesc-4.3.3/src/adapters/foundry_adapter.py +544 -0
- miesc-4.3.3/src/adapters/gas_analyzer_adapter.py +263 -0
- miesc-4.3.3/src/adapters/gptscan_adapter.py +399 -0
- miesc-4.3.3/src/adapters/halmos_adapter.py +391 -0
- miesc-4.3.3/src/adapters/invariant_synthesizer.py +932 -0
- miesc-4.3.3/src/adapters/llmbugscanner_adapter.py +648 -0
- miesc-4.3.3/src/adapters/llmsmartaudit_adapter.py +442 -0
- miesc-4.3.3/src/adapters/manticore_adapter.py +351 -0
- miesc-4.3.3/src/adapters/medusa_adapter.py +465 -0
- miesc-4.3.3/src/adapters/mev_detector_adapter.py +366 -0
- miesc-4.3.3/src/adapters/mythril_adapter.py +489 -0
- miesc-4.3.3/src/adapters/propertygpt_adapter.py +577 -0
- miesc-4.3.3/src/adapters/slither_adapter.py +522 -0
- miesc-4.3.3/src/adapters/smartbugs_detector_adapter.py +278 -0
- miesc-4.3.3/src/adapters/smartbugs_ml_adapter.py +446 -0
- miesc-4.3.3/src/adapters/smartguard_adapter.py +668 -0
- miesc-4.3.3/src/adapters/smartllm_adapter.py +1133 -0
- miesc-4.3.3/src/adapters/smartllm_rag_knowledge.py +1875 -0
- miesc-4.3.3/src/adapters/smtchecker_adapter.py +387 -0
- miesc-4.3.3/src/adapters/solhint_adapter.py +484 -0
- miesc-4.3.3/src/adapters/threat_model_adapter.py +376 -0
- miesc-4.3.3/src/adapters/vertigo_adapter.py +364 -0
- miesc-4.3.3/src/adapters/wake_adapter.py +359 -0
- miesc-4.3.3/src/adapters/zk_circuit_adapter.py +627 -0
- miesc-4.3.3/src/agents/__init__.py +36 -0
- miesc-4.3.3/src/agents/aderyn_agent.py +280 -0
- miesc-4.3.3/src/agents/ai_agent.py +447 -0
- miesc-4.3.3/src/agents/audit_readiness/__init__.py +24 -0
- miesc-4.3.3/src/agents/audit_readiness/documentation_analyzer.py +757 -0
- miesc-4.3.3/src/agents/audit_readiness/maturity_analyzer.py +325 -0
- miesc-4.3.3/src/agents/audit_readiness/security_practices_analyzer.py +430 -0
- miesc-4.3.3/src/agents/audit_readiness/testing_analyzer.py +307 -0
- miesc-4.3.3/src/agents/base_agent.py +219 -0
- miesc-4.3.3/src/agents/coordinator_agent.py +740 -0
- miesc-4.3.3/src/agents/crewai_coordinator.py +474 -0
- miesc-4.3.3/src/agents/dynamic_agent.py +384 -0
- miesc-4.3.3/src/agents/formal_agent.py +267 -0
- miesc-4.3.3/src/agents/gptscan_agent.py +429 -0
- miesc-4.3.3/src/agents/halmos_agent.py +300 -0
- miesc-4.3.3/src/agents/interpretation_agent.py +545 -0
- miesc-4.3.3/src/agents/llm_smartaudit_agent.py +466 -0
- miesc-4.3.3/src/agents/medusa_agent.py +296 -0
- miesc-4.3.3/src/agents/ollama_agent.py +521 -0
- miesc-4.3.3/src/agents/policy_agent.py +1877 -0
- miesc-4.3.3/src/agents/recommendation_agent.py +689 -0
- miesc-4.3.3/src/agents/slither_protocol_agent.py +244 -0
- miesc-4.3.3/src/agents/smartllm_agent.py +469 -0
- miesc-4.3.3/src/agents/smtchecker_agent.py +311 -0
- miesc-4.3.3/src/agents/static_agent.py +562 -0
- miesc-4.3.3/src/agents/symbolic_agent.py +623 -0
- miesc-4.3.3/src/agents/wake_agent.py +359 -0
- miesc-4.3.3/src/core/__init__.py +134 -0
- miesc-4.3.3/src/core/agent_protocol.py +371 -0
- miesc-4.3.3/src/core/agent_registry.py +347 -0
- miesc-4.3.3/src/core/config_loader.py +234 -0
- miesc-4.3.3/src/core/correlation_api.py +600 -0
- miesc-4.3.3/src/core/exceptions.py +530 -0
- miesc-4.3.3/src/core/exporters.py +557 -0
- miesc-4.3.3/src/core/framework_detector.py +551 -0
- miesc-4.3.3/src/core/health_checker.py +329 -0
- miesc-4.3.3/src/core/llm_config.py +223 -0
- miesc-4.3.3/src/core/logging_config.py +490 -0
- miesc-4.3.3/src/core/metrics.py +439 -0
- miesc-4.3.3/src/core/ml_orchestrator.py +538 -0
- miesc-4.3.3/src/core/optimized_orchestrator.py +500 -0
- miesc-4.3.3/src/core/persistence.py +738 -0
- miesc-4.3.3/src/core/result_aggregator.py +400 -0
- miesc-4.3.3/src/core/rich_cli.py +575 -0
- miesc-4.3.3/src/core/tool_discovery.py +296 -0
- miesc-4.3.3/src/core/tool_protocol.py +340 -0
- miesc-4.3.3/src/core/websocket_api.py +550 -0
- miesc-4.3.3/src/dashboard/__init__.py +7 -0
- miesc-4.3.3/src/dashboard/real_time_dashboard.html +505 -0
- miesc-4.3.3/src/detectors/__init__.py +48 -0
- miesc-4.3.3/src/detectors/advanced_detectors.py +683 -0
- miesc-4.3.3/src/detectors/defi_detectors.py +577 -0
- miesc-4.3.3/src/detectors/dependency_analyzer.py +403 -0
- miesc-4.3.3/src/detectors/detector_api.py +536 -0
- miesc-4.3.3/src/detectors/example_detectors.py +272 -0
- miesc-4.3.3/src/detectors/smartbugs_detectors.py +1082 -0
- miesc-4.3.3/src/integration/__init__.py +26 -0
- miesc-4.3.3/src/integration/adapter_integration.py +402 -0
- miesc-4.3.3/src/knowledge_base/__init__.py +38 -0
- miesc-4.3.3/src/knowledge_base/vulnerabilities.json +76 -0
- miesc-4.3.3/src/licensing/__init__.py +22 -0
- miesc-4.3.3/src/licensing/admin_api.py +431 -0
- miesc-4.3.3/src/licensing/cli.py +268 -0
- miesc-4.3.3/src/licensing/key_generator.py +89 -0
- miesc-4.3.3/src/licensing/license_manager.py +378 -0
- miesc-4.3.3/src/licensing/models.py +167 -0
- miesc-4.3.3/src/licensing/plans.py +119 -0
- miesc-4.3.3/src/licensing/quota_checker.py +285 -0
- miesc-4.3.3/src/llm/__init__.py +52 -0
- miesc-4.3.3/src/llm/llm_orchestrator.py +545 -0
- miesc-4.3.3/src/llm/openllama_helper.py +429 -0
- miesc-4.3.3/src/mcp/__init__.py +38 -0
- miesc-4.3.3/src/mcp/context_bus.py +240 -0
- miesc-4.3.3/src/mcp/tool_registry.py +688 -0
- miesc-4.3.3/src/mcp/websocket_server.py +524 -0
- miesc-4.3.3/src/miesc_core.py +61 -0
- miesc-4.3.3/src/miesc_policy_mapper.py +38 -0
- miesc-4.3.3/src/miesc_risk_engine.py +74 -0
- miesc-4.3.3/src/miesc_tests/__init__.py +18 -0
- miesc-4.3.3/src/miesc_tests/test_policy_agent.py +421 -0
- miesc-4.3.3/src/ml/__init__.py +230 -0
- miesc-4.3.3/src/ml/code_embeddings.py +500 -0
- miesc-4.3.3/src/ml/correlation_engine.py +1395 -0
- miesc-4.3.3/src/ml/false_positive_filter.py +693 -0
- miesc-4.3.3/src/ml/feedback_loop.py +589 -0
- miesc-4.3.3/src/ml/fine_tuning/README.md +363 -0
- miesc-4.3.3/src/ml/fine_tuning/__init__.py +16 -0
- miesc-4.3.3/src/ml/fine_tuning/dataset_generator.py +647 -0
- miesc-4.3.3/src/ml/fine_tuning/fine_tuning_trainer.py +497 -0
- miesc-4.3.3/src/ml/severity_predictor.py +322 -0
- miesc-4.3.3/src/ml/vulnerability_clusterer.py +371 -0
- miesc-4.3.3/src/reports/__init__.py +8 -0
- miesc-4.3.3/src/reports/audit_report.py +926 -0
- miesc-4.3.3/src/security/README.md +279 -0
- miesc-4.3.3/src/security/README_ES.md +279 -0
- miesc-4.3.3/src/security/__init__.py +71 -0
- miesc-4.3.3/src/security/api_limiter.py +397 -0
- miesc-4.3.3/src/security/compliance_mapper.py +602 -0
- miesc-4.3.3/src/security/input_validator.py +317 -0
- miesc-4.3.3/src/security/remediation_engine.py +604 -0
- miesc-4.3.3/src/security/remediations.py +700 -0
- miesc-4.3.3/src/security/secure_logging.py +273 -0
- miesc-4.3.3/src/tests/ERC4626Test.t.sol +168 -0
- miesc-4.3.3/src/tests/OracleTest.t.sol +269 -0
- miesc-4.3.3/src/tests/ProxyTest.t.sol +125 -0
- miesc-4.3.3/src/tests/ReentrancyTest.t.sol +92 -0
- miesc-4.3.3/src/tests/__init__.py +5 -0
- miesc-4.3.3/src/utils/__init__.py +7 -0
- miesc-4.3.3/src/utils/ai_assistant.py +237 -0
- miesc-4.3.3/src/utils/enhanced_reporter.py +688 -0
- miesc-4.3.3/src/utils/metrics_dashboard.py +361 -0
- miesc-4.3.3/src/utils/web_dashboard.py +997 -0
- miesc-4.3.3/vscode-extension/.eslintrc.json +34 -0
- miesc-4.3.3/vscode-extension/.vscodeignore +11 -0
- miesc-4.3.3/vscode-extension/README.md +221 -0
- miesc-4.3.3/vscode-extension/media/shield.svg +5 -0
- miesc-4.3.3/vscode-extension/package-lock.json +4112 -0
- miesc-4.3.3/vscode-extension/package.json +258 -0
- miesc-4.3.3/vscode-extension/src/extension.ts +1214 -0
- miesc-4.3.3/vscode-extension/src/services/miescCli.ts +338 -0
- miesc-4.3.3/vscode-extension/src/services/miescClient.ts +214 -0
- miesc-4.3.3/vscode-extension/src/views/findingsTreeView.ts +220 -0
- miesc-4.3.3/vscode-extension/src/views/layersTreeView.ts +211 -0
- miesc-4.3.3/vscode-extension/tsconfig.json +22 -0
- miesc-4.3.3/webapp/app.py +964 -0
- miesc-4.3.3/webapp/dashboard_enhanced.py +974 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Recordings and large media files
|
|
2
|
+
demo/recordings/
|
|
3
|
+
*.mp4
|
|
4
|
+
*.gif
|
|
5
|
+
*.wav
|
|
6
|
+
*.aiff
|
|
7
|
+
*.cast
|
|
8
|
+
|
|
9
|
+
# Development files
|
|
10
|
+
.git
|
|
11
|
+
.github
|
|
12
|
+
.vscode
|
|
13
|
+
.idea
|
|
14
|
+
*.egg-info
|
|
15
|
+
__pycache__
|
|
16
|
+
*.pyc
|
|
17
|
+
*.pyo
|
|
18
|
+
.pytest_cache
|
|
19
|
+
.coverage
|
|
20
|
+
htmlcov
|
|
21
|
+
.tox
|
|
22
|
+
.nox
|
|
23
|
+
dist
|
|
24
|
+
build
|
|
25
|
+
*.egg
|
|
26
|
+
|
|
27
|
+
# Virtual environments
|
|
28
|
+
venv/
|
|
29
|
+
venv314/
|
|
30
|
+
.venv/
|
|
31
|
+
|
|
32
|
+
# Thesis and documentation builds
|
|
33
|
+
thesis_generator/
|
|
34
|
+
docs/
|
|
35
|
+
*.docx
|
|
36
|
+
*.pdf
|
|
37
|
+
|
|
38
|
+
# Test artifacts
|
|
39
|
+
.benchmarks/
|
|
40
|
+
benchmarks/datasets/
|
|
41
|
+
|
|
42
|
+
# IDE and OS files
|
|
43
|
+
.DS_Store
|
|
44
|
+
*.swp
|
|
45
|
+
*.swo
|
|
46
|
+
Thumbs.db
|
|
47
|
+
|
|
48
|
+
# Misc
|
|
49
|
+
*.log
|
|
50
|
+
*.tmp
|
|
51
|
+
node_modules/
|
miesc-4.3.3/.env.example
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# ============================================================================
|
|
2
|
+
# MIESC Environment Configuration (v3.3.0)
|
|
3
|
+
# ============================================================================
|
|
4
|
+
# Copy this file to .env and fill in your actual values:
|
|
5
|
+
# cp .env.example .env
|
|
6
|
+
#
|
|
7
|
+
# IMPORTANT: Never commit .env to version control!
|
|
8
|
+
# ============================================================================
|
|
9
|
+
|
|
10
|
+
# ============================================================================
|
|
11
|
+
# AI/LLM Configuration
|
|
12
|
+
# ============================================================================
|
|
13
|
+
|
|
14
|
+
# OpenAI API (Required for AI correlation with GPT-4o)
|
|
15
|
+
# Get your key at: https://platform.openai.com/api-keys
|
|
16
|
+
OPENAI_API_KEY=your_openai_api_key_here
|
|
17
|
+
|
|
18
|
+
# OpenAI Model Selection
|
|
19
|
+
# OPENAI_MODEL=gpt-4o
|
|
20
|
+
# OPENAI_TEMPERATURE=0.2
|
|
21
|
+
# OPENAI_MAX_TOKENS=2000
|
|
22
|
+
|
|
23
|
+
# Anthropic Claude API (Optional, for Claude-based correlation)
|
|
24
|
+
# Get your key at: https://console.anthropic.com/
|
|
25
|
+
# ANTHROPIC_API_KEY=sk-ant-your-anthropic-key-here
|
|
26
|
+
# ANTHROPIC_MODEL=claude-3-5-sonnet-20241022
|
|
27
|
+
|
|
28
|
+
# Local LLM Configuration (Optional, for self-hosted models)
|
|
29
|
+
# LOCAL_LLM_ENABLED=false
|
|
30
|
+
# LOCAL_LLM_ENDPOINT=http://localhost:11434/api/generate
|
|
31
|
+
# LOCAL_LLM_MODEL=llama3.1:70b
|
|
32
|
+
|
|
33
|
+
# HuggingFace API Key (Optional for SmartLLM)
|
|
34
|
+
# HUGGINGFACE_API_KEY=your_huggingface_api_key_here
|
|
35
|
+
|
|
36
|
+
# ============================================================================
|
|
37
|
+
# Tool Configuration
|
|
38
|
+
# ============================================================================
|
|
39
|
+
|
|
40
|
+
# Slither Configuration
|
|
41
|
+
# SLITHER_TIMEOUT=60
|
|
42
|
+
# SLITHER_DETECTORS=all
|
|
43
|
+
|
|
44
|
+
# Mythril Configuration
|
|
45
|
+
# MYTHRIL_TIMEOUT=120
|
|
46
|
+
# MYTHRIL_MAX_DEPTH=22
|
|
47
|
+
|
|
48
|
+
# ============================================================================
|
|
49
|
+
# MCP REST API Configuration
|
|
50
|
+
# ============================================================================
|
|
51
|
+
|
|
52
|
+
# MCP Server Settings
|
|
53
|
+
# MCP_HOST=0.0.0.0
|
|
54
|
+
# MCP_PORT=5001
|
|
55
|
+
# MCP_DEBUG=false
|
|
56
|
+
# MCP_LOG_LEVEL=INFO
|
|
57
|
+
# MCP_MESSAGE_HISTORY_LIMIT=1000
|
|
58
|
+
|
|
59
|
+
# API Authentication (Optional, for production)
|
|
60
|
+
# MCP_API_KEY=your-secret-api-key-here
|
|
61
|
+
# MCP_ENABLE_AUTH=false
|
|
62
|
+
|
|
63
|
+
# ============================================================================
|
|
64
|
+
# Output & Reporting
|
|
65
|
+
# ============================================================================
|
|
66
|
+
|
|
67
|
+
# Report Output Directory
|
|
68
|
+
# REPORT_OUTPUT_DIR=analysis/reports
|
|
69
|
+
# REPORT_FORMATS=json,markdown
|
|
70
|
+
|
|
71
|
+
# ============================================================================
|
|
72
|
+
# Logging Configuration
|
|
73
|
+
# ============================================================================
|
|
74
|
+
|
|
75
|
+
# Log Level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
|
|
76
|
+
# LOG_LEVEL=INFO
|
|
77
|
+
# LOG_FILE=logs/miesc.log
|
|
78
|
+
|
|
79
|
+
# ============================================================================
|
|
80
|
+
# Development & Testing
|
|
81
|
+
# ============================================================================
|
|
82
|
+
|
|
83
|
+
# Development Mode
|
|
84
|
+
# DEV_MODE=false
|
|
85
|
+
# ENABLE_PROFILING=false
|
|
86
|
+
|
|
87
|
+
# ============================================================================
|
|
88
|
+
# External Services (Optional)
|
|
89
|
+
# ============================================================================
|
|
90
|
+
|
|
91
|
+
# Etherscan API (for fetching verified contracts)
|
|
92
|
+
# ETHERSCAN_API_KEY=your-etherscan-key-here
|
|
93
|
+
|
|
94
|
+
# Slack Notifications (Optional)
|
|
95
|
+
# SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK/URL
|
|
96
|
+
# SLACK_ENABLED=false
|
|
97
|
+
|
|
98
|
+
# ============================================================================
|
|
99
|
+
# Notes
|
|
100
|
+
# ============================================================================
|
|
101
|
+
#
|
|
102
|
+
# 1. Copy this file: cp .env.example .env
|
|
103
|
+
# 2. Fill in your API keys and credentials
|
|
104
|
+
# 3. Never commit .env to Git (it's in .gitignore)
|
|
105
|
+
# 4. Load variables: export $(cat .env | xargs)
|
|
106
|
+
# 5. Verify: python scripts/check_env.py
|
|
107
|
+
#
|
|
108
|
+
# ============================================================================
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# GitHub Linguist Configuration
|
|
2
|
+
# This file tells GitHub how to detect languages in the repository
|
|
3
|
+
|
|
4
|
+
# Mark documentation directories - exclude from language stats
|
|
5
|
+
docs/** linguist-documentation
|
|
6
|
+
thesis/** linguist-documentation
|
|
7
|
+
*.md linguist-documentation
|
|
8
|
+
|
|
9
|
+
# Mark vendored/generated code - exclude from language stats
|
|
10
|
+
venv/** linguist-vendored
|
|
11
|
+
node_modules/** linguist-vendored
|
|
12
|
+
*.min.js linguist-vendored
|
|
13
|
+
*.min.css linguist-vendored
|
|
14
|
+
|
|
15
|
+
# Website assets - mark as documentation (GitHub Pages site)
|
|
16
|
+
css/** linguist-documentation=false
|
|
17
|
+
js/** linguist-documentation=false
|
|
18
|
+
pages/** linguist-documentation=false
|
|
19
|
+
index.html linguist-documentation=false
|
|
20
|
+
|
|
21
|
+
# Explicitly mark smart contract languages
|
|
22
|
+
*.sol linguist-language=Solidity
|
|
23
|
+
*.vy linguist-language=Vyper
|
|
24
|
+
*.rs linguist-language=Rust
|
|
25
|
+
*.cairo linguist-language=Cairo
|
|
26
|
+
*.move linguist-language=Move
|
|
27
|
+
|
|
28
|
+
# Mark Python as primary language
|
|
29
|
+
*.py linguist-language=Python
|
|
30
|
+
|
|
31
|
+
# Mark shell scripts
|
|
32
|
+
*.sh linguist-language=Shell
|
|
33
|
+
|
|
34
|
+
# Mark configuration files appropriately
|
|
35
|
+
*.toml linguist-language=TOML
|
|
36
|
+
*.yml linguist-language=YAML
|
|
37
|
+
*.yaml linguist-language=YAML
|
|
38
|
+
*.json linguist-language=JSON
|
|
39
|
+
|
|
40
|
+
# Exclude analysis outputs and data files from stats
|
|
41
|
+
output/** linguist-generated
|
|
42
|
+
outputs/** linguist-generated
|
|
43
|
+
analysis/** linguist-generated
|
|
44
|
+
data/** linguist-generated
|
|
45
|
+
|
|
46
|
+
# Exclude test contracts that are intentionally vulnerable
|
|
47
|
+
vulnerable_contracts/** linguist-documentation
|
|
48
|
+
examples/** linguist-documentation=false
|
|
49
|
+
|
|
50
|
+
# Video assets - exclude from stats
|
|
51
|
+
video_assets/** linguist-documentation
|
miesc-4.3.3/.nojekyll
ADDED
|
File without changes
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Pre-commit hooks configuration for MIESC
|
|
2
|
+
# Implements Shift-Left Security by running checks before commits
|
|
3
|
+
#
|
|
4
|
+
# Installation:
|
|
5
|
+
# pip install pre-commit
|
|
6
|
+
# pre-commit install
|
|
7
|
+
#
|
|
8
|
+
# Usage:
|
|
9
|
+
# pre-commit run --all-files # Run all hooks manually
|
|
10
|
+
# git commit -m "message" # Hooks run automatically
|
|
11
|
+
|
|
12
|
+
repos:
|
|
13
|
+
# Code Formatting
|
|
14
|
+
- repo: https://github.com/psf/black
|
|
15
|
+
rev: 24.1.1
|
|
16
|
+
hooks:
|
|
17
|
+
- id: black
|
|
18
|
+
name: Black Code Formatter
|
|
19
|
+
language_version: python3.9
|
|
20
|
+
args: ['--line-length=100']
|
|
21
|
+
|
|
22
|
+
# Fast Linting (Ruff)
|
|
23
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
24
|
+
rev: v0.1.14
|
|
25
|
+
hooks:
|
|
26
|
+
- id: ruff
|
|
27
|
+
name: Ruff Linter
|
|
28
|
+
args: ['--fix', '--exit-non-zero-on-fix']
|
|
29
|
+
|
|
30
|
+
# Traditional Linting (Flake8)
|
|
31
|
+
- repo: https://github.com/PyCQA/flake8
|
|
32
|
+
rev: 7.0.0
|
|
33
|
+
hooks:
|
|
34
|
+
- id: flake8
|
|
35
|
+
name: Flake8 Style Checker
|
|
36
|
+
args: ['--max-line-length=100', '--ignore=E203,W503']
|
|
37
|
+
|
|
38
|
+
# Security Scanning (Bandit)
|
|
39
|
+
- repo: https://github.com/PyCQA/bandit
|
|
40
|
+
rev: 1.7.6
|
|
41
|
+
hooks:
|
|
42
|
+
- id: bandit
|
|
43
|
+
name: Bandit Security Scanner
|
|
44
|
+
args: ['-r', 'src/', '-ll'] # Low-level severity
|
|
45
|
+
exclude: ^tests/
|
|
46
|
+
|
|
47
|
+
# Secret Scanning
|
|
48
|
+
- repo: https://github.com/Yelp/detect-secrets
|
|
49
|
+
rev: v1.4.0
|
|
50
|
+
hooks:
|
|
51
|
+
- id: detect-secrets
|
|
52
|
+
name: Detect Hardcoded Secrets
|
|
53
|
+
args: ['--baseline', '.secrets.baseline']
|
|
54
|
+
exclude: tests/
|
|
55
|
+
|
|
56
|
+
# YAML Validation
|
|
57
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
58
|
+
rev: v4.5.0
|
|
59
|
+
hooks:
|
|
60
|
+
- id: check-yaml
|
|
61
|
+
name: Check YAML Syntax
|
|
62
|
+
- id: check-json
|
|
63
|
+
name: Check JSON Syntax
|
|
64
|
+
- id: check-toml
|
|
65
|
+
name: Check TOML Syntax
|
|
66
|
+
- id: end-of-file-fixer
|
|
67
|
+
name: Fix End of Files
|
|
68
|
+
- id: trailing-whitespace
|
|
69
|
+
name: Trim Trailing Whitespace
|
|
70
|
+
- id: check-added-large-files
|
|
71
|
+
name: Check for Large Files
|
|
72
|
+
args: ['--maxkb=1000']
|
|
73
|
+
- id: check-merge-conflict
|
|
74
|
+
name: Check for Merge Conflicts
|
|
75
|
+
- id: check-case-conflict
|
|
76
|
+
name: Check for Case Conflicts
|
|
77
|
+
|
|
78
|
+
# Python-specific checks
|
|
79
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
80
|
+
rev: v4.5.0
|
|
81
|
+
hooks:
|
|
82
|
+
- id: check-ast
|
|
83
|
+
name: Check Python AST
|
|
84
|
+
- id: check-docstring-first
|
|
85
|
+
name: Check Docstring First
|
|
86
|
+
- id: debug-statements
|
|
87
|
+
name: Check for Debug Statements
|
|
88
|
+
- id: name-tests-test
|
|
89
|
+
name: Check Test Naming
|
|
90
|
+
args: ['--pytest-test-first']
|
|
91
|
+
|
|
92
|
+
# Type Checking (MyPy)
|
|
93
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
94
|
+
rev: v1.8.0
|
|
95
|
+
hooks:
|
|
96
|
+
- id: mypy
|
|
97
|
+
name: MyPy Type Checker
|
|
98
|
+
args: ['--ignore-missing-imports', '--show-error-codes']
|
|
99
|
+
additional_dependencies:
|
|
100
|
+
- 'types-requests'
|
|
101
|
+
- 'types-PyYAML'
|
|
102
|
+
- 'types-click'
|
|
103
|
+
exclude: ^tests/
|
|
104
|
+
|
|
105
|
+
# Markdown Linting
|
|
106
|
+
- repo: https://github.com/igorshubovych/markdownlint-cli
|
|
107
|
+
rev: v0.38.0
|
|
108
|
+
hooks:
|
|
109
|
+
- id: markdownlint
|
|
110
|
+
name: Markdown Linter
|
|
111
|
+
args: ['--fix']
|
|
112
|
+
|
|
113
|
+
# Commit Message Validation
|
|
114
|
+
- repo: https://github.com/commitizen-tools/commitizen
|
|
115
|
+
rev: v3.13.0
|
|
116
|
+
hooks:
|
|
117
|
+
- id: commitizen
|
|
118
|
+
name: Check Commit Message Format
|
|
119
|
+
stages: [commit-msg]
|
|
120
|
+
|
|
121
|
+
# Configuration
|
|
122
|
+
default_language_version:
|
|
123
|
+
python: python3.9
|
|
124
|
+
|
|
125
|
+
fail_fast: false # Run all hooks even if one fails
|
|
126
|
+
minimum_pre_commit_version: '3.0.0'
|
|
127
|
+
|
|
128
|
+
# Exclude patterns
|
|
129
|
+
exclude: |
|
|
130
|
+
(?x)^(
|
|
131
|
+
venv/|
|
|
132
|
+
.venv/|
|
|
133
|
+
__pycache__/|
|
|
134
|
+
\.git/|
|
|
135
|
+
\.pytest_cache/|
|
|
136
|
+
\.mypy_cache/|
|
|
137
|
+
build/|
|
|
138
|
+
dist/|
|
|
139
|
+
\.egg-info/
|
|
140
|
+
)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# MIESC Pre-commit Hooks
|
|
2
|
+
# Official pre-commit hooks for smart contract security scanning
|
|
3
|
+
# https://github.com/fboiero/MIESC
|
|
4
|
+
#
|
|
5
|
+
# Usage in your project's .pre-commit-config.yaml:
|
|
6
|
+
#
|
|
7
|
+
# repos:
|
|
8
|
+
# - repo: https://github.com/fboiero/MIESC
|
|
9
|
+
# rev: v4.3.2
|
|
10
|
+
# hooks:
|
|
11
|
+
# - id: miesc-quick
|
|
12
|
+
# args: ['--fail-on', 'high,critical']
|
|
13
|
+
#
|
|
14
|
+
# Available hooks:
|
|
15
|
+
# - miesc-quick: Fast 4-tool scan (~30s) - recommended for commits
|
|
16
|
+
# - miesc-fast: Ultra-fast 2-tool scan (~10s) - for rapid iteration
|
|
17
|
+
# - miesc-full: Complete 9-layer audit - manual stage only
|
|
18
|
+
# - miesc-ci: CI-optimized scan with exit codes
|
|
19
|
+
#
|
|
20
|
+
# For more information: https://fboiero.github.io/MIESC
|
|
21
|
+
|
|
22
|
+
- id: miesc-quick
|
|
23
|
+
name: MIESC Quick Security Scan
|
|
24
|
+
description: Run quick security scan on Solidity contracts (slither, aderyn, solhint, mythril)
|
|
25
|
+
entry: miesc scan
|
|
26
|
+
language: python
|
|
27
|
+
files: \.sol$
|
|
28
|
+
types: [file]
|
|
29
|
+
pass_filenames: true
|
|
30
|
+
require_serial: true
|
|
31
|
+
additional_dependencies: ['miesc>=4.3.2']
|
|
32
|
+
|
|
33
|
+
- id: miesc-fast
|
|
34
|
+
name: MIESC Fast Security Scan
|
|
35
|
+
description: Ultra-fast security scan (slither, aderyn only, ~10s)
|
|
36
|
+
entry: miesc audit quick
|
|
37
|
+
language: python
|
|
38
|
+
files: \.sol$
|
|
39
|
+
types: [file]
|
|
40
|
+
pass_filenames: true
|
|
41
|
+
require_serial: true
|
|
42
|
+
args: ['--timeout', '60']
|
|
43
|
+
additional_dependencies: ['miesc>=4.3.2']
|
|
44
|
+
|
|
45
|
+
- id: miesc-ci
|
|
46
|
+
name: MIESC CI Mode
|
|
47
|
+
description: Security scan with CI-friendly output (fails on critical/high issues)
|
|
48
|
+
entry: miesc scan
|
|
49
|
+
language: python
|
|
50
|
+
files: \.sol$
|
|
51
|
+
types: [file]
|
|
52
|
+
pass_filenames: true
|
|
53
|
+
require_serial: true
|
|
54
|
+
args: ['--ci']
|
|
55
|
+
additional_dependencies: ['miesc>=4.3.2']
|
|
56
|
+
|
|
57
|
+
- id: miesc-full
|
|
58
|
+
name: MIESC Full Security Audit
|
|
59
|
+
description: Complete 9-layer security audit with all 31 tools (run manually)
|
|
60
|
+
entry: miesc audit full
|
|
61
|
+
language: python
|
|
62
|
+
files: \.sol$
|
|
63
|
+
types: [file]
|
|
64
|
+
pass_filenames: true
|
|
65
|
+
require_serial: true
|
|
66
|
+
stages: [manual]
|
|
67
|
+
additional_dependencies: ['miesc>=4.3.2']
|
|
68
|
+
|
|
69
|
+
- id: miesc-layer
|
|
70
|
+
name: MIESC Single Layer Scan
|
|
71
|
+
description: Run specific layer analysis (default layer 1 - static analysis)
|
|
72
|
+
entry: miesc audit layer 1
|
|
73
|
+
language: python
|
|
74
|
+
files: \.sol$
|
|
75
|
+
types: [file]
|
|
76
|
+
pass_filenames: true
|
|
77
|
+
require_serial: true
|
|
78
|
+
additional_dependencies: ['miesc>=4.3.2']
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version": "1.4.0", "plugins_used": [], "results": {}}
|
miesc-4.3.3/CHANGELOG.md
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to MIESC will be documented in this file.
|
|
4
|
+
|
|
5
|
+
Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
|
+
Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [4.3.2] - 2025-01-09
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
#### PyPI Publication
|
|
13
|
+
- **MIESC is now available on PyPI**: `pip install miesc`
|
|
14
|
+
- Installation options: `miesc`, `miesc[cli]`, `miesc[web]`, `miesc[full]`
|
|
15
|
+
- Package includes all 31 adapters and 9 defense layers
|
|
16
|
+
|
|
17
|
+
#### New CLI Commands
|
|
18
|
+
- **`miesc scan`** - Simplified quick vulnerability scan
|
|
19
|
+
- `miesc scan contract.sol` - Quick 4-tool scan
|
|
20
|
+
- `miesc scan contract.sol --ci` - CI mode (exit 1 on critical/high issues)
|
|
21
|
+
- `miesc scan contract.sol -o report.json` - JSON output
|
|
22
|
+
|
|
23
|
+
#### Module Execution
|
|
24
|
+
- Support for `python -m miesc` execution
|
|
25
|
+
- Added `miesc/__main__.py` for module entry point
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
- **Optional dependency imports** - WebSocket/FastAPI type annotations no longer fail when packages not installed
|
|
29
|
+
- Added `from __future__ import annotations` for deferred type evaluation
|
|
30
|
+
- Fallback `None` assignments for optional imports (FastAPI, uvicorn, WebSocket)
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
- Web frameworks (FastAPI, Flask, Streamlit, Django) are now optional dependencies
|
|
34
|
+
- Minimal core dependencies: click, pydantic, pyyaml, slither-analyzer
|
|
35
|
+
- Package structure updated to include `src.*` modules in distribution
|
|
36
|
+
|
|
37
|
+
### Documentation
|
|
38
|
+
- Added `QUICKSTART.md` with CLI usage and 9-layer architecture guide
|
|
39
|
+
- Updated README badges (PyPI, version 4.3.2)
|
|
40
|
+
- Updated README_ES.md with same badges
|
|
41
|
+
|
|
42
|
+
### Links
|
|
43
|
+
- **PyPI**: https://pypi.org/project/miesc/4.3.2/
|
|
44
|
+
- **GitHub Release**: https://github.com/fboiero/MIESC/releases/tag/v4.3.2
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## [4.2.1] - 2024-12-23
|
|
49
|
+
|
|
50
|
+
### Added
|
|
51
|
+
|
|
52
|
+
#### Scientific Benchmark Validation (SmartBugs Curated)
|
|
53
|
+
- **Comprehensive multi-tool benchmark** against SmartBugs Curated dataset (143 contracts)
|
|
54
|
+
- Benchmark runner script (`benchmarks/run_benchmark.py`) for reproducible validation
|
|
55
|
+
- Detailed results in `benchmarks/results/` JSON format
|
|
56
|
+
|
|
57
|
+
#### Benchmark Results Summary
|
|
58
|
+
| Tool | Layer | Recall | F1-Score | Notes |
|
|
59
|
+
|------|-------|--------|----------|-------|
|
|
60
|
+
| Slither | 1 | 84.3% | 80.0% | +27.3% vs SmartBugs 2020 paper |
|
|
61
|
+
| SmartBugsDetector | 2 | 100% | - | Pattern-based, no compilation |
|
|
62
|
+
| Mythril | 3 | - | - | 6 findings with SWC codes |
|
|
63
|
+
|
|
64
|
+
#### Per-Category Detection Rates (Slither)
|
|
65
|
+
- Unchecked low-level calls: 100%
|
|
66
|
+
- Front running: 100%
|
|
67
|
+
- Arithmetic overflow: 93.3%
|
|
68
|
+
- Bad randomness: 87.5%
|
|
69
|
+
- Access control: 86.7%
|
|
70
|
+
- Reentrancy: 73.3%
|
|
71
|
+
- Time manipulation: 60.0%
|
|
72
|
+
- Denial of service: 50.0%
|
|
73
|
+
|
|
74
|
+
#### New Adapters
|
|
75
|
+
- **SmartGuard Adapter** - ML-based vulnerability prediction
|
|
76
|
+
- **LLMBugScanner Adapter** - GPT-4o powered vulnerability detection
|
|
77
|
+
- **ZK Circuit Adapter** - Zero-knowledge proof circuit validation
|
|
78
|
+
- **CrossChain Adapter** - Bridge and cross-chain security analysis
|
|
79
|
+
|
|
80
|
+
#### Slither Adapter Improvements
|
|
81
|
+
- Legacy Solidity support (0.4.x - 0.5.x) with `--compile-force-framework solc`
|
|
82
|
+
- Automatic solc-select integration for version management
|
|
83
|
+
- Improved IR generation handling for complex legacy patterns
|
|
84
|
+
|
|
85
|
+
### Changed
|
|
86
|
+
- Updated version to 4.2.1
|
|
87
|
+
- Enhanced adapter error handling for legacy contracts
|
|
88
|
+
- Improved benchmark reproducibility with JSON result export
|
|
89
|
+
|
|
90
|
+
### Documentation
|
|
91
|
+
- Added benchmark methodology documentation
|
|
92
|
+
- Scientific comparison with literature (SmartBugs 2020, Empirical Review 2020)
|
|
93
|
+
- Multi-tool strategy recommendations
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## [4.1.0] - 2024-12-09
|
|
98
|
+
|
|
99
|
+
### Added
|
|
100
|
+
|
|
101
|
+
#### New Security Layers (post-thesis extension)
|
|
102
|
+
- **Layer 8: DeFi Security Analysis** - First open-source DeFi vulnerability detectors
|
|
103
|
+
- Flash loan attack detection (callback validation, repayment verification)
|
|
104
|
+
- Oracle manipulation detection (spot price vs TWAP)
|
|
105
|
+
- Sandwich attack detection (zero slippage, missing deadlines)
|
|
106
|
+
- MEV exposure analysis (liquidation front-running)
|
|
107
|
+
- Price manipulation detection (reserve ratio vulnerabilities)
|
|
108
|
+
|
|
109
|
+
- **Layer 9: Dependency Security Analysis** - Supply chain security
|
|
110
|
+
- OpenZeppelin CVE database integration (CVE-2022-35961, etc.)
|
|
111
|
+
- Vulnerable version detection with semantic versioning
|
|
112
|
+
- Dangerous pattern detection (tx.origin, selfdestruct, delegatecall, ecrecover)
|
|
113
|
+
- Third-party library vulnerability scanning (Uniswap, Compound)
|
|
114
|
+
|
|
115
|
+
#### API Enhancements
|
|
116
|
+
- SSE (Server-Sent Events) streaming endpoint `/mcp/stream/audit`
|
|
117
|
+
- DeFi-specific analysis endpoint `/mcp/defi/analyze`
|
|
118
|
+
- Real-time layer-by-layer progress updates
|
|
119
|
+
|
|
120
|
+
#### Scientific Validation
|
|
121
|
+
- **SmartBugs benchmark integration** (143 contracts, 207 vulnerabilities)
|
|
122
|
+
- 50.22% recall (outperforms individual tools)
|
|
123
|
+
- 87.5% recall on reentrancy vulnerabilities
|
|
124
|
+
- 89.3% recall on unchecked low-level calls
|
|
125
|
+
- Automated evaluation script with metrics calculation
|
|
126
|
+
- Scientific report generation for thesis
|
|
127
|
+
|
|
128
|
+
#### Performance Benchmarks
|
|
129
|
+
- Scalability benchmarks demonstrating 346 contracts/minute
|
|
130
|
+
- 3.53x parallel speedup with 4 workers
|
|
131
|
+
- Memory-efficient analysis (< 5 MB per contract)
|
|
132
|
+
|
|
133
|
+
### Changed
|
|
134
|
+
- Updated MCP REST API to version 4.1.0
|
|
135
|
+
- Improved Solidity version auto-detection for legacy contracts (0.4.x - 0.8.x)
|
|
136
|
+
- Enhanced error handling in tool adapters
|
|
137
|
+
- Architecture extended from 7 to 9 layers (Layers 8-9 are post-thesis work)
|
|
138
|
+
|
|
139
|
+
### Fixed
|
|
140
|
+
- Foundry.toml interference with Slither analysis on SmartBugs dataset
|
|
141
|
+
- Solc version selection for legacy contracts
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## [Unreleased]
|
|
146
|
+
|
|
147
|
+
### Added
|
|
148
|
+
- **DPGA Application Submitted** (December 5, 2025)
|
|
149
|
+
- Application ID: GID0092948
|
|
150
|
+
- Status: Under Review
|
|
151
|
+
- Contact: Bolaji Ayodeji (DPG Evangelist)
|
|
152
|
+
- Expected review period: 4-8 weeks
|
|
153
|
+
- Complete DPG compliance documentation package
|
|
154
|
+
- DPGA Application Responses CSV for reference
|
|
155
|
+
|
|
156
|
+
## [4.0.0] - 2025-01-14
|
|
157
|
+
|
|
158
|
+
### Added
|
|
159
|
+
- **PropertyGPT** (Layer 4 - Formal Verification): Automated CVL property generation
|
|
160
|
+
- 80% recall on ground-truth Certora properties
|
|
161
|
+
- Increases formal verification adoption from 5% to 40% (+700%)
|
|
162
|
+
- Based on NDSS 2025 paper (arXiv:2405.02580)
|
|
163
|
+
- **DA-GNN** (Layer 6 - ML Detection): Graph Neural Network-based vulnerability detection
|
|
164
|
+
- 95.7% accuracy with 4.3% false positive rate
|
|
165
|
+
- Control-flow + data-flow graph representation
|
|
166
|
+
- Based on Computer Networks (ScienceDirect, Feb 2024)
|
|
167
|
+
- **SmartLLM RAG + Verificator** (Layer 5 - AI Analysis): Enhanced AI-powered analysis
|
|
168
|
+
- Retrieval-Augmented Generation with ERC-20/721/1155 knowledge base
|
|
169
|
+
- Multi-stage pipeline: Generator → Verificator → Consensus
|
|
170
|
+
- Precision improved from 75% to 88% (+17%), FP rate reduced by 52%
|
|
171
|
+
- Based on arXiv:2502.13167 (Feb 2025)
|
|
172
|
+
- **DogeFuzz** (Layer 2 - Dynamic Testing): Coverage-guided fuzzer with hybrid execution
|
|
173
|
+
- AFL-style power scheduling algorithm
|
|
174
|
+
- 85% code coverage, 3x faster than Echidna
|
|
175
|
+
- Parallel execution with 4 workers
|
|
176
|
+
- Based on arXiv:2409.01788 (Sep 2024)
|
|
177
|
+
- Certora adapter (formal verification integration)
|
|
178
|
+
- Halmos adapter (symbolic testing for Foundry)
|
|
179
|
+
- DAG-NN adapter (graph neural network detection)
|
|
180
|
+
|
|
181
|
+
### Changed
|
|
182
|
+
- Increased tool count from 22 to 25 adapters (+13.6%)
|
|
183
|
+
- Precision: 89.47% → 94.5% (+5.03pp)
|
|
184
|
+
- Recall: 86.2% → 92.8% (+6.6pp)
|
|
185
|
+
- False Positive Rate: 10.53% → 5.5% (-48%)
|
|
186
|
+
- Detection Coverage: 85% → 96% (+11pp)
|
|
187
|
+
- Restructured repository to UNIX/OSS conventions
|
|
188
|
+
- Updated README with comprehensive "What's New in v4.0" section
|
|
189
|
+
- Improved scientific rigor in documentation
|
|
190
|
+
|
|
191
|
+
### Research Papers Integrated
|
|
192
|
+
- NDSS Symposium 2025: PropertyGPT for automated property generation
|
|
193
|
+
- Computer Networks 2024: DA-GNN for graph-based vulnerability detection
|
|
194
|
+
- arXiv 2025: SmartLLM with RAG and Verificator enhancements
|
|
195
|
+
- arXiv 2024: DogeFuzz coverage-guided fuzzing
|
|
196
|
+
|
|
197
|
+
## [3.5.0] - 2025-01-13
|
|
198
|
+
|
|
199
|
+
### Added
|
|
200
|
+
- OpenLLaMA local LLM integration for AI-assisted analysis
|
|
201
|
+
- Aderyn adapter (Rust-based static analyzer)
|
|
202
|
+
- Medusa adapter (coverage-guided fuzzer)
|
|
203
|
+
- AI enhancement for Layers 3-4 (symbolic execution, formal verification)
|
|
204
|
+
- SmartLLM, GPTScan, LLM-SmartAudit adapters
|
|
205
|
+
- SMTChecker adapter (built-in Solidity verification)
|
|
206
|
+
- Wake adapter (Python development framework)
|
|
207
|
+
- 117 unit and integration tests
|
|
208
|
+
- CI/CD workflow with automated tool installation
|
|
209
|
+
- Complete adapter documentation
|
|
210
|
+
|
|
211
|
+
### Changed
|
|
212
|
+
- Increased tool count from 15 to 17
|
|
213
|
+
- Improved test coverage to 87.5%
|
|
214
|
+
- Enhanced DPGA compliance (100% maintained)
|
|
215
|
+
|
|
216
|
+
## [3.4.0] - 2025-11-08
|
|
217
|
+
|
|
218
|
+
### Added
|
|
219
|
+
- Aderyn and Medusa adapters
|
|
220
|
+
- 17 security tool integrations
|
|
221
|
+
|
|
222
|
+
### Changed
|
|
223
|
+
- Test suite expanded to 117 tests
|
|
224
|
+
|
|
225
|
+
## [2.2.0] - 2024-10-XX
|
|
226
|
+
|
|
227
|
+
### Added
|
|
228
|
+
- 15 security tool integrations
|
|
229
|
+
- AI-assisted triage (GPT-4, Llama)
|
|
230
|
+
- PolicyAgent v2.2 (12 compliance standards)
|
|
231
|
+
- Model Context Protocol (MCP) architecture
|
|
232
|
+
- 30 regression tests
|
|
233
|
+
- Comprehensive documentation
|
|
234
|
+
|
|
235
|
+
## [2.1.0] - 2024-09-XX
|
|
236
|
+
|
|
237
|
+
### Added
|
|
238
|
+
- Multi-agent architecture
|
|
239
|
+
- Initial MCP integration
|
|
240
|
+
- Compliance mapping framework
|
|
241
|
+
|
|
242
|
+
## [2.0.0] - 2024-08-XX
|
|
243
|
+
|
|
244
|
+
### Added
|
|
245
|
+
- Complete framework rewrite
|
|
246
|
+
- 7-layer defense architecture
|
|
247
|
+
- Initial tool adapters (10)
|
|
248
|
+
|
|
249
|
+
## [1.0.0] - 2024-06-XX
|
|
250
|
+
|
|
251
|
+
### Added
|
|
252
|
+
- Initial proof-of-concept
|
|
253
|
+
- Basic Slither and Mythril integration
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
[Unreleased]: https://github.com/fboiero/MIESC/compare/v4.2.1...HEAD
|
|
258
|
+
[4.2.1]: https://github.com/fboiero/MIESC/compare/v4.1.0...v4.2.1
|
|
259
|
+
[4.1.0]: https://github.com/fboiero/MIESC/compare/v4.0.0...v4.1.0
|
|
260
|
+
[4.0.0]: https://github.com/fboiero/MIESC/compare/v3.5.0...v4.0.0
|
|
261
|
+
[3.5.0]: https://github.com/fboiero/MIESC/compare/v3.4.0...v3.5.0
|
|
262
|
+
[3.4.0]: https://github.com/fboiero/MIESC/compare/v2.2.0...v3.4.0
|
|
263
|
+
[2.2.0]: https://github.com/fboiero/MIESC/compare/v2.1.0...v2.2.0
|
|
264
|
+
[2.1.0]: https://github.com/fboiero/MIESC/compare/v2.0.0...v2.1.0
|
|
265
|
+
[2.0.0]: https://github.com/fboiero/MIESC/compare/v1.0.0...v2.0.0
|
|
266
|
+
[1.0.0]: https://github.com/fboiero/MIESC/releases/tag/v1.0.0
|