ds160-autofill

SuspiciousAudited by ClawScan on May 10, 2026.

Overview

The skill is aimed at DS-160 autofill, but it handles highly sensitive visa data with CAPTCHA automation, LLM sharing, and plaintext session-secret persistence.

Only use this skill if you are comfortable with automation on the DS-160 site and with sensitive visa data potentially being sent to LLM/image tools. Manually review every page before continuing or submitting, avoid CAPTCHA automation if the site rules prohibit it, and delete or protect the saved session file after use.

Findings (5)

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

The agent may interact with a government form in ways the site intends to reserve for a human user, and mistakes or policy violations could affect the visa application process.

Why it was flagged

The skill explicitly instructs automated CAPTCHA solving on a government visa site, which bypasses an anti-automation checkpoint and increases legal/process risk for a high-impact form.

Skill content
**Captcha:**
- Take screenshot of captcha area
- Use `image` tool to analyze captcha
- Fill captcha code via browser evaluate
Recommendation

Require explicit user approval before CAPTCHA handling and page continuation, and warn users to verify that automation is allowed by the DS-160 site and applicable rules.

What this means

Personal visa application information may be disclosed to the model/provider or retained in model/tool logs without the user realizing the full sensitivity.

Why it was flagged

The workflow sends page snapshots, field context, and user-provided values to an LLM during a DS-160 visa application, which can include highly sensitive identity, travel, and security-answer data.

Skill content
**Missing element:**
- Call LLM with page snapshot
...
**Translation needed:**
- Call LLM with field context and Chinese value
Recommendation

Add an explicit consent step before any LLM call, redact filled form values from snapshots where possible, and document provider retention/privacy implications.

What this means

Anyone with access to the workspace files or logs could see the application ID/security answer and potentially resume or view the visa application.

Why it was flagged

The session object includes the DS-160 security answer and the code logs loaded session data, exposing credential-like resume information for the visa application.

Skill content
securityQuestion: null,
  securityAnswer: null,
...
console.log('✓ Loaded session data:', JSON.stringify(sessionData, null, 2));
Recommendation

Do not log security answers, store session secrets encrypted or outside normal logs, and provide a clear cleanup command to delete `ds160/ds160-session.json` after use.

ConcernMedium Confidence
ASI05: Unexpected Code Execution
What this means

A quote or crafted value in the CSV could break the automation or run unintended JavaScript in the active DS-160 page context.

Why it was flagged

CSV-derived user values are interpolated directly into JavaScript source strings used for browser automation, without visible escaping in the supplied snippet.

Skill content
const fieldValue = userData[elementName]?.value;
...
el.value = '${valueToFill}';
Recommendation

Pass values as structured arguments to browser evaluation or escape with `JSON.stringify` instead of concatenating CSV values into JavaScript code.

What this means

The skill may fail or require an ad hoc dependency install whose version/provenance is not pinned in the provided artifacts.

Why it was flagged

The included script imports an external package while the artifact says there is no install spec; this creates dependency/setup ambiguity but is not by itself malicious.

Skill content
const yaml = require('js-yaml');
Recommendation

Publish a clear install spec or package manifest with pinned dependencies and source provenance.