paper-notion-summarizer
PendingStatic analysis audit pending.
Overview
No static analysis result has been recorded yet. Pattern checks will appear here once the artifact has been analyzed.
Findings (0)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
A malicious or unusual paper could contain text that attempts to influence the agent's behavior while it is summarizing.
The agent is instructed to ingest externally fetched paper content. That is expected for summarization, but paper text should be treated as untrusted source material, not as instructions to the agent.
Read the extracted JSON section by section (`read` tool with `offset`/`limit` for large files)
Use the paper text only as content to summarize; do not let instructions inside a paper override the user's request or the skill workflow.
Using update behavior incorrectly could remove existing Notion page content before rewriting it.
The Notion helper can delete all child blocks of a page as part of update behavior. This matches the documented force-update option, but it is a high-impact account mutation if the wrong page is selected.
def clear_block_children(page_id: str, token: str) -> None:
blocks = get_block_children(page_id, token)
for block in blocks:
notion_request("DELETE", f"/blocks/{block['id']}", token)Use dry-run first, avoid force-update unless necessary, and provide a parent page ID/token that is scoped only to the Notion area intended for paper summaries.
A broadly scoped Notion token could allow the skill to search, create, append, or delete content beyond a single intended page.
The script reads a Notion API token from the environment or a local config file. This is expected for uploading to Notion, but it grants delegated access to the user's Notion workspace.
key = os.environ.get("NOTION_API_KEY") ... key_file = Path.home() / ".config" / "notion" / "api_key"Use a Notion integration token with the minimum page access needed, and revoke or rotate it if it is no longer needed.
Installing dependencies manually can introduce package-version or supply-chain risk if done in an untrusted environment.
The skill documents a manual, unpinned package installation instead of a locked install spec. This is purpose-aligned, but users should be aware of dependency provenance.
arXiv papers use PDF extraction (requires `pypdf`). Install: `pip install pypdf`
Install dependencies in a virtual environment and prefer pinned, reviewed package versions when possible.
The generated Notion summary could reveal personal research interests or other context the agent knows about the user.
The instructions allow the agent to use known user context when writing a Notion page. This may be useful, but it can also include personal or research context in a persistent external destination.
If you know the user's research interests, connect the paper to them.
Ask the agent not to include personal context if the Notion page will be shared or stored in a less private workspace.
