{"id":"h6vq_HZJ0zplYVgGPS4f8w","status":"done","kind":"skill","source":"clawhub","target":"clawhub:aimegeo-competitor-gap","name":"aimegeo-competitor-gap","version":"1.0.0","verdict":"NO MALICIOUS BEHAVIOR OBSERVED","top_finding":null,"findings":0,"critical":0,"public":true,"confidence":null,"created_at":"2026-10-27T11:18:04.600603Z","finished_at":"2026-10-27T11:29:29.260783Z","report_url":"https://detonationlabs.com/r/h6vq_HZJ0zplYVgGPS4f8w","progress":[{"phase":"scripts","label":"baseline","status":"ok","duration":1.8,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"guided:LC_MESSAGES","status":"ok","duration":3.0,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"docs:--input examples/comparison.json --out","status":"ok","duration":3.7,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"baseline","status":"timeout","duration":20.4,"new":["write:./bad.json","write:./evidence.json","write:./input.json","write:./out","write:./page-0.html"],"findings":[],"note":""},{"phase":"scripts","label":"time-travel","status":"timeout","duration":20.3,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"guided:LC_MESSAGES,REQUEST_METHOD,SSLKEYLOGFILE","status":"timeout","duration":20.3,"new":["write:./HTENV7qYJf0o8mvDiuYEBfWFcjGjo"],"findings":[],"note":""},{"phase":"scripts","label":"ci-github","status":"timeout","duration":20.3,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"cloud-creds","status":"timeout","duration":20.3,"new":[],"findings":[],"note":""}],"error":null,"report":{"engine":"detonator 0.5.1","generated":"2026-10-27T11:29:29Z","target":{"name":"aimegeo-competitor-gap","sha256":"9597a626f1833501a8a68c648e10b62a7ed3416ac02d2e73d1721dc9ca783ce4","files":26,"scripts":["scripts/compare_pages.py","scripts/self_test.py"],"declared":{},"trigger_hints":[],"kind":"skill","source":"clawhub:aimegeo-competitor-gap"},"verdict":"NO MALICIOUS BEHAVIOR OBSERVED","observed":{"network":[],"files_written":["./HTENV7qYJf0o8mvDiuYEBfWFcjGjo","./bad.json","./evidence.json","./input.json","./out","./page-0.html","./page-1.html","./page.html","./robots.txt","./ç«åå·®è·ç©éµ.csv"],"secrets_read":[],"commands":[],"exfiltration":[]},"findings":[],"exploration":{"runs":[{"phase":"scripts","target":"scripts/compare_pages.py","label":"baseline","status":"ok","duration":1.842,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/compare_pages.py","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/compare_pages.py","label":"guided:LC_MESSAGES","status":"ok","duration":3.0,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/compare_pages.py","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/compare_pages.py","label":"docs:--input examples/comparison.json --out","status":"ok","duration":3.674,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/compare_pages.py --input examples/comparison.json --out","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/self_test.py","label":"baseline","status":"timeout","duration":20.35,"new_signatures":["write:./bad.json","write:./evidence.json","write:./input.json","write:./out","write:./page-0.html","write:./page-1.html","write:./page.html","write:./robots.txt","write:./ç«åå·®è·ç©éµ.csv"],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/self_test.py","flag":"","children":[{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input <skill>/examples/comparison.json --out /tmp/tmpsr5a7zip","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpk3zw1wkj/bad.json --out /tmp/tmpk3zw1wkj","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpp2is2xaj/input.json --out /tmp/tmpp2is2xaj/out","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpdg1g28v1/bad.json --out /tmp/tmpdg1g28v1/report","flag":"","children":[],"hot":false,"count":2}],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpdg1g28v1/bad.json --out /tmp/tmpdg1g28v1/report","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpdg1g28v1/bad.json --out /tmp/tmpdg1g28v1/report","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/self_test.py","label":"time-travel","status":"timeout","duration":20.318,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/self_test.py","flag":"","children":[{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input <skill>/examples/comparison.json --out /tmp/tmp_9syavzg","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmplp8xq6wk/bad.json --out /tmp/tmplp8xq6wk","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpqjl6lji4/input.json --out /tmp/tmpqjl6lji4/out","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpluegwvpv/bad.json --out /tmp/tmpluegwvpv/report","flag":"","children":[],"hot":false,"count":6}],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/self_test.py","label":"guided:LC_MESSAGES,REQUEST_METHOD,SSLKEYLOGFILE","status":"timeout","duration":20.315,"new_signatures":["write:./HTENV7qYJf0o8mvDiuYEBfWFcjGjo"],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/self_test.py","flag":"","children":[{"kind":"file","label":"wrote ./HTENV7qYJf0o8mvDiuYEBfWFcjGjo","flag":"write","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpf5njdg6o/bad.json --out /tmp/tmpf5njdg6o","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpj0513oxk/input.json --out /tmp/tmpj0513oxk/out","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpenbqo1vr/bad.json --out /tmp/tmpenbqo1vr/report","flag":"","children":[],"hot":false,"count":4}],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input <skill>/examples/comparison.json --out /tmp/tmpw60r09yz","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpenbqo1vr/bad.json --out /tmp/tmpenbqo1vr/report","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/self_test.py","label":"ci-github","status":"timeout","duration":20.307,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/self_test.py","flag":"","children":[{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input <skill>/examples/comparison.json --out /tmp/tmpdf8irln0","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpa0x1n8al/bad.json --out /tmp/tmpa0x1n8al","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpiz9lylg8/input.json --out /tmp/tmpiz9lylg8/out","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmp6spks5lx/bad.json --out /tmp/tmp6spks5lx/report","flag":"","children":[],"hot":false,"count":8}],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmp6spks5lx/bad.json --out /tmp/tmp6spks5lx/report","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/self_test.py","label":"cloud-creds","status":"timeout","duration":20.317,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/self_test.py","flag":"","children":[{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input <skill>/examples/comparison.json --out /tmp/tmpt_uch6od","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpgmd2c_8w/bad.json --out /tmp/tmpgmd2c_8w","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmp3va47uaj/input.json --out /tmp/tmp3va47uaj/out","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpvefwmd4c/bad.json --out /tmp/tmpvefwmd4c/report","flag":"","children":[],"hot":false,"count":10}],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpvefwmd4c/bad.json --out /tmp/tmpvefwmd4c/report","flag":"","children":[],"hot":false}],"truncated":0}}],"stopped":"scripts/scripts/compare_pages.py: coverage plateau (2 runs with no new behavior); scripts/scripts/self_test.py: coverage plateau (2 runs with no new behavior); llm: run budget spent","model_usage":{"prompt_tokens":0,"completion_tokens":0,"llm_runs":0}},"surface":{},"startup":{},"partial_scan":"","note":"Observed behavior only. A clean result does not prove a package is safe.","summary":"We ran it 8 times, with a normal setup, LC_MESSAGES set, docs:--input examples/comparison.json --out, the clock moved a year ahead and LC_MESSAGES and REQUEST_METHOD and SSLKEYLOGFILE set. It made no network connections. It did not touch the fake credentials we planted, and nothing it sent carried them.","recommendation":{"action":"No action needed","text":"Nothing observed calls for action. This is evidence, not a guarantee."},"iocs":{"hosts":[],"ips":[],"sha256":"9597a626f1833501a8a68c648e10b62a7ed3416ac02d2e73d1721dc9ca783ce4","benign_hosts":[]},"coverage":{"runs":8,"phases":["scripts"],"environments":["baseline","guided:LC_MESSAGES","docs:--input examples/comparison.json --out","time-travel","guided:LC_MESSAGES,REQUEST_METHOD,SSLKEYLOGFILE","ci-github","cloud-creds"],"tool_calls":0,"model_runs":0,"stopped":"scripts/scripts/compare_pages.py: coverage plateau (2 runs with no new behavior); scripts/scripts/self_test.py: coverage plateau (2 runs with no new behavior); llm: run budget spent"},"tree":{"run":"scripts:baseline","roots":[{"kind":"proc","label":"python3 <skill>/scripts/self_test.py","flag":"","children":[{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input <skill>/examples/comparison.json --out /tmp/tmpsr5a7zip","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpk3zw1wkj/bad.json --out /tmp/tmpk3zw1wkj","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpp2is2xaj/input.json --out /tmp/tmpp2is2xaj/out","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpdg1g28v1/bad.json --out /tmp/tmpdg1g28v1/report","flag":"","children":[],"hot":false,"count":2}],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpdg1g28v1/bad.json --out /tmp/tmpdg1g28v1/report","flag":"","children":[],"hot":false},{"kind":"proc","label":"/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpdg1g28v1/bad.json --out /tmp/tmpdg1g28v1/report","flag":"","children":[],"hot":false}],"preview":[],"truncated":0},"flow":{"package":{"name":"aimegeo-competitor-gap","version":"","files":26,"kind":"skill"},"install":[],"has_install":false,"run":["python3 <skill>/scripts/compare_pages.py","python3 <skill>/scripts/compare_pages.py --input examples/comparison.json --out","python3 <skill>/scripts/self_test.py","/usr/bin/python3 <skill>/scripts/compare_pages.py --input <skill>/examples/comparison.json","/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpk3zw1wkj/bad.json --out ","/usr/bin/python3 <skill>/scripts/compare_pages.py --input /tmp/tmpp2is2xaj/input.json --ou"],"tools":[],"startup":"","partial":"","tool_calls":0,"agent_runs":0,"network":[],"secrets":[],"files":[{"path":"./HTENV7qYJf0o8mvDiuYEBfWFcjGjo","persist":false,"when":"while running"}],"has_graph":true},"confidence":""}}