MAL-2026-2210Malicious code in @opengov/form-builder (npm)
| Ecosystem | Package | Version |
|---|---|---|
| npm | @opengov/form-builder | 0.12.3 |
{"modified":"2026-03-31T03:12:00Z","published":"2026-03-26T00:33:27Z","schema_version":"1.7.4","id":"MAL-2026-2210","summary":"Malicious code in @opengov/form-builder (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (19bbc2729962e719c0df5dd96e17dd7ceb90a0a5506ebb318cc50c19b6fe8bb8)\nThe package @opengov/form-builder was found to contain malicious code.\n\n## Source: google-open-source-security (6dc5a2428a8b5ce0761da68e9d844924839e8681b388bdd1b8ceea88237e4cfc)\nThis package was compromised by the CanisterWorm campaign by the TeamPCP\nthreat actor. The malicious payload establishes persistence as user systemd\nservice and places a backdoor on the infected host. The malware will also\nharvest npm credentials and can autonomously spread.\n","affected":[{"package":{"ecosystem":"npm","name":"@opengov/form-builder"},"versions":["0.12.3"]}],"references":[{"type":"WEB","url":"https://socket.dev/blog/canisterworm-npm-publisher-compromise-deploys-backdoor-across-29-packages"},{"type":"WEB","url":"https://research.jfrog.com/post/canister-worm/"},{"type":"WEB","url":"https://www.endorlabs.com/learn/canisterworm"}],"credits":[{"name":"Amazon Inspector","type":"FINDER","contact":["actran@amazon.com"]}],"database_specific":{"iocs":{"domains":["litellm.cloud"],"urls":["https://tdtqy-oyaaa-aaaae-af2dq-cai.raw.icp0.io/"]},"malicious-packages-origins":[{"source":"google-open-source-security","sha256":"6dc5a2428a8b5ce0761da68e9d844924839e8681b388bdd1b8ceea88237e4cfc","import_time":"2026-03-26T00:34:45.555936Z","modified_time":"2026-03-26T00:33:27Z","versions":["0.12.3"]},{"source":"amazon-inspector","sha256":"19bbc2729962e719c0df5dd96e17dd7ceb90a0a5506ebb318cc50c19b6fe8bb8","import_time":"2026-03-31T03:10:13.554998359Z","modified_time":"2026-03-31T02:07:58Z","versions":["0.12.3"]}]}}数据来源:OpenSSF Malicious Packages · Apache-2.0