Skip to content

Lean Detector Pack: External Calls, Delegatecall, Array Growth, and Access Guards#421

Merged
mijinummi merged 1 commit into
MDTechLabs:mainfrom
nottherealalanturing:codex/minimal-security-rule-pack
May 30, 2026
Merged

Lean Detector Pack: External Calls, Delegatecall, Array Growth, and Access Guards#421
mijinummi merged 1 commit into
MDTechLabs:mainfrom
nottherealalanturing:codex/minimal-security-rule-pack

Conversation

@nottherealalanturing
Copy link
Copy Markdown
Contributor

Summary

This PR delivers the minimal detector set for the four assigned issues by extending the existing RulesService path used by the API scanner.

Added lightweight rules

  • repeated-external-calls
  • unsafe-delegatecall
  • large-storage-arrays
  • missing-access-modifiers

Implementation approach

  • Kept scope to a single file: apps/api-service/src/rules/rules.service.ts
  • Registered rules in the in-memory rule catalog
  • Added straightforward heuristic checks in runRule dispatch
  • Preserved current architecture and existing rule behavior

Notes

  • This is intentionally minimal and heuristic-based to satisfy immediate detection coverage with low code churn.

Closes #295
Closes #296
Closes #297
Closes #298

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 30, 2026

@nottherealalanturing Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@mijinummi mijinummi merged commit 8a63e7e into MDTechLabs:main May 30, 2026
2 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Detect Missing Access Modifiers Detect Large Storage Arrays Detect Unsafe Delegatecall Usage Detect Repeated External Calls

2 participants