{"api":"v1","generated_at":"2026-09-15T22:57:39.739Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/paket-halowerk-com-v1-dependency-confusion-de93c3","pinned_page":"https://tollindex.com/e/paket-halowerk-com-v1-dependency-confusion-de93c3/at/2026-09-15T21-20Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-09-15T21:20:12.737Z","snapshot_stamp":"2026-09-15T21-20Z","endpoint":{"slug":"paket-halowerk-com-v1-dependency-confusion-de93c3","canonical_url":"https://paket.halowerk.com/v1/dependency-confusion","resource":"https://paket.halowerk.com/v1/dependency-confusion","http_method":"POST","type":"http","x402_version":2,"registries":[],"primary_registry":"cdp","curated_by_coinbase":false,"description":"Takes the names your organisation publishes internally and checks each against the public registry of the same ecosystem. Three findings, kept apart because they call for different actions. Name is free: nobody has taken it, the door is open but unattended, and the answer is to reserve the name yourself. Name is taken and old: probably an unrelated project that happens to share the name, worth confirming but rarely urgent.","service_name":null,"declared_category":null,"declared_tags":[],"route_template":null,"registry_updated":"2026-08-11T20:22:48.674Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"dependency confusion","category":"inference","first_observed_by_toll":"2026-09-10T19:08:24.178Z","last_observed_by_toll":"2026-09-10T20:14:11.588Z","observation_began":"2026-09-10"},"presence":{"listed_now":false,"first_absent_at":"2026-09-11T08:47:35.343Z","delisting_confirmed_at":"2026-09-11T09:22:40.554Z","events":[{"registry":"cdp","at":"2026-09-10T19:08:24.178Z","event":"listed"},{"registry":"cdp","at":"2026-09-11T08:47:35.343Z","event":"delisted"},{"registry":"cdp","at":"2026-09-11T09:22:40.554Z","event":"delisting_confirmed"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.005 USDC","amount_units":0.005,"decimals_known":true,"pay_to":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","scheme":"exact"}],"counters":{"observed_at":"2026-09-10T20:14:11.589Z","calls_30d":1,"unique_payers_30d":1,"last_called_at":"2026-08-11T20:22:48.399Z"},"validation":{"latest":null,"uptime":[{"days":7,"observed":0,"passed":0,"ratio":null},{"days":30,"observed":0,"passed":0,"ratio":null},{"days":90,"observed":0,"passed":0,"ratio":null}],"history_90d":[]},"seller":{"wallet":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","page":"https://tollindex.com/seller/0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","endpoints":1553,"hosts":67},"reports":0,"registry_record":{"cdp":[{"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","asset":"USDC","version":"2","eip712Domain":{"name":"USD Coin","chainId":8453,"version":"2","verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"network_name":"Base Mainnet","assetTransferMethod":"eip3009"},"payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","amount":"5000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":300}],"quality":{"lastCalledAt":"2026-08-11T20:22:48.399Z","l30DaysTotalCalls":1,"l30DaysUniquePayers":1},"resource":"https://paket.halowerk.com/v1/dependency-confusion","extensions":{"bazaar":{"info":{"input":{"body":{"system":"npm","packages":[{"name":"express","internal_version":"1.0.0"},{"name":"my-internal-lib-xyz"}]},"type":"http","method":"POST","bodyType":"json"}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["system","packages"],"properties":{"system":{"enum":["npm","pypi","maven","go","cargo","nuget","rubygems"],"type":"string"},"packages":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","maxLength":300,"minLength":1},"internal_version":{"type":"string","maxLength":60}},"additionalProperties":false},"maxItems":60,"minItems":1,"description":"Your internal package names, optionally with the internal version."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}}}},"description":"Takes the names your organisation publishes internally and checks each against the public registry of the same ecosystem. Three findings, kept apart because they call for different actions. Name is free: nobody has taken it, the door is open but unattended, and the answer is to reserve the name yourself. Name is taken and old: probably an unrelated project that happens to share the name, worth confirming but rarely urgent.","lastUpdated":"2026-08-11T20:22:48.674Z","x402Version":2}]}}