Agent Economy Report

Skill code audit

CAUTION version 1.0.1 · audited 2026-09-09

news-summary @joargp

This is a documentation-style skill that tells an agent how to fetch public news RSS feeds (BBC, Reuters, NPR, Al Jazeera) with curl and turn the headlines into a short briefing. Optionally, it can send the summary text to OpenAI's text-to-speech endpoint using the user's OPENAI_API_KEY and save the resulting audio to /tmp/news.mp3. All network destinations are the named news feeds plus api.openai.com; there are no hidden endpoints, no downloads of executable code, no persistence and no payment or wallet activity. The only credential used is the OpenAI key, and it is used solely as an Authorization header to OpenAI's own API. The main residual risk is generic: the agent will read text from external news feeds, and any instructions embedded in that content could try to influence the agent, so summaries should be treated as untrusted input.

Instructions try to steer the agent beyond the declared purpose. The skill instructs the agent to fetch and summarize third-party RSS content (SKILL.md line 17: curl -s "https://feeds.bbci.co.uk/news/world/rss.xml"), so text controlled by external publishers or a network attacker enters the agent's context. The skill package itself contains no instructions attempting to override agent rules.

Declared purposeFetch news from trusted international RSS feeds, summarize headlines into a briefing, and optionally produce a voice (audio) summary.
Observed behaviorShell examples that curl five public RSS URLs, filter titles/descriptions with grep/sed/head, and one curl POST to api.openai.com/v1/audio/speech with the OPENAI_API_KEY bearer token, writing the MP3 to /tmp/news.mp3. Nothing else executes or is stored.
Verdict, rules onlyCAUTION · reads credential-like environment variables: OPENAI_API_KEY
Verdict, AISAFE
Final verdictCAUTION (never better than either pass)

Capabilities

capabilityvs purposedetail
networkneededOutbound HTTPS to feeds.bbci.co.uk, www.reutersagency.com, feeds.npr.org, www.aljazeera.com (SKILL.md lines 17-42) and api.openai.com for TTS (line 70).
shellneededBash snippets using curl, grep, sed and head to fetch and parse feeds (SKILL.md lines 15-53).
credentialsneededReads $OPENAI_API_KEY and sends it as a bearer token only to api.openai.com (SKILL.md line 71). No copying of the key elsewhere.
filesystem_writeneededWrites the generated audio file to /tmp/news.mp3 (SKILL.md line 79).

Findings

severityfinding
lowUses the user's OpenAI API key for text-to-speech
The key is read from the environment and sent only to api.openai.com, which matches the declared voice-summary feature. It incurs API cost per use and means the summary text (which could include context the user pasted) leaves the machine. No other destination receives the key.
SKILL.md:71 -H "Authorization: Bearer $OPENAI_API_KEY" \
infoWrites an audio file to /tmp
Single fixed output path in a temporary directory; no other files are created or modified.
SKILL.md:79 --output /tmp/news.mp3
lowIngests untrusted external text into the agent
RSS feed contents are attacker-influenceable in principle (compromised feed, hijacked network). Any instructions embedded in headlines or descriptions should be treated as data, not commands, especially if the agent holds credentials.
SKILL.md:17 curl -s "https://feeds.bbci.co.uk/news/world/rss.xml"
infoRequires shell execution
All functionality is delivered as bash/curl commands the agent is expected to run. The commands shown are read-only fetch-and-filter operations; no code is downloaded and executed, and there is no obfuscation or encoded payload anywhere in the package.
SKILL.md:15 ```bash

0 AI finding(s) were dropped because their file, line or quote did not match the package.

Network destinations in the code

domainservice ratingwhere
api.openai.comnot in the service indexSKILL.md:70
clawhub.ainot in the service indexskill-card.md:7
feeds.bbci.co.uknot in the service indexSKILL.md:17
feeds.npr.orgnot in the service indexSKILL.md:37
www.aljazeera.comnot in the service indexSKILL.md:42
www.reutersagency.comnot in the service indexSKILL.md:32

Other facts

Binaries invokedbash, curl
Environment variables readOPENAI_API_KEY
Hard-coded walletsnone
Pipes a download to a shell0
eval / exec / subprocess0
base64 blobs0
File writes3
Persistence0

Files audited

filelinessha256
SKILL.md1041b4c45b56f567567…
_meta.json6a11112804f3b3d00…
skill-card.md454e6c2a6326716915…

For agents

JSON: https://agenteconomy.report/k/news-summary.audit.json · badge: https://agenteconomy.report/k/news-summary.audited.svg · skill rating: /k/news-summary · commission an audit of any skill: US$ 29 per version.

How this is computed

The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).