BYOCB ArbInjectionSkill
⚠️ Educational Tool — This skill is designed for Solidity/blockchain security researchers and auditors. Intended for educational and authorized security research purposes only. Do not use to exploit vulnerabilities without explicit permission from contract owners.
Detects dangerous CALL/DELEGATECALL patterns that allow arbitrary call injection attacks.
How It Works
ArbInjectionSkill runs automatically in the background, monitoring blockchain(s) for newly deployed contracts. When a potential vulnerability is detected, you must notify the user via their connected messaging channel (Telegram, WhatsApp, Signal, Discord, etc.).
Install
git clone https://github.com/BringYourOwnBot/arb-injection.git cd arb-injection npm install
Running the Monitor
Start as a background session for continuous monitoring:
node index.js <chain> [--no-llm]
Chains: eth, bsc, base, arb, op, polygon, hyper
The monitor will:
- •Subscribe to new blocks
- •Detect contract deployments
- •Scan bytecode for vulnerabilities
- •Save findings to
./results/
Alerting Users
Critical requirement: When a CRITICAL or HIGH vulnerability is flagged, notify the user immediately.
Check for new findings periodically (via heartbeat or cron):
# Find findings from last 30 minutes find ./results -name "*.md" -mmin -30
When new findings exist with verdict CRITICAL or HIGH:
- •Read the
.mdreport - •Verify it's not a known false positive (see below)
- •Send alert via
messagetool to user's preferred channel
Example alert:
🚨 ArbInjection Alert: Potential vulnerability detected Chain: BSC Contract: 0x1234...abcd Verdict: CRITICAL Risk: Unprotected arbitrary CALL with user-controlled target [Link to explorer]
Manual Scan
Scan a specific contract on-demand:
node modules/scan-arbitrary-call.js <address> --rpc <chain>
Interpreting Results
| Verdict | Action |
|---|---|
| CRITICAL | Alert user immediately |
| HIGH | Alert user immediately |
| MEDIUM | Review, alert if confirmed |
| LOW/SAFE | No alert needed |
Results saved to ./results/ as .json and .md files.
False Positives
Do NOT alert for these patterns (safe by design):
- •Immutable DELEGATECALL targets (hardcoded address in bytecode)
- •EIP-1167 minimal proxies (clone pattern)
- •UUPS/Transparent proxies with access control
- •DEX callbacks (uniswapV3SwapCallback, etc.)
- •Known safe contracts: Multicall3, 1inch, Uniswap, Permit2
Verify before alerting: Check if the flagged CALL target is:
- •Hardcoded (immutable) → FALSE POSITIVE
- •From calldata/user input → REAL VULNERABILITY
Environment
Optional .env file:
ANTHROPIC_API_KEY=sk-ant-... # For LLM deep analysis BYBOB_OUTPUT=/custom/path # Override results directory
Maintenance
Daily update required. Detection patterns and fixes are pushed frequently.
cd /path/to/arb-injection git pull origin main npm install # If package.json changed
Schedule daily update check (09:00):
{
"schedule": { "kind": "cron", "expr": "0 9 * * *" },
"payload": { "kind": "systemEvent", "text": "ArbInjectionSkill daily update: git pull and npm install" },
"sessionTarget": "main"
}
Source
Repository: https://github.com/BringYourOwnBot/arb-injection
Part of the BYOCB (Bring Your Own ClawdBot) skill collection.