Safe modules can execute transactions without the normal owner-signature path, while guards can block execution. Installing either changes the account's real security boundary.
Deploy a two-owner Safe with an allowance module and a no-delegatecall guard, produce the authority graph, demonstrate the module bypassing the owner threshold, then swap in a guard that rejects everything and exercise the documented recovery path.
Why
"Modular wallet" sounds like application extensibility, but wallet extensions act on assets. The useful deliverable is an authority graph and uninstall/recovery test, not a plugin gallery.
Safe modules extend account behavior and can execute transactions through a path other than the normal owner threshold. Guards inspect transactions and can reject them. Both therefore alter the account's effective authority.
How it works
Deploy one allowance module and one guard, enumerate every reachable call, demonstrate a module bypassing the normal threshold, then test the recovery path from a guard that rejects everything.
PoC
Deploy a Safe with a two-owner threshold, an allowance module, and a no-delegatecall guard. Produce an authority graph, demonstrate the module execution path, enumerate the calls the guard does and does not inspect, then replace the guard with one that always reverts and exercise the documented recovery path.
What it proves
Auditing the Safe core is insufficient once extensions are installed. A module can move assets; a guard can freeze ordinary execution. Installation review must include callable authority, upgradeability, uninstall permissions, and recovery under failure.
Safe 모듈은 일반 소유자 서명 경로 없이 트랜잭션을 실행할 수 있고, 가드는 실행을 막을 수 있습니다. 어느 쪽이든 설치하는 순간 계정의 실제 보안 경계가 바뀝니다.
소유자 두 명의 Safe 에 allowance 모듈과 no-delegatecall 가드를 배포하고, 권한 그래프를 만들고, 모듈이 소유자 임계값을 우회하는 것을 시연합니다. 그다음 모든 호출을 거절하는 가드로 교체하고 문서화된 복구 경로를 실행합니다.
왜
"모듈러 지갑"은 애플리케이션 확장성처럼 들리지만, 지갑 확장은 자산에 작용합니다. 유용한 산출물은 플러그인 갤러리가 아니라 권한 그래프와 제거/복구 테스트입니다.
Safe 모듈은 계정 동작을 확장하고 일반 소유자 임계값과 다른 경로로 트랜잭션을 실행할 수 있습니다. 가드는 트랜잭션을 검사하고 거절할 수 있습니다. 따라서 둘 다 계정의 실질 권한을 바꿉니다.
동작 방식
allowance 모듈 하나와 가드 하나를 배포하고, 도달 가능한 모든 호출을 열거하고, 모듈이 일반 임계값을 우회하는 것을 시연한 뒤, 모든 것을 거절하는 가드로부터의 복구 경로를 시험합니다.
PoC
소유자 두 명의 임계값을 가진 Safe 에 allowance 모듈과 no-delegatecall 가드를 배포합니다. 권한 그래프를 만들고, 모듈 실행 경로를 시연하며, 가드가 검사하는 호출과 검사하지 않는 호출을 열거합니다. 이후 모든 호출을 revert 하는 가드로 교체하고 문서화된 복구 경로를 실행합니다.
무엇을 증명하나
확장이 설치된 뒤에는 Safe 코어 감사만으로 충분하지 않습니다. 모듈은 자산을 옮길 수 있고 가드는 일반 실행을 동결할 수 있습니다. 설치 검토에는 호출 권한, 업그레이드 가능성, 제거 권한, 장애 시 복구가 포함되어야 합니다.