Skills web-scraper Audit History
📦

Audit History

web-scraper - 4 audits

Version comparison

Capability and finding changes across audited versions, newest first.

VersionDateResultReview itemsChange vs previous
v4 LatestJul 24, 2026, 12:18 AM 3 confirmed12No capability change
v3 Jul 15, 2026, 03:57 PM 2 confirmed7No capability change
v2 Jul 15, 2026, 03:57 PM 2 confirmed7No capability change
v1 Jul 15, 2026, 03:57 PM 2 confirmed7Baseline

Jul 24, 2026, 12:18 AM

The command-execution alerts are false positives caused by Markdown code fences, and the credential alerts are ordinary parameters or a localhost Redis example. The skill does perform network requests and writes intercepted responses to disk. High-risk semantic concerns include anti-bot circumvention guidance and capture of potentially sensitive application traffic.

1
Files scanned
749
Lines analyzed
19
Review items
0
False positives ignored

Confirmed security concerns (3)

High
Anti-Bot Control Circumvention Guidance
The skill teaches proxy rotation, CAPTCHA solving, browser fingerprint concealment, WAF avoidance, and disables Scrapy robots.txt enforcement. These techniques can bypass access controls and site policies.
The prose and code explicitly recommend defeating CAPTCHA, WebDriver detection, WAF controls, and robots.txt enforcement.
High
Sensitive Application Traffic Capture
The mitmproxy examples print intercepted request headers and bodies and save complete responses. Authorization tokens, personal data, and confidential application content may be exposed.
The examples directly print headers and body content and persist raw responses without redaction or access controls.
Medium
Untrusted Public Proxy Ingestion
The proxy pool downloads a mutable public list and routes requests through arbitrary entries without integrity checks. Malicious proxies can observe metadata or manipulate traffic.
The code fetches a remote public proxy list and immediately constructs routing configuration from its unverified entries.
Capability review items (12)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

High
HTTP client library · 2 occurrences
def request(flow: http.HTTPFlow):
This mitmproxy callback inspects live application requests, including URLs, headers, and bodies. It creates network-data exposure risk when traffic contains secrets or personal data.
High
Python file write/append
with open(fname, 'w') as f:
The callback writes complete intercepted response text to disk. This can persist credentials, personal data, or other sensitive application content.
Medium
Python os file operations
os.makedirs(OUTPUT_DIR, exist_ok=True)
The interception callback creates a local output directory before saving captured responses. This enables persistent storage of potentially sensitive network data.
Low
Python HTTP libraries
resp = requests.get(url, headers=headers, timeout=10)
The example performs an HTTP GET to a supplied URL. Network access is intentional and can contact arbitrary user-selected hosts.
Low
Python HTTP libraries
resp = requests.get(base_url, params=params, headers=headers, timeout=15)
The API collector performs repeated HTTP GET requests to a supplied base URL. It may send a bearer token to that selected endpoint.
Low
Python HTTP libraries
resp = requests.get(source, timeout=5)
The proxy loader downloads a mutable public proxy list from GitHub. This is real external network access to untrusted operational data.
Low
Python HTTP libraries
resp = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=5)
The code sends a test request to httpbin through a selected public proxy. Both the external request and untrusted routing are intentional.
Low
Hardcoded URL
'https://raw.githubusercontent.com/proxifly/free-proxy-list/main/proxies/proxies.json',
The URL points to a mutable GitHub-hosted public proxy list that the example downloads. Compromise or manipulation could redirect scraper traffic through hostile proxies.
Low
Hardcoded URL
'http': f'http://{p["ip"]}:{p["port"]}',
The code constructs an HTTP proxy endpoint from remotely supplied host and port values. Requests routed through such untrusted proxies may be observed or altered.
Low
Hardcoded URL
'https': f'http://{p["ip"]}:{p["port"]}',
The code configures HTTPS traffic to use an HTTP proxy built from remotely supplied values. An untrusted proxy can observe destinations and disrupt traffic.
Low
Hardcoded URL
resp = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=5)
The hardcoded httpbin endpoint is used for a real external proxy test. It discloses connection metadata to the endpoint and selected proxy.
Audited by: codex

Jul 15, 2026, 03:57 PM

Most command findings are false positives caused by Markdown code fences, and the credential findings show normal parameters or local placeholders. Confirmed risks involve public proxy routing, unredacted response storage, anti-bot evasion, and capture of sensitive traffic.

1
Files scanned
749
Lines analyzed
13
Review items
0
False positives ignored

Confirmed security concerns (2)

High
Anti-Bot Control Evasion Guidance
The skill teaches browser fingerprint spoofing, CAPTCHA automation, proxy rotation, and disabling robots.txt enforcement. These techniques can bypass site access and abuse controls.
The examples explicitly hide automation signals, simulate CAPTCHA interaction, rotate proxies, and set ROBOTSTXT_OBEY to false.
High
Sensitive Traffic Capture Without Redaction
The mitmproxy examples print complete request headers and bodies and save complete responses. This can expose authentication tokens, personal data, and confidential payloads.
The code directly prints headers and request bodies, then writes full response text to local files without filtering.
Capability review items (7)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

