Caveat verdict

security-news-feed

88
🟢 Trusted
No high-risk patterns surfaced by the deep scan — automated capability review, not behavioral proof.

Accesses credentials AND makes external network calls

Aggregates Korean security news from official government sources (KRCERT, NCSC, KISA), summarizes via Gemini API, and publishes to Notion/Tistory; all capabilities (network, package install, credential access for API keys) are used transparently for their stated purpose.

Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.

0
security
60
transparency
90
maintenance

What it does

These are capability combinations: each listed behavior occurs in the skill, but Caveat detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.

Capability combination high

Accesses credentials AND makes external network calls — potential credential theft

LLM02 · ASI03

Permission integrity

Makes network requests but does not declare curl/wget in required binaries

network_out

Code accesses API keys/tokens but declares no environment variables

credential_access

Installs packages at runtime — transitive dependencies are not auditable

package_install

Findings (9)

Pattern match high

Possible hardcoded credential

check_notion.py · prose · downgraded · API_KEY='): notion_token = line.split(

Pattern match medium

subprocess execution — runs system commands from Python

modules/crawlers/skshieldus.py · prose · downgraded · subprocess.run(

Pattern match medium

References sudo — requests elevated privileges

modules/prompts/blog_generation.py · prose · downgraded · sudo

Pattern match low

Python urllib.request — network access

check_notion.py · prose · downgraded · urllib.request

Pattern match low

Python os.getenv — reads environment variable

config.py · prose · downgraded · os.getenv(

Pattern match low

References webhook/callback URL

config.py · prose · downgraded · WEBHOOK_URL

Pattern match low

Python aiohttp session — async network access

modules/analysis/analyze_keywords.py · prose · downgraded · aiohttp.ClientSession

Pattern match low

Python shutil file operation — copies/moves/deletes files

modules/crawlers/boho.py · prose · downgraded · shutil.rmtree(

Pattern match low

POSTs data to external URL

modules/notion_handler.py · prose · downgraded · .post("https://

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.

Permissions & capabilities

No declared permissions — minimal attack surface.

package_installnetwork_outcredential_access
Check another skill Browse the registry Auditing your own skills or configs? Use the API