security.md
Book Agent 0.1.0 · 本版随附原文,按章节提供导览;完整原文可在文末展开。文内本机路径属于示例,请替换为你的实际路径。
本版本其他文档与许可
- 用户完整使用手册.md
- 网站发布交接说明.md
- 一句话安装提示词.md
- 安装Agent操作指南.md
- README-交付说明.md
- README.md
- dependency-licenses.json
- acceptance.md
- architecture.md
- build.md
- codex-diagnostics.md
- contracts.md
- deployment.md
- evaluation.md
- example-package-inspection.md
- hosts.md
- mcp.md
- package-format.md
- portability.md
- query-runtime.md
- rerankers.md
- retrieval.md
- security.md
- source-resolution.md
- sqlite-adapters.md
- troubleshooting.md
- visual-fallback.md
- windows-binary-validation.md
- offline-dependency-licenses.json
- 289bfef3a422b5d7-LICENSE
- 320fb46da982dd20-LICENSE
- 0d26a74c4cd409f1-LICENSE
- 29f0a9349a98f786-LICENSE.txt
- 8fe2fae6851b8b02-LICENSE_zstd.txt
- 5927d884110638aa-LICENSE
- c1aedbaa6db194c8-LICENSE
- 2e2d841f3829cb8c-LICENSE
- 37deb54162951132-LICENSE
- 1c294ee0ed0fe5a4-LICENSE.txt
- 9cbd6b2bcad1331c-LICENSE.txt
- 22cdd958c280cb3f-LICENSE.APACHE
- 33a7c36a4f64f214-LICENSE.BSD
- 8e9b59db150b8b29-LICENSE
- 9d2d6534b255a725-LICENSE
- 44ac41031103bcac-LICENSE
- 39d084ff20ffc40e-LICENSE.txt
- b6618d8dc766ea7c-LICENSE.md
- 696bca653f07d94f-LICENSE
- 1a79882f84c42428-LICENSE.md
- 404602f585d7ece7-LICENSE
- d91c8e1dcc4f21a2-LICENSE.md
- b0ec1e6164c921a7-LICENSE.txt
- 2102cfff7eb71b8c-LICENSE.txt
- 60b346c789b9f38f-LICENSE
- 21b64ce33aa4532a-LICENSE
- 37bbe72ee1bbafbd-LICENSE
- 3a70ad943ce55a72-LICENSE.txt
- 0f4ffb2948b11d2f-LICENSE.txt
- 0f552da71ad28735-LICENSE.txt
- 14c3180f75c13432-LICENSE.txt
- 237d5ce190d18ec8-LICENSE.md
- 33f4c2195fc42df4-LICENSE.md
- 34e0a82278464f7a-LICENSE.md
- 606163a509c60e74-LICENSE.txt
- 68188ef77bc0f51d-LICENSE.md
- 7d261385d7c11247-LICENSE.md
- 892e6e9281e05f9e-LICENSE.md
- a62d8b7410f97d10-LICENSE
- aefd64774c70ee6f-LICENSE
- ba28e7ff75ea728b-dragon4_LICENSE.txt
- c21c93791addfba9-LICENSE.md
- c38cab56d01cd957-LICENSE
- caa67dbe4c1ea31d-LICENSE.md
- ddfcf34665e22241-LICENSE
- f384fe378597d8ee-LICENSE.md
- fa40db527ec8a4f8-LICENSE.md
- 11c854e2fea5c3c3-LICENSE
- e9a5bac8b5a01882-LICENSE.APACHE
- ef96a0844cda24cd-LICENSE.BSD
- 60b8570677f4c852-LICENSE
- b750eeade19bb396-LICENSE
- 7d70cfb623ece0f5-LICENSE
- c6dc91d12372ba7d-LICENSE
- 4d610a0401713428-LICENSE
- b4cf246d7037e3e5-LICENSE
- 6ba7e4be3a3e5e98-LICENSE.rst
- bd6c3caec9dc0b2c-LICENSE
- 404f172525c78526-LICENSE
- ea58743ddd8149fe-LICENSE
- d94ac33ee6c5b99c-LICENSE
- 06fc5f72f75ece40-LICENSE
- 6ee341f79804040b-LICENSE
- ca8b44050606bf3f-LICENSE.txt
- 0eb90f9858c86a9d-MAPIStubLibrary-License.txt
- 0f36ec7ac95c3104-Scintilla-License.txt
- 1445ad867b84e928-LICENSE.txt
- 1b588beb4a04f4c3-LICENSE
- 3c06ee52d5d89b25-License.txt
- 6300165282b47172-License.txt
- 6eec8b7b9c778ef7-License.txt
- 6fbb090f28b7d9d7-NOTICE.md
- 7f00f05027a6f1b3-license.txt
- 881f648ef42a607c-License.txt
- ae73a46638a88910-License.txt
- c2a4985aa4145fc3-License.txt
- cf5cae3ab668ac79-License.txt
- d04b9dead3df9f2b-License.txt
- dc8527163d427906-LICENSE.txt
- ff463f305e7e68dc-license.txt
- 1f5c94674bb026f1-LICENSE
- 0fb05a2e9284070c-LICENSE.txt
- bd7b91afd66e7fa0-NOTICE
- fb0b720c70d8ce6a-LICENSE
- fcd0c1933c03449f-LICENSE
- 07c67dcb9a0a1264-LICENSE
- 0e45092c306c1829-LICENSE
- 123439bfbc433e83-LICENSE.APACHE
- 1ab641e9121b81f5-LICENSE
- 4094fd3590b59adb-NOTICE
- 4a7fd6a9c689e423-LICENSE
- 4d09286af1bf926b-LICENSE
- 63a92caf8157263d-LICENSE
- 6562dd76db576ab9-LICENSE
- 8b28658c9e8179cb-LICENSE.txt
- 9fe05a3195b3cc3f-LICENSE
- aeab75b4c2775e84-LICENSE
- b8b1f5f03784d7a5-LICENSE
- c2780f51d1429c4b-LICENSE
- c80865de46db705d-LICENSE.BSD
- c9e41e71fb671b2e-LICENSE
- d6b8bc4557547f24-LICENSE
- e972ee51f8cb405e-NOTICE
- e453abd81b5ad12e-LICENSE
- 717f721f1be51398-LICENSE.md
- 767eeaf795dbfce8-LICENSE
- 94e2a313c2183fa6-LICENSE.txt
- 3391f6db464bf907-LICENSE
- c4388b01504343b0-LICENSE
- 000af5e58f31978d-LICENSE.txt
- 012d34b072b31cdb-LICENSE
- 020fa8056b9cc414-LICENSE
- 057ffcbbade9301e-LICENSE
- 096eee7c37050ec5-LICENSE
- 0b14d5ccfc8ae3b6-LICENSE
- 0d84796ed41f21b5-LICENSE.txt
- 0f51b035ee2b205e-LICENSE.txt
- 15ac02d83e9f5cf0-LICENSE
- 1987b9857feb2977-LICENSE
- 1ab5abcd87c44e46-LICENSE.rst
- 1b491a95f1ea6812-LICENSE
- 1bddb28b536554a8-LICENSE
- 1e0dae2d67a75d8f-LICENSE
- 1f00093269c431aa-LICENSE
- 1f88918564d6b190-LICENSE.txt
- 23170591db6c2e35-LICENSE
- 24e7a39da250d246-LICENSE
- 25356621a82f4798-LICENSE
- 2b6931cc6558558d-LICENSE
- 2e20b75d944dfc10-LICENSE.rst
- 3148042f9d6dc44b-LICENSE
- 34440ff12dbdee0b-LICENSE
- 38d7390db6751b95-LICENSE
- 394f72aa9820b35e-LICENSE
- 3a1efc907aa90e6e-LICENSE.txt
- 3f471b7b9a34654b-LICENSE
- 3f59a46ca08f425d-LICENSE
- 41a82292d67b1815-LICENSE
- 43e0660fee92e3d9-LICENSE
- 4418818ca0528087-LICENSE
- 44bd708d348a7f79-LICENSE.txt
- 45a5f164a90b025e-LICENSE
- 4679f7f6ca539098-LICENSE
- 46bcf873674918a0-LICENSE
- 4cb2f76b15650e2b-LICENSE.txt
- 4ce67a1d3f22f06e-LICENSE
- 4d4c272c2aaf7d4c-LICENSE.txt
- 4f73bb9c13a8cf6a-LICENSE
- 50d2c50ab17033d4-LICENSE
- 568ef02dec145f8f-LICENSE.APACHE
- 5d0844276d7620c3-LICENSE
- 5d3ee7cad434b050-LICENSE
- 63c9efa00504c8e7-LICENSE.BSD
- 658c67bb72402f54-LICENSE
- 65feb792d908bb47-LICENSE
- 6ab6f3ebe36250fc-LICENSE
- 6f3ff74d1e961003-LICENSE
- 70c92009f569c7ff-LICENSE
- 71e8135b761ff506-LICENSE
- 720a043a5f63b8e2-LICENSE
- 732e9d1d0dc3a9f3-LICENSE.rst
- 76fa1ec680b6563a-LICENSE
- 778654dd362ccfc1-LICENSE
- 7bad43a1c663d2d3-LICENSE
- 7e5ab77aaefbcbfe-LICENSE
- 81f9de42fb4cff6d-LICENSE.rst
- 83a0b2cad3631647-LICENSE
- 83d9a4cd337039d3-LICENSE
- 878c0ed7cc080bee-LICENSE.txt
- 8e3c8657c4d54274-LICENSE
- 923573b2290edd3f-LICENSE.txt
- 932fff1dd3afca18-LICENSE.rst
- 93b14a999e446b81-LICENSE
- 93ef29e6e98ebe1c-LICENSE
- 95a8821c42dd5a93-LICENSE
- 9611af4ef03999e9-LICENSE.txt
- 9690869ec82dc7ff-LICENSE
- 98445537094b5eca-LICENSE.txt
- 9bcc07396f3695fd-LICENSE.txt
- 9d236d10d50376fa-LICENSE
- a3af08ceb14d4e70-LICENSE.rst
- a42e3616102ec1a4-LICENSE
- a68145b6a6945de2-LICENSE
- ac000064f187d287-LICENSE
- b14490d244e39dd6-LICENSE.txt
- b152e206fedb11c6-LICENSE
- b5cccfdd56d29de3-LICENSE
- bb4c4e06309173d1-LICENSE.txt
- c18a22744d03cae4-LICENSE.rst
- c59a7e2bf6163ddd-LICENSE
- c643fc658eb3d4f4-LICENSE
- ce8e5d64c3015701-LICENSE
- d382d51b74d1dde7-LICENSE
- d414936ad243b5dd-LICENSE.txt
- d431c50ef2b89f09-LICENSE
- d86156e7d7554a5f-LICENSE
- e04596b38de5343a-LICENSE
- e1fd63729d99cd47-LICENSE
- e3aa5bda22dc7a7a-LICENSE
- e3f5bf83e6fd8b70-LICENSE
- e7f7eb90618838ff-LICENSE
- e845cee760dabf6e-LICENSE
- ea19c7c3e4500582-LICENSE
- f063c5a9ee927ae6-LICENSE
- f589495d9a662be4-LICENSE.txt
- f7f25c636a548517-LICENSE.rst
- f861d3e2e007d200-LICENSE.txt
- fa17b838b2594837-LICENSE.txt
- 14a65df99717c958-LICENSE
- 2231b6c46c068b83-LICENSE
- 215ebb8580f197a8-LICENSE
- 3677f050c9618f5d-LICENSE.txt
- b645068efededc15-LICENSE.md
- MODEL-LICENSE.md
- README.md
- UPSTREAM-LICENSE.txt
# Security, privacy and licenses Original archives and extracted inputs are read-only. Import scans paths, links, case collisions, entry count, declared/actual byte totals and compression ratios, then extracts with bounded writers to a private staging directory. Content SHA-256 identifies managed imports; repeat import checks external receipts. Links, traversal, executable installers and over-budget inputs are rejected or diagnosed. Script presence is recorded; packaged scripts are statically reviewed, never imported or executed by the runtime. Checksums prove consistency, not publisher identity. A malicious book may still pass its own self-declared manifest. Book text, Skill text, README, URLs and JSON metadata cannot authorize commands, file deletion, credential reads, config edits or uploads. MCP contains no arbitrary shell endpoint. An operator must keep the corpus in storage untrusted writers cannot modify; local malicious modification between checks is outside this process's OS security boundary. SQLite uses read-only URI mode, query_only, extension loading disabled and no immutable flag over a potentially active WAL. Active/incomplete journals and unknown schemas are diagnosed rather than repaired. Original directories receive no WAL, journal, bytecode or sidecar. Package changes trigger validation; content changes yield new IDs, invalidating old locators. Python Windows extended paths are normalized on both sides of containment checks. Remote operations default off. Query encoding sends only the current question. Rerank sends the question and bounded candidate text. A remote host's language model may receive tool evidence/images. Exact endpoints need explicit allowlisting; manifest URLs never constitute consent. Redirects are refused to protect credentials. Keys use environment references; normal errors redact recognizable secret forms and omit service response bodies. No document embedding, paid model switching, automatic model downloads or production pipeline modifications occur. Runtime state is outside the package, uses atomic updates and process locks. Host installation merges public config, backs up changed files and records hash ownership. Uninstall removes only unchanged owned outputs; user-edited files are preserved for manual action. See host tests and diagnostics. A bootstrap requires a trusted manifest SHA, verifies the actual local source archive and every approved wheel, stages only those wheels, and uses offline hash-required pip. Hash verification is meaningful only when the expected hash came through a trusted channel.
Third-party distribution
Project source: MIT. Main dependencies: NumPy BSD, Pillow HPND, py7zr LGPL, MCP SDK MIT, httpx BSD, tomlkit MIT, PyYAML MIT. **PyMuPDF/MuPDF: GNU AGPL or commercial license.** A bundled executable inherits distribution obligations; the project's MIT statement does not relicense these libraries. Provide the corresponding source/license information or obtain the relevant commercial license as applicable. The release records installed dependency metadata and bundled license texts; review before public/commercial distribution. No model weights or real book corpus are included in wheel/source/Skill/binary archives. The separate `weights/BAAI-bge-m3` directory is an explicitly requested, optional local delivery: fixed public Safetensors/tokenizer artifacts, portable SHA receipt and upstream MIT provenance. It is not copied into every book or uploaded to a repository. Synthetic tests are distributable project fixtures. Original example content and local test receipts stay in `.work` and are excluded from source archives. License identities should be verified against upstream terms: [PyMuPDF licensing](https://pymupdf.readthedocs.io/en/latest/about.html#license-and-copyright).
查看完整原文(逐字保留)
# Security, privacy and licenses Original archives and extracted inputs are read-only. Import scans paths, links, case collisions, entry count, declared/actual byte totals and compression ratios, then extracts with bounded writers to a private staging directory. Content SHA-256 identifies managed imports; repeat import checks external receipts. Links, traversal, executable installers and over-budget inputs are rejected or diagnosed. Script presence is recorded; packaged scripts are statically reviewed, never imported or executed by the runtime. Checksums prove consistency, not publisher identity. A malicious book may still pass its own self-declared manifest. Book text, Skill text, README, URLs and JSON metadata cannot authorize commands, file deletion, credential reads, config edits or uploads. MCP contains no arbitrary shell endpoint. An operator must keep the corpus in storage untrusted writers cannot modify; local malicious modification between checks is outside this process's OS security boundary. SQLite uses read-only URI mode, query_only, extension loading disabled and no immutable flag over a potentially active WAL. Active/incomplete journals and unknown schemas are diagnosed rather than repaired. Original directories receive no WAL, journal, bytecode or sidecar. Package changes trigger validation; content changes yield new IDs, invalidating old locators. Python Windows extended paths are normalized on both sides of containment checks. Remote operations default off. Query encoding sends only the current question. Rerank sends the question and bounded candidate text. A remote host's language model may receive tool evidence/images. Exact endpoints need explicit allowlisting; manifest URLs never constitute consent. Redirects are refused to protect credentials. Keys use environment references; normal errors redact recognizable secret forms and omit service response bodies. No document embedding, paid model switching, automatic model downloads or production pipeline modifications occur. Runtime state is outside the package, uses atomic updates and process locks. Host installation merges public config, backs up changed files and records hash ownership. Uninstall removes only unchanged owned outputs; user-edited files are preserved for manual action. See host tests and diagnostics. A bootstrap requires a trusted manifest SHA, verifies the actual local source archive and every approved wheel, stages only those wheels, and uses offline hash-required pip. Hash verification is meaningful only when the expected hash came through a trusted channel. ## Third-party distribution Project source: MIT. Main dependencies: NumPy BSD, Pillow HPND, py7zr LGPL, MCP SDK MIT, httpx BSD, tomlkit MIT, PyYAML MIT. **PyMuPDF/MuPDF: GNU AGPL or commercial license.** A bundled executable inherits distribution obligations; the project's MIT statement does not relicense these libraries. Provide the corresponding source/license information or obtain the relevant commercial license as applicable. The release records installed dependency metadata and bundled license texts; review before public/commercial distribution. No model weights or real book corpus are included in wheel/source/Skill/binary archives. The separate `weights/BAAI-bge-m3` directory is an explicitly requested, optional local delivery: fixed public Safetensors/tokenizer artifacts, portable SHA receipt and upstream MIT provenance. It is not copied into every book or uploaded to a repository. Synthetic tests are distributable project fixtures. Original example content and local test receipts stay in `.work` and are excluded from source archives. License identities should be verified against upstream terms: [PyMuPDF licensing](https://pymupdf.readthedocs.io/en/latest/about.html#license-and-copyright).
原文 SHA-256:c6423cf450ef90b8d5b0fd4d501871fefe29a02d7877f8591b0ac6881f5aaf1d