APITester Agent-Driven API Testing

PassAudited by ClawScan on May 1, 2026.

Overview

The artifacts match a simple API-testing tool, but it can send user-defined API requests and retain response bodies, so use it only on authorized endpoints and with non-production secrets when possible.

This skill appears safe for its stated purpose. Before installing or using it, verify you trust the publisher, run tests only against authorized APIs, use staging or disposable credentials where possible, and review any state-changing requests such as POST, PUT, PATCH, or DELETE.

Findings (2)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A mistaken or overly broad test could call production APIs or perform state-changing actions using any credentials placed in headers.

Why it was flagged

The skill can send requests to test-supplied URLs using test-supplied HTTP methods, bodies, and headers. That is expected for an API tester, but it is still powerful enough to create, update, delete, or otherwise mutate API data if tests target real services.

Skill content
const url = this._interpolate((this.baseUrl + (test.url || '')));
const method = (test.method || 'GET').toUpperCase();
...
this._request(url, method, test.body ? JSON.stringify(this._interpolateObj(test.body)) : null, { ...this.headers, ...test.headers });
Recommendation

Run it only against APIs you are authorized to test, prefer staging/test accounts, and manually review non-GET requests or destructive test cases before execution.

What this means

Sensitive API response data could be exposed in generated results or copied into later documentation if not redacted.

Why it was flagged

The tester keeps full response bodies in its result objects. This supports documentation and debugging, but API responses may contain secrets, personal data, or untrusted text that could later be included in reports or agent context.

Skill content
return { name: test.name, passed, status: res.statusCode, responseTime, checks, body: res.body };
Recommendation

Avoid testing with real secrets or personal data when possible, redact response bodies before sharing reports, and treat response content as untrusted data.