playwright-controller

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

Findings (0)

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

Running the command may fail or may use a different local file than the one included in the skill, making the actual executed code hard to verify.

Why it was flagged

The runnable command wrapper loads its core functions from an absolute developer-local path outside the packaged skill, instead of the included playwright-crawler-v3.js. If that path exists, the command could execute code not represented by the reviewed package; otherwise it will likely fail.

Skill content
const { fetchWithPlaywright, fetchElementAndScreenshot } = require('/Users/chenkuan/.openclaw/workspace/毕业论文/论文工程/playwright-crawler-v3.js');
Recommendation

Replace the absolute require with a relative import of the packaged file, include all helper files in the skill, and add a clear install/dependency specification for Playwright.

What this means

The skill can visit webpages and create local screenshot/text files in the chosen directory.

Why it was flagged

The skill accepts a URL and output directory, browses the page, then writes extracted content to disk. This is expected for its purpose, but it is still local file-writing and network-browsing authority.

Skill content
result = await fetchWithPlaywright(options.url, { headless: true, timeout: options.timeout, screenshotDir: options.dir }); ... fs.writeFileSync(textPath, result.content);
Recommendation

Use it only with URLs you intend to fetch and choose a safe output directory rather than protected or shared locations.

What this means

If you log into a site in the browser, the skill can capture screenshots and text from that authenticated session.

Why it was flagged

The documentation says the visible browser supports manual actions such as login. That is purpose-aligned browser automation, but it means the skill may be used on authenticated pages.

Skill content
有头模式(可见浏览器,支持手动操作如登录)
Recommendation

Avoid using it on sensitive accounts unless you are comfortable saving the resulting page content locally.

What this means

Private webpage content or misleading webpage text may remain on disk after the command finishes.

Why it was flagged

Extracted webpage text is written to a local file for later use. This is expected behavior, but stored retrieved content can include sensitive data or untrusted webpage text.

Skill content
fs.writeFileSync(textPath, result.content);
Recommendation

Review and delete generated files when they contain sensitive data, and treat extracted webpage text as untrusted input.