T09 · Insecure Skill Coding Practices
- Location
scripts/brain.py:626- Finding
Unrestricted URL Fetch Enables Local File Disclosure and Server-Side Request Forgery
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is mostly a disclosed local bookmark tool, but it needs review because auto-save can read local or internal resources and imported bookmark data can become executable script in generated HTML views.
Install only if you are comfortable with the skill reading and storing browser bookmarks in ~/.link-brain. Avoid auto-saving file://, localhost, private-network, or attacker-supplied URLs, and avoid opening generated GUI/graph HTML after importing untrusted bookmark exports until URL validation and HTML escaping are fixed.
scripts/brain.py:626Unrestricted URL Fetch Enables Local File Disclosure and Server-Side Request Forgery
scripts/brain.py:909Stored Script Injection in Generated Graph and GUI HTML Files
{len(nodes)} links, {len(edges)} connections
Auto-save fetches arbitrary user-supplied URLs with urllib without any allowlist or private-address restrictions. That enables SSRF-style access to internal services or localhost from the host running the tool, which is especially relevant if the agent can be induced to process attacker-chosen URLs.
'User-Agent': 'Mozilla/5.0 (compatible; LinkBrain/4.0)',
'Accept': 'text/html,application/xhtml+xml,text/plain',
})
with urllib.request.urlopen(req, timeout=15) as resp:
content_type = resp.headers.get('Content-Type', '')
charset = 'utf-8'
if 'charset=' in content_type:
The declared description frames the skill as a local knowledge base, but the documented behavior expands into remote fetching, browser data scanning, third-party import parsing, sync tracking, analytics, and opening generated content in a browser. That mismatch is dangerous because users may consent to a seemingly local bookmarking tool without realizing it can access private browser data, process imported history datasets, and perform network activity.
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
Referenced artifact was not completely inspected
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
No suspicious patterns detected.