{"id":"ix1GC5YW1zlruOySse6CZw","status":"done","kind":"skill","source":"clawhub","target":"clawhub:dataify-ai-web-map","name":"dataify-ai-web-map","version":"2.0.0","verdict":"NO MALICIOUS BEHAVIOR OBSERVED","top_finding":null,"findings":0,"critical":0,"public":true,"confidence":null,"created_at":"2026-10-26T17:15:52.498040Z","finished_at":"2026-10-26T19:07:50.438919Z","report_url":"https://detonationlabs.com/r/ix1GC5YW1zlruOySse6CZw","progress":[{"phase":"scripts","label":"baseline","status":"ok","duration":1.4,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"ci-github","status":"ok","duration":1.6,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"production","status":"ok","duration":1.3,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"baseline","status":"ok","duration":1.6,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"guided:LC_MESSAGES","status":"ok","duration":1.9,"new":[],"findings":[],"note":""},{"phase":"scripts","label":"docs:--url","status":"ok","duration":1.7,"new":[],"findings":[],"note":""},{"phase":"obedient","label":"baseline","status":"ok","duration":2.4,"new":[],"findings":[],"note":""},{"phase":"obedient","label":"guided:AI_WEB_API_BASE_URL,DATAIFY_API_TOKEN,LC_MESSAGES","status":"ok","duration":3.7,"new":[],"findings":[],"note":""}],"error":null,"report":{"engine":"detonator 0.5.1","generated":"2026-10-26T19:07:50Z","target":{"name":"ai-web-map","sha256":"8e23556aaeee08db79f90209b52d37ae2660d4aaf51ada46e3158350f3947d18","files":8,"scripts":["scripts/ai_web_client.py","scripts/map.py"],"declared":{},"trigger_hints":["production","token"],"kind":"skill","source":"clawhub:dataify-ai-web-map"},"verdict":"NO MALICIOUS BEHAVIOR OBSERVED","observed":{"network":[],"files_written":[],"secrets_read":[],"commands":[],"exfiltration":[]},"findings":[],"exploration":{"runs":[{"phase":"scripts","target":"scripts/ai_web_client.py","label":"baseline","status":"ok","duration":1.431,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/ai_web_client.py","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/ai_web_client.py","label":"ci-github","status":"ok","duration":1.587,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/ai_web_client.py","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/ai_web_client.py","label":"production","status":"ok","duration":1.317,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/ai_web_client.py","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/map.py","label":"baseline","status":"ok","duration":1.642,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/map.py","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/map.py","label":"guided:LC_MESSAGES","status":"ok","duration":1.859,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/map.py","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"scripts","target":"scripts/map.py","label":"docs:--url","status":"ok","duration":1.706,"new_signatures":[],"findings":0,"note":"","commands":[],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"python3 <skill>/scripts/map.py --url","flag":"","children":[],"hot":false}],"truncated":0}},{"phase":"obedient","target":"SKILL.md","label":"baseline","status":"ok","duration":2.375,"new_signatures":[],"findings":0,"note":"","commands":["python3 scripts/map.py --url \"https://docs.example.com\" --limit 100 --dry-run\npython3 scripts/map.py --url \"https://docs.example.com\" --limit 100"],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"bash -c cd skill && python3 scripts/map.py --url \"https://docs.ex...","flag":"","children":[{"kind":"proc","label":"python3 scripts/map.py --url https://docs.example.com --limit 100","flag":"","children":[],"hot":false,"count":2}],"hot":false}],"truncated":0}},{"phase":"obedient","target":"SKILL.md","label":"guided:AI_WEB_API_BASE_URL,DATAIFY_API_TOKEN,LC_MESSAGES","status":"ok","duration":3.669,"new_signatures":[],"findings":0,"note":"","commands":["python3 scripts/map.py --url \"https://docs.example.com\" --limit 100 --dry-run\npython3 scripts/map.py --url \"https://docs.example.com\" --limit 100"],"agent_reply":"","graph":{"roots":[{"kind":"proc","label":"bash -c cd skill && python3 scripts/map.py --url \"https://docs.ex...","flag":"","children":[{"kind":"proc","label":"python3 scripts/map.py --url https://docs.example.com --limit 100","flag":"","children":[],"hot":false,"count":2}],"hot":false}],"truncated":0}}],"stopped":"scripts/scripts/ai_web_client.py: coverage plateau (2 runs with no new behavior); scripts/scripts/map.py: coverage plateau (2 runs with no new behavior); obedient: run budget spent; 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, a GitHub Actions environment, a production environment, LC_MESSAGES set and docs:--url. 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":"8e23556aaeee08db79f90209b52d37ae2660d4aaf51ada46e3158350f3947d18","benign_hosts":[]},"coverage":{"runs":8,"phases":["obedient","scripts"],"environments":["baseline","ci-github","production","guided:LC_MESSAGES","docs:--url","guided:AI_WEB_API_BASE_URL,DATAIFY_API_TOKEN,LC_MESSAGES"],"tool_calls":0,"model_runs":0,"stopped":"scripts/scripts/ai_web_client.py: coverage plateau (2 runs with no new behavior); scripts/scripts/map.py: coverage plateau (2 runs with no new behavior); obedient: run budget spent; llm: run budget spent"},"tree":{"run":"scripts:baseline","roots":[{"kind":"proc","label":"python3 <skill>/scripts/ai_web_client.py","flag":"","children":[],"hot":false}],"preview":[],"truncated":0},"flow":{"package":{"name":"ai-web-map","version":"","files":8,"kind":"skill"},"install":[],"has_install":false,"run":["python3 <skill>/scripts/ai_web_client.py","python3 <skill>/scripts/map.py","python3 <skill>/scripts/map.py --url","python3 scripts/map.py --url https://docs.example.com --limit 100"],"tools":[],"startup":"","partial":"","tool_calls":0,"agent_runs":0,"network":[],"secrets":[],"files":[],"has_graph":true},"confidence":""}}