Skip to content

Releases: imal1ice/ownerwatch

v0.7.6

Choose a tag to compare

@imal1ice imal1ice released this 21 Oct 13:57
  • probe: factory-stored proxy admins (Solady ERC1967Factory and forks) are resolved via adminOf(proxy) instead of falling back to owner()
  • probe: recognises Solady Timelock and custom Ownable delay() timelocks
  • probe: findings name the link they concern (upgrade admin, owner, admin)

v0.7.5

Choose a tag to compare

@imal1ice imal1ice released this 21 Oct 08:59
  • Aave Governance V3 PayloadsController: PayloadCreated with every action decoded, PayloadQueued, PayloadExecuted, PayloadCancelled, ExecutorSet, GuardianUpdated

v0.7.4

Choose a tag to compare

@imal1ice imal1ice released this 21 Oct 08:37

v0.7.3

Choose a tag to compare

@imal1ice imal1ice released this 20 Oct 11:35
  • probe --config honours --rpc (single-chain configs) and a new per-chain probe_rpc_url, and exits cleanly when the RPC rejects eth_call; examples carry probe_rpc_url so the drift check works out of the box
  • probe: role replay no longer duplicates the "DEFAULT_ADMIN_ROLE held by EOA" finding

v0.7.2

Choose a tag to compare

@imal1ice imal1ice released this 15 Oct 10:53
  • probe --roles-from-logs works on free RPCs: the scan starts at the contract's creation block (Sourcify, else a code binary search), uses a public full-history log gateway per chain (Ethereum, Optimism, Arbitrum, Gnosis, Polygon; Base is range-limited) or --logs-rpc, splits ranges adaptively and remembers the working chunk size, and names roles from the verified ABI's bytes32 getters

v0.7.1

Choose a tag to compare

@imal1ice imal1ice released this 15 Oct 10:21
  • Decoded arguments format structs and bytes readably and clip long lists; calls on proxies decode via the implementation's verified ABI (Safe singletons included); Safe service timeouts are retried
  • Fix: a Safe added to an existing config had its whole pending backlog alerted as new; seeding is now per Safe
  • daily_digest: once-a-day summary of alerts by severity, so quiet and alive are distinguishable in the channel

Soaked 3h on mainnet + Base + Optimism + Arbitrum with a live GnosisDAO Safe queue: 145 alerts, 4 transient RPC/Safe-API timeouts, no errors.

ownerwatch v0.7.0

Choose a tag to compare

@imal1ice imal1ice released this 14 Oct 14:08
  • Governor proposal alerts decode every action (target + call), including GovernorBravo signature-style calldata; legacy Timelock queues decoded too
  • Safe execution events, including module executions that bypass the signer queue (69 events)
  • probe --config for periodic reports, probe --json
  • Discord alerts as severity-coloured embeds
  • examples/github-action-drift.yml: weekly admin-surface drift check for your own repo
  • docs/what-to-watch.md: the control-graph model behind the catalog
pip install git+https://github.com/imal1ice/ownerwatch@v0.7.0

ownerwatch v0.6.0

Choose a tag to compare

@imal1ice imal1ice released this 14 Oct 13:00
  • Aave V3, Morpho Blue, MetaMorpho and Lido core events (65 admin events in the catalog)
  • Subscriptions contract hardened after review: maxCost slippage guard, per-chain pricing, two-step ownership, safe token calls, checks-effects-interactions
  • Watcher: fetch-then-dispatch scanning with a request budget, decode errors never stall the cursor, Safe queue pagination and first-run suppression that survives a failed poll
  • Hosted runner: atomic start/halt, paid chain count enforced and refreshed
  • Slack sink, per-sink message limits, independent sink failures, heartbeat_url dead-man's switch
  • ownerwatch validate, docs/sample-alerts.md from real mainnet history, docs/hosted.md, PyPI trusted-publishing workflow
pip install git+https://github.com/imal1ice/ownerwatch@v0.6.0

ownerwatch v0.5.0

Choose a tag to compare

@imal1ice imal1ice released this 14 Oct 12:19
  • ownerwatch probe: AccessControl role detection batched through Multicall3, --roles-from-logs replay, open-executor detection, --markdown admin-surface report
  • ownerwatch hosted: runs a watcher for every address with an active on-chain subscription
  • ownerwatch test-alert
  • Sourcify-verified calldata decoding in timelock and Safe-queue alerts; explorer links; backoff on rate limits
  • SECURITY, CONTRIBUTING, CHANGELOG, issue templates
pip install git+https://github.com/imal1ice/ownerwatch@v0.5.0

ownerwatch v0.4.0

Choose a tag to compare

@imal1ice imal1ice released this 14 Oct 11:27
  • ownerwatch probe: walks the owner/admin/proxy chain of any address, classifies EOAs, Safes (threshold), timelocks (delay) and proxies, flags risky setups, prints a ready config
  • Governor (OpenZeppelin + GovernorBravo) and Aragon OS events; catalog now 42 admin events
  • Several chains in one process via chains:
  • docker compose up -d and a hardened systemd unit
pip install git+https://github.com/imal1ice/ownerwatch@v0.4.0