Why this verdict
- inconclusive: unresolved question on EXEC
Security findings 0
No individual findings recorded
The inconclusive verdict rests on the open questions and coverage gaps below; 4 candidate findings were refuted on review.
Open questions 1
What the analysis could not settle from the code alone.
[file request scripts/postpublish.mjs] What does the postpublish script execute or send, and does it touch credentials or the network?
Code execution
Refuted findings 4
Candidates the review stage examined and rejected, kept for transparency.
Code execution
criticalRefutedlow confidencecreate_service appends agent-supplied arbitrary `flags` array to the `imq service create` command (executed via execFile, not a shell); with apply=true this can write files, configure CI and push to a VCS remote, though dry-run is the default and the behavior is declared.
if (opts.flags?.length) args.push(...opts.flags);
Why it was refuted
The flags passthrough belongs to the declared create_service tool. It uses execFile with no shell and appends --dry-run unless apply is explicitly set, which is the documented safety posture. Nothing is concealed.
Supply chain
criticalRefutedlow confidenceThe cli_install tool runs `npm install -g @imqueue/cli@<version>` (default 'latest', caller-supplied version/tag) via execFile, installing mutable remote code globally (including its install scripts) on the host; this is the declared purpose of the tool, so intent is plausibly honest.
const r = await exec("npm", ["install", "-g", spec], {Why it was refuted
This is the same declared global install of the vendor's own CLI via execFile, with no shell. The tool name and doc comment declare it, and the contradiction detector hit is attributed to the read-only claim D76 of another tool.
Supply chain
highRefutedlow confidenceThe declared cli_install tool runs a global `npm install -g @imqueue/cli@latest` with an unpinned default version, so whatever is currently published under `latest` executes on the host with install scripts.
export async function installCli(version = "latest"): Promise<string> {Why it was refuted
Installing the vendor's own @imqueue/cli globally is the declared purpose of cli_install. The package scope is fixed, and the default 'latest' tag is the normal behaviour of that declared installer. The detector contradiction with D76 belongs to a different read-only tool.
Manipulation
highRefutedlow confidenceThe package_status error text directs the model not to consult npmjs.com or search engines, steering the agent's information sourcing beyond the tool's task.
Do not fall back to npmjs.com or to a search engine
Why it was refuted
The sentence is an error message returned when the status feed is unreachable. It plainly explains why the npmjs.com fallback would not work, and it is not concealed or harmful steering. It is not part of the tool description.
Coverage gaps 1
Parts of the artifact the static analysis could not fully examine.
context:submodule_present submodules are not fetched
.gitmodules