Install
openclaw skills install @pmuhammadagus-byte/android-network-auditUse when auditing Android/Termux network exposure, connectivity, proxies, listeners, and unsafe ports from the device.
openclaw skills install @pmuhammadagus-byte/android-network-auditSkill ini mengaudit eksposur jaringan Android/Termux dari dalam perangkat, bersifat read-only. Gunakan untuk memeriksa konektivitas, interface/IP, DNS, proxy, port yang mendengarkan, serta mengklasifikasikan risiko eksposur — terutama sebelum men-deploy service atau membagikan jaringan (tethering/hotspot).
Gunakan saat:
Jangan gunakan untuk:
Ikuti urutan di bawah. Hentikan & laporkan jika langkah gagal diverifikasi.
$PREFIX/$HOME mengandung com.termux) vs Android restricted vs unknown.ping -c1 -W3 host publik; jika gagal → NO_INTERNET, stop lanjut.ip addr (fallback ifconfig / /proc/net/fib_trie); catat interface UP, IP, VPN/tunnel./etc/resolv.conf, getprop net.dns1/2.env | grep -i proxy, getprop http_proxy/https_proxy (mask credential).ss -tulpen (fallback netstat / /proc/net/tcp+tcp6); waspadai 0.0.0.0/::.ping -c1 -W3 8.8.8.8 || ping -c1 -W3 1.1.1.1. Gagal → NO_INTERNET, beri recovery, stop.ip -o addr show; fallback /proc/net/fib_trie / route. Catat UP + IP + VPN./etc/resolv.conf + getprop net.dns1 net.dns2.env | grep -iE 'proxy' + getprop http_proxy https_proxy; mask user:pass@.ss -tulpen; fallback netstat -tulpen / /proc/net/tcp*; flag 0.0.0.0/::.LOW
127.0.0.1 / ::1 (localhost).MEDIUM
0.0.0.0 atau :: (ekspos ke semua interface).HIGH
IF $PREFIX atau $HOME mengandung "com.termux":
PLATFORM = TERMUX
FALLBACK_CHAIN = iproute2 > net-tools > termux-tools > /proc
ELSE IF Android non-Termux:
PLATFORM = ANDROID_RESTRICTED
FALLBACK_CHAIN = dumpsys > /proc (termux-tools tak tersedia)
ELSE:
PLATFORM = UNKNOWN
Di Termux, paket umum: net-tools, iproute2, termux-tools, procps. Jika absen → gunakan fallback yang ada, laporkan & sarankan pkg install <paket>. Di Android non-Termux, akses terminal terbatas → andalkan getprop / /proc.
Contoh 1
ss -tulpen | grep LISTEN → temukan 0.0.0.0:8080.0.0.0.0:8080 terekspos ke LAN; identifikasi proses (jika ada PID), sarankan bind ke 127.0.0.1 atau firewall.Contoh 2
ping timeout, tapi curl -sI https://example.com OK.Contoh 3
ping gagal padahal HTTP jalan; jangan klaim NO_INTERNET. Uji via curl/getprop.:::) → sering luput; perlakukan sama berisiko dengan 0.0.0.0./proc/net/tcp kosong; laporkan "proses tak teridentifikasi (butuh root)" bukan mengira tak ada.env kosong tapi getprop ada; cek keduanya.| Mode gagal | Penyebab | Respons |
|---|---|---|
ss/ip not found | paket tak terinstall | turun ke net-tools / /proc |
ping selalu timeout | ICMP diblokir | uji via curl/getprop, jangan klaim NO_INTERNET |
/proc/net/tcp tanpa nama proses | tanpa root | laporkan UNKNOWN owner |
| resolv.conf kosong | resolver diatur via prop | pakai getprop net.dns1/2 |
| Output ambigu | parsing gagal | validasi ulang, jangan asumsi |
| Mistake | Fix |
|---|---|
| Auditing tanpa konteks izin | Cek dulu apa ini device sendiri & scope read-only |
| Mengabaikan perbedaan localhost vs LAN | Laporkan keduanya — ekspos LAN adalah risiko nyata |
| Lupa memeriksa proxy | Cek env vars (http_proxy, HTTPS_PROXY, ALL_PROXY) + getprop |
| Hanya cek nomor port, bukan proses | Identifikasi pemilik (PID) setiap listener |
| Mengasumsikan root tersedia | Sebagian besar cek jalan tanpa root; catat yang butuh root |
| Menyimpulkan "aman" tanpa cek bind address | Verifikasi 0.0.0.0/:: vs 127.0.0.1/::1 |
:::).| Excuse | Reality |
|---|---|
| "Port-nya localhost saja" | Verifikasi bind address — 0.0.0.0 vs 127.0.0.1 |
| "Port utama sudah saya cek" | Audit SEMUA listener + proses, bukan sampel |
| "Cuma dev tool" | Dev tool tetap ekspos jaringan |
NETWORK AUDIT
Platform: TERMUX / ANDROID_RESTRICTED / UNKNOWN
Connectivity: OK / FAILED / NO_ICMP
DNS: <ringkasan>
Proxy: <aktif/tidak, host:port (masked)>
Interfaces: <ringkasan, sertakan VPN>
Listening Ports: <daftar port + bind address + risiko>
Exposure Risk: LOW / MEDIUM / HIGH
Recommendation: <tindakan yang disarankan>
pkg install, fallback /proc.user:pass@).Sebelum menyatakan audit selesai: semua poin VERIFICATION CHECKLIST terpenuhi, tidak ada asumsi tak terverifikasi, laporan read-only.
Target ≥ 90 untuk production-ready. Evaluasi: audit lengkap tanpa bagian terlewat? fallback jalan saat tool hilang? output mudah dipahami? risiko eksposur jelas? tidak ada asumsi Linux desktop? Jika < 90: perbaiki skill sebelum siap.
Audit harus aman, read-only, dan tidak mengubah sistem. Jika ragu, laporkan sebagai WARNING, bukan menyelesaikan dengan asumsi.
scripts/audit_net.sh — audit eksposur jaringan read-only (konektivitas, interface/IP, DNS, proxy masked, listening ports, risk classification). Tidak pernah mengubah sistem. Contoh:
bash scripts/audit_net.sh atau bash scripts/audit_net.sh --json