Medium
Python HTTP libraries
resp = requests.get(source, timeout=5)
The code downloads an unauthenticated public proxy list and trusts its contents for later routing. A compromised feed can direct traffic through hostile proxies.
Medium
Python HTTP libraries
resp = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=5)
The example sends cleartext HTTP traffic through an untrusted public proxy. The proxy can observe or alter the request and response.
Medium
Hardcoded URL
'https://raw.githubusercontent.com/proxifly/free-proxy-list/main/proxies/proxies.json',
The hardcoded third-party feed supplies proxies without authenticity or trust checks. Feed compromise can redirect collected traffic through attacker-controlled systems.
Medium
Hardcoded URL
'http': f'http://{p["ip"]}:{p["port"]}',
The code converts unverified feed entries into cleartext HTTP proxy endpoints. Those endpoints can inspect or modify routed traffic.
Medium
Hardcoded URL
'https': f'http://{p["ip"]}:{p["port"]}',
HTTPS destinations are configured through unaudited HTTP proxy endpoints. This exposes connection metadata and creates interception risk if applications trust the proxy.
Medium
Hardcoded URL
resp = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=5)
The hardcoded httpbin URL uses cleartext HTTP through a public proxy. The unaudited proxy can read or tamper with the test traffic.
Medium
Python file write/append
with open(fname, 'w') as f:
The interception hook writes complete HTTP responses to disk without redaction or access controls. Responses may contain credentials or personal data.
Audited by: codex

Jul 15, 2026, 03:57 PM

Most command findings are false positives caused by Markdown code fences, and the credential findings show normal parameters or local placeholders. Confirmed risks involve public proxy routing, unredacted response storage, anti-bot evasion, and capture of sensitive traffic.

1
Files scanned
749
Lines analyzed
13
Review items
0
False positives ignored

Confirmed security concerns (2)

High
Anti-Bot Control Evasion Guidance
The skill teaches browser fingerprint spoofing, CAPTCHA automation, proxy rotation, and disabling robots.txt enforcement. These techniques can bypass site access and abuse controls.
The examples explicitly hide automation signals, simulate CAPTCHA interaction, rotate proxies, and set ROBOTSTXT_OBEY to false.
High
Sensitive Traffic Capture Without Redaction
The mitmproxy examples print complete request headers and bodies and save complete responses. This can expose authentication tokens, personal data, and confidential payloads.
The code directly prints headers and request bodies, then writes full response text to local files without filtering.
Capability review items (7)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

Medium
Python HTTP libraries
resp = requests.get(source, timeout=5)
The code downloads an unauthenticated public proxy list and trusts its contents for later routing. A compromised feed can direct traffic through hostile proxies.
Medium
Python HTTP libraries
resp = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=5)
The example sends cleartext HTTP traffic through an untrusted public proxy. The proxy can observe or alter the request and response.
Medium
Hardcoded URL
'https://raw.githubusercontent.com/proxifly/free-proxy-list/main/proxies/proxies.json',
The hardcoded third-party feed supplies proxies without authenticity or trust checks. Feed compromise can redirect collected traffic through attacker-controlled systems.
Medium
Hardcoded URL
'http': f'http://{p["ip"]}:{p["port"]}',
The code converts unverified feed entries into cleartext HTTP proxy endpoints. Those endpoints can inspect or modify routed traffic.
Medium
Hardcoded URL
'https': f'http://{p["ip"]}:{p["port"]}',
HTTPS destinations are configured through unaudited HTTP proxy endpoints. This exposes connection metadata and creates interception risk if applications trust the proxy.
Medium
Hardcoded URL
resp = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=5)
The hardcoded httpbin URL uses cleartext HTTP through a public proxy. The unaudited proxy can read or tamper with the test traffic.
Medium
Python file write/append
with open(fname, 'w') as f:
The interception hook writes complete HTTP responses to disk without redaction or access controls. Responses may contain credentials or personal data.
Audited by: codex

Jul 15, 2026, 03:57 PM

Most command findings are false positives caused by Markdown code fences, and the credential findings show normal parameters or local placeholders. Confirmed risks involve public proxy routing, unredacted response storage, anti-bot evasion, and capture of sensitive traffic.

1
Files scanned
749
Lines analyzed
13
Review items
0
False positives ignored

Confirmed security concerns (2)

High
Anti-Bot Control Evasion Guidance
The skill teaches browser fingerprint spoofing, CAPTCHA automation, proxy rotation, and disabling robots.txt enforcement. These techniques can bypass site access and abuse controls.
The examples explicitly hide automation signals, simulate CAPTCHA interaction, rotate proxies, and set ROBOTSTXT_OBEY to false.
High
Sensitive Traffic Capture Without Redaction
The mitmproxy examples print complete request headers and bodies and save complete responses. This can expose authentication tokens, personal data, and confidential payloads.
The code directly prints headers and request bodies, then writes full response text to local files without filtering.
Capability review items (7)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

Medium
Python HTTP libraries
resp = requests.get(source, timeout=5)
The code downloads an unauthenticated public proxy list and trusts its contents for later routing. A compromised feed can direct traffic through hostile proxies.
Medium
Python HTTP libraries
resp = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=5)
The example sends cleartext HTTP traffic through an untrusted public proxy. The proxy can observe or alter the request and response.
Medium
Hardcoded URL
'https://raw.githubusercontent.com/proxifly/free-proxy-list/main/proxies/proxies.json',
The hardcoded third-party feed supplies proxies without authenticity or trust checks. Feed compromise can redirect collected traffic through attacker-controlled systems.
Medium
Hardcoded URL
'http': f'http://{p["ip"]}:{p["port"]}',
The code converts unverified feed entries into cleartext HTTP proxy endpoints. Those endpoints can inspect or modify routed traffic.
Medium
Hardcoded URL
'https': f'http://{p["ip"]}:{p["port"]}',
HTTPS destinations are configured through unaudited HTTP proxy endpoints. This exposes connection metadata and creates interception risk if applications trust the proxy.
Medium
Hardcoded URL
resp = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=5)
The hardcoded httpbin URL uses cleartext HTTP through a public proxy. The unaudited proxy can read or tamper with the test traffic.
Medium
Python file write/append
with open(fname, 'w') as f:
The interception hook writes complete HTTP responses to disk without redaction or access controls. Responses may contain credentials or personal data.
Audited by: codex