
Research
/Security News
10 npm Typosquatted Packages Deploy Multi-Stage Credential Harvester
Socket researchers found 10 typosquatted npm packages that auto-run on install, show fake CAPTCHAs, fingerprint by IP, and deploy a credential stealer.
homebridge-nature-remo
Advanced tools
Nature Remo plugin for homebridge: https://github.com/nfarina/homebridge
Nature Remo plugin for homebridge: https://github.com/nfarina/homebridge
NatureRemoをSiriとHomekit(iOSのHomeアプリ)でコントロールするためのhomebridgeプラグインです。
このプラグインは以下の特徴があります。
例えば以下のユースケースの場合に便利です。
Homebridgeの仕様?で、アクセサリ操作は同期処理されるため、上記のようなシーンを実行する場合にSiriがタイムアウトしてしまいます。
([テレビをON]のすべてのコマンドが終了した後に[Blu-rayをON]のコマンドが開始されるため、複数コマンドを実行する場合にかなり時間がかかる)
__ ただいまシーンの例 __
| テレビをON | Blu-rayをON | エアコンをON |
|---|---|---|
| 電源ボタン | ||
| ↓5秒Delay | ||
| 入力切替ボタン | ||
| ↓3秒Delay | ||
| 下ボタン | ||
| ↓1秒Delay | ||
| 下ボタン | ||
| ↓1秒Delay | ||
| 決定ボタン | ||
| ↓1秒interval | ||
| 電源ボタン | ||
| ↓3秒Delay | ||
| 1ボタン | ||
| ↓1秒interval | ||
| 運転入ボタン | ||
| ↓2秒Delay | ||
| 運転入ボタン (1度で電源オンにならない場合があるので予備) |
17秒以上かかる

↑ タイムアウトするSiri
そのためコマンドを非同期に実行し、アクセサリ操作の結果をすぐさま返却することでタイムアウトを回避しています。
(ただし、SiriやHomekitにエラーを通知することができないので、エラーが発生した場合にオンオフの不整合が発生する可能性があります)
また、コマンドの実行タイミングを制御することで、コマンドのDelay中に、他アクセサリ操作のコマンドを実行することができるため、シーン全体の実行時間を短縮しています。
__ 非同期で処理した場合 __
| テレビをON | Blu-rayをON | エアコンをON |
|---|---|---|
| 電源ボタン | ||
| ↓5秒Delay | ↓1秒interval | |
| ↓ | 電源ボタン | |
| ↓ | ↓3秒Delay | ↓1秒interval |
| ↓ | ↓ | 運転入ボタン |
| 入力切替ボタン | ↓ | ↓2秒Delay |
| ↓3秒Delay | 1ボタン | ↓ |
| ↓ | 運転入ボタン (1度で電源オンにならない場合があるので予備) | |
| ↓ | ||
| 下ボタン | ||
| ↓1秒Delay | ||
| 下ボタン | ||
| ↓1秒Delay | ||
| 決定ボタン |
10秒くらいで終わる(はず)

↑ 表示上は一瞬で終わる
npm install homebridge-nature-remo -g
$ dns-sd -B _remo._tcp
dns-sd -B _remo._tcp
Browsing for _remo._tcp
DATE: ---Mon 26 Feb 2018---
23:17:46.880 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
23:17:47.087 Add 2 4 local. _remo._tcp. Remo-XXXX
$ dns-sd -G v4 Remo-XXXX.local
DATE: ---Mon 26 Feb 2018---
23:21:20.194 ...STARTING...
Timestamp A/R Flags if Hostname Address TTL
23:21:20.196 Add 2 4 Remo-XXXX.local. 192.168.X.X 120

$ curl -i "http://Remo-XXXX.local/messages" -H "X-Requested-With: curl"
HTTP/1.0 200 OK
Server: Remo/1.0.62-gabbf5bd
Content-Type: application/json
{"format":"us","freq":39,"data":[2360,634,1145,651,561,....]} // ← IRSignal
$ vim ~/.homebridge/config.json
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"description": "Nature Remo Control",
"accessories": [{
"accessory": "remo",
"name": "Blu-ray",
"host": "192.168.X.X",
"timeout": 2000,
"interval": 100,
"retryInterval": 500,
"retry": 4,
"command": {
"power": {
"format": "us",
"freq": 39,
"data": [2360, 634, 1145, 651, 561, ....]
},
"home": {
"format": "us",
"freq": 39,
"data": [2374, 635, 560, 638, 1143, ....]
},
"back": {
"format": "us",
"freq": 39,
"data": [2338, 652, 1162, 636, 1147, ....]
}
},
"on": ["home", { "delay": 1000, "command": "back" }],
"off": ["home", { "command": "power" }]
}]
}
Note: config.json sample
{
"accessory": "remo",
"name": "(DeviceName)",
"host": "(Address or Hostname)",
"timeout": (option millisec),
"interval": (option millisec),
"retryInterval": (option millisec),
"retry": (option number),
"command": {
"CommandName1": (Nature-Remo IRSignal),
"CommandName2": (Nature-Remo IRSignal),
"CommandName3": (Nature-Remo IRSignal),
...
},
// CommandName1 → commandName2 → commandName3
"on": [
"CommandName1", "CommandName3", "CommandName3"
],
// CommandName1 → delay → commandName2 → commandName3
"off": [
"CommandName1",
{
"delay": (option millisec),
"command": "CommandName2"
},
{
"command": "CommandName3"
}
]
}
FAQs
Nature Remo plugin for homebridge: https://github.com/nfarina/homebridge
We found that homebridge-nature-remo demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Socket researchers found 10 typosquatted npm packages that auto-run on install, show fake CAPTCHAs, fingerprint by IP, and deploy a credential stealer.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.