other
- Location
scripts/briefing.py:83- Finding
Forced Promotional Content in Every Generated Briefing
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This briefing skill is not malware, but it needs Review because it can read unexpected Markdown files and its documentation overstates what the code actually does.
Review this package before installing in shared or sensitive workspaces. Treat generated briefings as demo content, expect an embedded donation/footer unless modified, and avoid passing untrusted values to the fetch command until date validation and path containment are added.
scripts/briefing.py:83Forced Promotional Content in Every Generated Briefing
scripts/briefing.py:140Path Traversal Allows Reading Markdown Files Outside the Briefings Directory
setup.py:28Unused and Unlocked HTTP Dependency Expands the Supply-Chain Attack Surface
The trigger phrase "daily briefing" is broad and generic, making it likely to match ordinary user requests that are not specifically intended to invoke this skill. This can cause unintended activation and execution of network-fetching behavior, which increases the risk of user confusion, overreach, and accidental data handling beyond user expectations.
The top-level docstring states that the script generates daily AI/tech briefings using public RSS feeds and APIs. In practice, generate_briefing calls _generate_demo_stories, and the code explicitly notes it is generating demo content instead of fetching real data, so the documentation materially misrepresents the tool's actual behavior.
The comment '# Get name' suggests the code is retrieving the package name, but the jq expression reads '.description | split(":")[0]' from package.json. This is an intent/documentation mismatch because the inline comment states one behavior while the code performs a different metadata extraction.
No suspicious patterns detected.