|
| 1 | +# Security Policy |
| 2 | + |
| 3 | +## Reporting a vulnerability |
| 4 | + |
| 5 | +**Please do not report security issues in public GitHub issues, pull requests |
| 6 | +or Discord.** |
| 7 | + |
| 8 | +Use one of these instead: |
| 9 | + |
| 10 | +1. [**Report a vulnerability**](https://github.com/software-mansion/react-native-executorch/security/advisories/new) |
| 11 | + on this repository. This opens a private advisory that only the maintainers |
| 12 | + can see, and it is the preferred route: the fix can be developed in a |
| 13 | + private fork attached to the report. |
| 14 | +2. Email **ai@swmansion.com** if you cannot use GitHub, or if you would rather |
| 15 | + make first contact by mail. This is the same address as in our |
| 16 | + [Code of Conduct](./CODE_OF_CONDUCT.md). |
| 17 | + |
| 18 | +A useful report says which version and platform you were on, what an attacker |
| 19 | +can achieve, and how to reproduce it. A proof of concept helps more than a |
| 20 | +scanner name. If you are unsure whether something counts, report it anyway and |
| 21 | +let us decide. |
| 22 | + |
| 23 | +We will acknowledge your report and tell you whether we consider it in scope. |
| 24 | +If we ship a fix we will credit you in the advisory unless you ask us not to. |
| 25 | +Please give us a chance to release a fix before disclosing publicly. |
| 26 | + |
| 27 | +## Supported versions |
| 28 | + |
| 29 | +Fixes land on the current line. The previous line receives security fixes only. |
| 30 | + |
| 31 | +| Line | npm dist-tag | Status | |
| 32 | +| -------------- | -------------------- | --------------------------------------- | |
| 33 | +| Current minor | `latest` | Supported | |
| 34 | +| Previous minor | `legacy` | Security fixes only | |
| 35 | +| Anything older | none | Unsupported, please upgrade | |
| 36 | +| Nightly builds | `executorch-nightly` | Not supported, do not use in production | |
| 37 | + |
| 38 | +Deliberately written as version lines rather than numbers, so it does not go |
| 39 | +stale on every release. `npm dist-tag ls react-native-executorch` shows what |
| 40 | +each tag currently points at. |
| 41 | + |
| 42 | +## Scope |
| 43 | + |
| 44 | +In scope, because they are what users install and run: |
| 45 | + |
| 46 | +- The published npm packages: `react-native-executorch`, its |
| 47 | + `react-native-executorch-bare-resource-fetcher` and |
| 48 | + `react-native-executorch-expo-resource-fetcher` adapters, and |
| 49 | + `react-native-executorch-webrtc`. This includes the C++, Kotlin, Swift and |
| 50 | + Objective-C sources they ship. |
| 51 | +- The prebuilt native artifacts the package downloads on install, published as |
| 52 | + GitHub Releases tagged `v<version>-libs`. |
| 53 | +- The model files we publish under |
| 54 | + [software-mansion on HuggingFace](https://huggingface.co/software-mansion), |
| 55 | + which the library downloads at runtime. |
| 56 | + |
| 57 | +Out of scope, because nothing here reaches a user of the library: |
| 58 | + |
| 59 | +- The demo applications under `apps/`, and the documentation site under |
| 60 | + `docs/`. Neither is published to npm. |
| 61 | +- Development and CI tooling, including any advisory that only affects a |
| 62 | + `yarn.lock` in this repository. The published package ships neither |
| 63 | + `node_modules` nor a lock file, so a vulnerable transitive dependency of the |
| 64 | + build does not reach anyone who installs the library. Please still tell us if |
| 65 | + you find one that does reach the published artifacts. |
| 66 | +- Vulnerabilities in ExecuTorch, PyTorch or other upstream projects. Report |
| 67 | + those to the relevant project; tell us as well if react-native-executorch |
| 68 | + exposes them in a way upstream would not. |
| 69 | +- Findings that need an already compromised device, a physical attacker with |
| 70 | + the unlocked device, or a modified build of the library. |
| 71 | + |
| 72 | +## A note on models |
| 73 | + |
| 74 | +Models are downloaded at runtime from URLs in the model registry, and a model |
| 75 | +file is executable content for the ExecuTorch runtime. If you point the library |
| 76 | +at a model you do not control, you are trusting whoever published it. Treat a |
| 77 | +custom model source the way you would treat any other remote code. |
0 commit comments