{
  "intelligence": {
    "actors": [],
    "attack_details": {
      "coverage": "source-limited",
      "registry_sha256": "fcfcec857d32a0013dfbccf47de99e0fda93d7ba8efa90122e98f3d6111b89af",
      "schema_version": 1,
      "source_paragraphs": 45,
      "sources": [
        {
          "document_sha256": "d56b9f00edd77d323bf6e16dcd39a3bc031d958c5e1198a71e863931b7adcf1e",
          "name": "socket.dev",
          "retrieved_at": "2026-10-20T00:40:41.764064+00:00",
          "role": "primary",
          "source_id": "primary",
          "url": "https://socket.dev/blog/tensorlake-compromise"
        }
      ],
      "steps": [
        {
          "date": "",
          "relation": "incident-step",
          "source_id": "primary",
          "text": "Tensorlake npm SDK version 0.5.144 a été compromis dans une attaque ChainDrop / Shai-Hulud, livrant un logiciel malveillant volant des identifiants."
        },
        {
          "date": "",
          "relation": "incident-step",
          "source_id": "primary",
          "text": "Un loader setup.mjs a exécuté un payload Math_Symbol.js obfusqué, et des identifiants de publication volés ont permis au ver de se propager à d’autres paquets."
        }
      ]
    },
    "counts": {
      "actors": 0,
      "associated_entity_contexts": 0,
      "deduplicated_iocs": 2,
      "direct_entities": 5,
      "direct_relationships": 2,
      "invalid_iocs": 0,
      "iocs": 2,
      "mentioned": 1,
      "mitre_associated": 0,
      "mitre_direct": 0,
      "targets": 0,
      "techniques": 0,
      "unsupported_indicators": 0,
      "vulnerabilities": 0
    },
    "coverage": {
      "associated_repertoire_is_incident_evidence": false,
      "attribution_policy": "explicit-public-relationships-only",
      "descriptions_publicly_exported": false,
      "excluded_context_objects": 0,
      "excluded_graph_objects": 60,
      "graph_complete": true,
      "graph_objects": 5,
      "graph_relationships": 2,
      "mitre_context_complete": true,
      "source_url": "https://socket.dev/blog/tensorlake-compromise",
      "status_as_of": "2026-10-20T00:40:16+00:00",
      "table_preview_limit": 20
    },
    "direct_entities": [
      {
        "__typename": "StixFile",
        "aliases": [],
        "attributes": {},
        "authorized_members": [],
        "confidence": null,
        "created_by": null,
        "dates": {
          "created_at": "2026-10-08T08:43:56.014Z",
          "updated_at": "2026-10-09T01:20:02.690Z"
        },
        "description_available": false,
        "entity_type": "StixFile",
        "id": "09c45fc8-e8dd-4a4e-96f7-d63c5dd1f522",
        "is_inferred": false,
        "labels": [
          "ai infrastructure",
          "chaindrop",
          "credential theft",
          "npm compromise",
          "persistence mechanism",
          "shai-hulud",
          "supply chain attack",
          "worm"
        ],
        "lang": null,
        "name": null,
        "objectMarking": [
          {
            "definition": "TLP:CLEAR",
            "definition_type": "TLP"
          }
        ],
        "objectOrganization": [],
        "references": [],
        "restrict_access": false,
        "revoked": false,
        "scope": "report",
        "source_url": "https://socket.dev/blog/tensorlake-compromise",
        "standard_id": "file--a72e14ae-4d63-54d1-b53b-9392bc78731b",
        "type": "StixFile"
      },
      {
        "__typename": "Sector",
        "aliases": [
          "Bitcoin",
          "Crypto",
          "Cryptocurrency",
          "Currency Exchange",
          "IT",
          "Information Security",
          "Software Development",
          "Technology",
          "Virtual Currency",
          "Vulnerability Research",
          "software"
        ],
        "attributes": {},
        "authorized_members": [],
        "confidence": 100,
        "created_by": {
          "authorized_members": [],
          "id": "efbfcf33-f10e-4a90-9ed4-e4de602fb038",
          "is_inferred": false,
          "name": "Filigran",
          "objectMarking": [
            {
              "definition": "TLP:CLEAR",
              "definition_type": "TLP"
            }
          ],
          "objectOrganization": [],
          "restrict_access": false,
          "type": "Organization"
        },
        "dates": {
          "created": "2023-11-19T00:56:33.394Z",
          "created_at": "2026-01-18T14:35:11.762Z",
          "modified": "2026-03-09T09:41:22.635Z",
          "updated_at": "2026-03-09T09:41:22.635Z"
        },
        "description_available": true,
        "entity_type": "Sector",
        "id": "25243a50-06ec-4c1b-8fb2-6a96793e8404",
        "is_inferred": false,
        "labels": [],
        "lang": "en",
        "name": "Technologies",
        "objectMarking": [
          {
            "definition": "TLP:CLEAR",
            "definition_type": "TLP"
          }
        ],
        "objectOrganization": [],
        "references": [],
        "restrict_access": false,
        "revoked": false,
        "scope": "report",
        "source_url": "https://socket.dev/blog/tensorlake-compromise",
        "standard_id": "identity--dcacaabc-1244-51fd-8e75-59f4a6fe0aad",
        "type": "Sector"
      },
      {
        "__typename": "Indicator",
        "aliases": [],
        "attributes": {
          "indicator_types": [
            "sha256"
          ],
          "pattern_type": "stix",
          "pattern_version": "2.1",
          "x_opencti_detection": false,
          "x_opencti_main_observable_type": "StixFile",
          "x_opencti_score": 50
        },
        "authorized_members": [],
        "confidence": 50,
        "created_by": null,
        "dates": {
          "created": "2026-10-08T08:27:40.277Z",
          "created_at": "2026-10-08T08:44:00.222Z",
          "modified": "2026-10-09T01:20:05.816Z",
          "updated_at": "2026-10-09T01:20:05.816Z"
        },
        "description_available": false,
        "entity_type": "Indicator",
        "id": "58e68c4d-e6e3-4176-b57c-77788c1addef",
        "is_inferred": false,
        "labels": [
          "ai infrastructure",
          "chaindrop",
          "credential theft",
          "npm compromise",
          "persistence mechanism",
          "shai-hulud",
          "supply chain attack",
          "worm"
        ],
        "lang": "en",
        "name": null,
        "objectMarking": [
          {
            "definition": "TLP:CLEAR",
            "definition_type": "TLP"
          }
        ],
        "objectOrganization": [],
        "references": [
          {
            "external_id": null,
            "id": "f9c83a93-bf97-4fff-90e9-911f8830ebca",
            "source_name": "ThreatFox source reference",
            "url": "https://threatcluster.io/cluster/tensorlake-npm-package-compromised-by-shai-hulud-worm-39f29981"
          }
        ],
        "restrict_access": false,
        "revoked": false,
        "scope": "report",
        "source_url": "https://socket.dev/blog/tensorlake-compromise",
        "standard_id": "indicator--4c991d96-b074-54a6-8dad-fc5c1f4ca05d",
        "type": "Indicator"
      },
      {
        "__typename": "Indicator",
        "aliases": [],
        "attributes": {
          "indicator_types": [
            "sha256"
          ],
          "pattern_type": "stix",
          "pattern_version": "2.1",
          "x_opencti_detection": false,
          "x_opencti_main_observable_type": "StixFile",
          "x_opencti_score": 50
        },
        "authorized_members": [],
        "confidence": 50,
        "created_by": null,
        "dates": {
          "created": "2026-10-08T08:27:40.280Z",
          "created_at": "2026-10-08T08:44:00.671Z",
          "modified": "2026-10-09T01:20:07.830Z",
          "updated_at": "2026-10-09T01:20:07.830Z"
        },
        "description_available": false,
        "entity_type": "Indicator",
        "id": "7dfb3416-df03-4a06-bb48-efddc5540ca9",
        "is_inferred": false,
        "labels": [
          "ai infrastructure",
          "chaindrop",
          "credential theft",
          "npm compromise",
          "persistence mechanism",
          "shai-hulud",
          "supply chain attack",
          "worm"
        ],
        "lang": "en",
        "name": null,
        "objectMarking": [
          {
            "definition": "TLP:CLEAR",
            "definition_type": "TLP"
          }
        ],
        "objectOrganization": [],
        "references": [
          {
            "external_id": null,
            "id": "f9c83a93-bf97-4fff-90e9-911f8830ebca",
            "source_name": "ThreatFox source reference",
            "url": "https://threatcluster.io/cluster/tensorlake-npm-package-compromised-by-shai-hulud-worm-39f29981"
          }
        ],
        "restrict_access": false,
        "revoked": false,
        "scope": "report",
        "source_url": "https://socket.dev/blog/tensorlake-compromise",
        "standard_id": "indicator--4b20c18a-390e-5c7d-93f7-d45d1170774f",
        "type": "Indicator"
      },
      {
        "__typename": "StixFile",
        "aliases": [],
        "attributes": {},
        "authorized_members": [],
        "confidence": null,
        "created_by": null,
        "dates": {
          "created_at": "2026-10-08T08:43:56.020Z",
          "updated_at": "2026-10-09T01:20:04.929Z"
        },
        "description_available": false,
        "entity_type": "StixFile",
        "id": "a2dde5e5-50a9-4134-844a-1a5e88696589",
        "is_inferred": false,
        "labels": [
          "ai infrastructure",
          "chaindrop",
          "credential theft",
          "npm compromise",
          "persistence mechanism",
          "shai-hulud",
          "supply chain attack",
          "worm"
        ],
        "lang": null,
        "name": null,
        "objectMarking": [
          {
            "definition": "TLP:CLEAR",
            "definition_type": "TLP"
          }
        ],
        "objectOrganization": [],
        "references": [],
        "restrict_access": false,
        "revoked": false,
        "scope": "report",
        "source_url": "https://socket.dev/blog/tensorlake-compromise",
        "standard_id": "file--4131befd-8c09-5ff2-853d-b2b28ac9a7fc",
        "type": "StixFile"
      }
    ],
    "direct_relationships": [
      {
        "__typename": "StixCoreRelationship",
        "authorized_members": [],
        "confidence": 50,
        "created_by": null,
        "dates": {
          "created": "2026-10-08T08:27:40.281Z",
          "created_at": "2026-10-08T08:44:04.400Z",
          "modified": "2026-10-09T03:04:07.246Z",
          "start_time": "1970-01-01T00:00:00.000Z",
          "stop_time": "5138-11-16T09:46:40.000Z",
          "updated_at": "2026-10-09T03:04:07.246Z"
        },
        "description_available": false,
        "entity_type": "based-on",
        "fromId": "7dfb3416-df03-4a06-bb48-efddc5540ca9",
        "from_id": "7dfb3416-df03-4a06-bb48-efddc5540ca9",
        "from_name": null,
        "from_type": "Indicator",
        "id": "8531f422-aa48-4986-81e0-8550af174bbf",
        "is_inferred": false,
        "objectMarking": [
          {
            "definition": "TLP:CLEAR",
            "definition_type": "TLP"
          }
        ],
        "objectOrganization": [],
        "references": [],
        "relationship_type": "based-on",
        "restrict_access": false,
        "revoked": false,
        "scope": "report",
        "source_url": "https://socket.dev/blog/tensorlake-compromise",
        "standard_id": "relationship--cc7dc8cf-ae1b-596e-a404-23a43cb799d8",
        "toId": "a2dde5e5-50a9-4134-844a-1a5e88696589",
        "to_id": "a2dde5e5-50a9-4134-844a-1a5e88696589",
        "to_name": null,
        "to_type": "StixFile"
      },
      {
        "__typename": "StixCoreRelationship",
        "authorized_members": [],
        "confidence": 50,
        "created_by": null,
        "dates": {
          "created": "2026-10-08T08:27:40.279Z",
          "created_at": "2026-10-08T08:44:01.015Z",
          "modified": "2026-10-09T03:04:05.889Z",
          "start_time": "1970-01-01T00:00:00.000Z",
          "stop_time": "5138-11-16T09:46:40.000Z",
          "updated_at": "2026-10-09T03:04:05.889Z"
        },
        "description_available": false,
        "entity_type": "based-on",
        "fromId": "58e68c4d-e6e3-4176-b57c-77788c1addef",
        "from_id": "58e68c4d-e6e3-4176-b57c-77788c1addef",
        "from_name": null,
        "from_type": "Indicator",
        "id": "aa971da6-3007-44b8-819b-45307bffc0bb",
        "is_inferred": false,
        "objectMarking": [
          {
            "definition": "TLP:CLEAR",
            "definition_type": "TLP"
          }
        ],
        "objectOrganization": [],
        "references": [],
        "relationship_type": "based-on",
        "restrict_access": false,
        "revoked": false,
        "scope": "report",
        "source_url": "https://socket.dev/blog/tensorlake-compromise",
        "standard_id": "relationship--a2527084-4b0e-560c-b325-50c06b08e9ba",
        "toId": "09c45fc8-e8dd-4a4e-96f7-d63c5dd1f522",
        "to_id": "09c45fc8-e8dd-4a4e-96f7-d63c5dd1f522",
        "to_name": null,
        "to_type": "StixFile"
      }
    ],
    "iocs": [
      {
        "classification": "indicator",
        "confidence": 50,
        "context": "Objet Indicator explicitement associé au rapport source.",
        "defanged": "25a0735d0db7dc40e5d45ce42d9c106067e6a66e184d967cfecfab17c3bcb5ef",
        "description_available": false,
        "object_id": "58e68c4d-e6e3-4176-b57c-77788c1addef",
        "object_ids": [
          "09c45fc8-e8dd-4a4e-96f7-d63c5dd1f522",
          "58e68c4d-e6e3-4176-b57c-77788c1addef"
        ],
        "source_objects": [
          {
            "classification": "indicator",
            "confidence": 50,
            "context": "Objet Indicator explicitement associé au rapport source.",
            "object_id": "58e68c4d-e6e3-4176-b57c-77788c1addef",
            "valid_from": "2026-10-08T07:08:16.000Z",
            "valid_until": "2027-07-25T18:18:00.557Z",
            "validity_status": "active",
            "value": "25a0735d0db7dc40e5d45ce42d9c106067e6a66e184d967cfecfab17c3bcb5ef"
          },
          {
            "classification": "observable",
            "confidence": null,
            "context": "Objet StixFile explicitement associé au rapport source.",
            "object_id": "09c45fc8-e8dd-4a4e-96f7-d63c5dd1f522",
            "valid_from": null,
            "valid_until": null,
            "validity_status": "undated",
            "value": "25a0735d0db7dc40e5d45ce42d9c106067e6a66e184d967cfecfab17c3bcb5ef"
          }
        ],
        "source_url": "https://socket.dev/blog/tensorlake-compromise",
        "type": "sha256",
        "valid_from": "2026-10-08T07:08:16.000Z",
        "valid_until": "2027-07-25T18:18:00.557Z",
        "validity_status": "active",
        "value": "25a0735d0db7dc40e5d45ce42d9c106067e6a66e184d967cfecfab17c3bcb5ef"
      },
      {
        "classification": "indicator",
        "confidence": 50,
        "context": "Objet Indicator explicitement associé au rapport source.",
        "defanged": "b50a00900399ba99fb6ce1fc151519cb99d44320ef2a631f2237e1aea0ad6fec",
        "description_available": false,
        "object_id": "7dfb3416-df03-4a06-bb48-efddc5540ca9",
        "object_ids": [
          "7dfb3416-df03-4a06-bb48-efddc5540ca9",
          "a2dde5e5-50a9-4134-844a-1a5e88696589"
        ],
        "source_objects": [
          {
            "classification": "indicator",
            "confidence": 50,
            "context": "Objet Indicator explicitement associé au rapport source.",
            "object_id": "7dfb3416-df03-4a06-bb48-efddc5540ca9",
            "valid_from": "2026-10-08T07:08:16.000Z",
            "valid_until": "2027-07-25T18:18:00.557Z",
            "validity_status": "active",
            "value": "b50a00900399ba99fb6ce1fc151519cb99d44320ef2a631f2237e1aea0ad6fec"
          },
          {
            "classification": "observable",
            "confidence": null,
            "context": "Objet StixFile explicitement associé au rapport source.",
            "object_id": "a2dde5e5-50a9-4134-844a-1a5e88696589",
            "valid_from": null,
            "valid_until": null,
            "validity_status": "undated",
            "value": "b50a00900399ba99fb6ce1fc151519cb99d44320ef2a631f2237e1aea0ad6fec"
          }
        ],
        "source_url": "https://socket.dev/blog/tensorlake-compromise",
        "type": "sha256",
        "valid_from": "2026-10-08T07:08:16.000Z",
        "valid_until": "2027-07-25T18:18:00.557Z",
        "validity_status": "active",
        "value": "b50a00900399ba99fb6ce1fc151519cb99d44320ef2a631f2237e1aea0ad6fec"
      }
    ],
    "mentioned": [
      {
        "confidence": 100,
        "evidence_id": "25243a50-06ec-4c1b-8fb2-6a96793e8404",
        "name": "Technologies",
        "role": "mentionné",
        "type": "Sector"
      }
    ],
    "mitre": {
      "associated_repertoire": [],
      "direct_techniques": []
    },
    "report_metadata": {
      "authorized_members": [],
      "confidence": 50,
      "created_by": null,
      "dates": {
        "created": "2026-10-08T07:08:15.285Z",
        "created_at": "2026-10-08T08:45:50.502Z",
        "modified": "2026-10-08T08:45:54.416Z",
        "published": "2026-10-08T07:08:15.285Z",
        "updated_at": "2026-10-08T08:45:54.416Z"
      },
      "description_available": true,
      "id": "e1b2dfad-5dd6-4690-b034-cbae43ada819",
      "is_inferred": false,
      "labels": [
        "ai infrastructure",
        "chaindrop",
        "credential theft",
        "npm compromise",
        "persistence mechanism",
        "shai-hulud",
        "supply chain attack",
        "worm"
      ],
      "lang": "en",
      "name": "TensorLake npm SDK Compromised in ChainDrop Shai-Hulud Credential-Stealing Attack",
      "objectMarking": [
        {
          "definition": "TLP:CLEAR",
          "definition_type": "TLP"
        }
      ],
      "objectOrganization": [],
      "published": "2026-10-08T07:08:15.285Z",
      "references": [
        {
          "external_id": null,
          "id": "c2d882ce-1913-4a9d-873d-6d1b63714488",
          "source_name": "alien-vault",
          "url": "https://socket.dev/blog/tensorlake-compromise"
        },
        {
          "external_id": "6ac7415f2754c1b2193c9737",
          "id": "53a4d3cd-d0d1-4e68-8c55-6fd939de0fb4",
          "source_name": "alien-vault",
          "url": "https://otx.alienvault.com/pulse/6ac7415f2754c1b2193c9737"
        }
      ],
      "report_types": [
        "threat-report"
      ],
      "restrict_access": false,
      "source_url": "https://socket.dev/blog/tensorlake-compromise"
    },
    "targets": [],
    "techniques": [],
    "vulnerabilities": []
  },
  "report_id": "e1b2dfad-5dd6-4690-b034-cbae43ada819",
  "schema_version": 1,
  "selected_date": "2026-10-08",
  "source_url": "https://socket.dev/blog/tensorlake-compromise"
}
