@theonly1me/vigilante 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="https://raw.githubusercontent.com/theonly1me/vigilante/v0.
|
|
2
|
+
<img src="https://raw.githubusercontent.com/theonly1me/vigilante/v0.3.0/assets/vigilante-wordmark-white-bg.webp" alt="Vigilante" width="360">
|
|
3
3
|
<p><b>See what a pull request lets your code, your CI, and your AI agents do, before you merge it.</b></p>
|
|
4
4
|
<p>
|
|
5
5
|
<a href="https://github.com/theonly1me/vigilante/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/theonly1me/vigilante/ci.yml?branch=main&label=CI&logo=github" alt="CI"></a>
|
|
@@ -16,7 +16,7 @@ Vigilante reads a pull request and lists the new powers that the pull request ad
|
|
|
16
16
|
|
|
17
17
|
Your security team approves powers in a `vigilante.lock` file. If a pull request adds a power that is not in the lock, the check fails.
|
|
18
18
|
|
|
19
|
-
By default, Vigilante does not run code from the repository that it checks. It reads the files and resolves calls by type. It uses [Capslock](https://github.com/google/capslock) for Go, the TypeScript type checker for JavaScript and TypeScript, and Pyright for Python. These tools read code, and they do not run it. Vigilante also downloads the locked packages from their public registries and reads them. If you set `[engines] rust = "typed"`, Vigilante builds the Rust code in a Docker container that has no network access ([docs/dependencies.md](https://github.com/theonly1me/vigilante/blob/v0.
|
|
19
|
+
By default, Vigilante does not run code from the repository that it checks. It reads the files and resolves calls by type. It uses [Capslock](https://github.com/google/capslock) for Go, the TypeScript type checker for JavaScript and TypeScript, and Pyright for Python. These tools read code, and they do not run it. Vigilante also downloads the locked packages from their public registries and reads them. If you set `[engines] rust = "typed"`, Vigilante builds the Rust code in a Docker container that has no network access ([docs/dependencies.md](https://github.com/theonly1me/vigilante/blob/v0.3.0/docs/dependencies.md#calls-resolved-by-type)).
|
|
20
20
|
|
|
21
21
|
## Why
|
|
22
22
|
|
|
@@ -56,7 +56,7 @@ The same pull request also added a second network call to `services/billing`, th
|
|
|
56
56
|
| AI agents | `.claude/settings.json`, Claude Code skills and commands, `.mcp.json`, `.cursor/mcp.json`, `.vscode/mcp.json`, `.codex/config.toml`, `.gemini/settings.json` | `tool_allow`, `hook`, `mcp_server`, `skip_permissions` |
|
|
57
57
|
| Build | `package.json` install scripts, `build.rs`, `setup.py`, `.husky/`, `.pre-commit-config.yaml` | `install_hook`, `git_hook` |
|
|
58
58
|
|
|
59
|
-
Vigilante reports a power the first time that it appears in a scope. After that, it reports each changed risk. Some risks block until `vigilante.lock` approves them. Examples are a call with untrusted input, and a workflow script that reads the title of a pull request. See [docs/risks.md](https://github.com/theonly1me/vigilante/blob/v0.
|
|
59
|
+
Vigilante reports a power the first time that it appears in a scope. After that, it reports each changed risk. Some risks block until `vigilante.lock` approves them. Examples are a call with untrusted input, and a workflow script that reads the title of a pull request. See [docs/risks.md](https://github.com/theonly1me/vigilante/blob/v0.3.0/docs/risks.md). For code, a scope is the nearest package root. For Go, a scope is the Go package. Vigilante skips vendored code. It reports tests and fixtures as test code, apart from the findings. See [docs/powers.md](https://github.com/theonly1me/vigilante/blob/v0.3.0/docs/powers.md) for each power and for the rules that keep the report short.
|
|
60
60
|
|
|
61
61
|
A finding is `exec`, `network`, or `native` that your package reaches through its own code. This rule is the same in each language. All other results are notes:
|
|
62
62
|
|
|
@@ -64,7 +64,7 @@ A finding is `exec`, `network`, or `native` that your package reaches through it
|
|
|
64
64
|
- a power that your package reaches only through a dependency, or through another package of the same repository;
|
|
65
65
|
- a new package on a call path to a power.
|
|
66
66
|
|
|
67
|
-
Notes do not make the check fail, unless a `deny` rule matches their power. For example, a new dependency that reaches the network is a note. [docs/dependencies.md](https://github.com/theonly1me/vigilante/blob/v0.
|
|
67
|
+
Notes do not make the check fail, unless a `deny` rule matches their power. For example, a new dependency that reaches the network is a note. [docs/dependencies.md](https://github.com/theonly1me/vigilante/blob/v0.3.0/docs/dependencies.md) tells you how Vigilante reads packages.
|
|
68
68
|
|
|
69
69
|
## Install
|
|
70
70
|
|
|
@@ -127,7 +127,7 @@ jobs:
|
|
|
127
127
|
with:
|
|
128
128
|
fetch-depth: 0
|
|
129
129
|
persist-credentials: false
|
|
130
|
-
- uses: theonly1me/vigilante@v0.
|
|
130
|
+
- uses: theonly1me/vigilante@v0.3.0
|
|
131
131
|
```
|
|
132
132
|
<!-- x-release-please-end -->
|
|
133
133
|
|
|
@@ -141,7 +141,7 @@ vigilante.toml @your-org/security
|
|
|
141
141
|
.github/ @your-org/security
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
-
After this change, each pull request that adds a power must change `vigilante.lock`. The security team must approve that change. Run `vigilante doctor` to make sure that GitHub enforces these rules. [docs/github-action.md](https://github.com/theonly1me/vigilante/blob/v0.
|
|
144
|
+
After this change, each pull request that adds a power must change `vigilante.lock`. The security team must approve that change. Run `vigilante doctor` to make sure that GitHub enforces these rules. [docs/github-action.md](https://github.com/theonly1me/vigilante/blob/v0.3.0/docs/github-action.md) gives the full setup. It also tells you how to protect the check and how to use Vigilante in other CI systems.
|
|
145
145
|
|
|
146
146
|
## Use it with AI agents
|
|
147
147
|
|
|
@@ -162,7 +162,7 @@ deny = [{ scope = "services/**", capability = "exec" }]
|
|
|
162
162
|
trusted_owners = ["your-org"]
|
|
163
163
|
```
|
|
164
164
|
|
|
165
|
-
In a pull request, Vigilante reads `vigilante.toml` from the merge base. So a pull request cannot change the rules that check it. [docs/configuration.md](https://github.com/theonly1me/vigilante/blob/v0.
|
|
165
|
+
In a pull request, Vigilante reads `vigilante.toml` from the merge base. So a pull request cannot change the rules that check it. [docs/configuration.md](https://github.com/theonly1me/vigilante/blob/v0.3.0/docs/configuration.md) lists each key and the lock format. It also tells you how to add rules for your own wrappers.
|
|
166
166
|
|
|
167
167
|
## What Vigilante is not
|
|
168
168
|
|
|
@@ -173,8 +173,8 @@ In a pull request, Vigilante reads `vigilante.toml` from the merge base. So a pu
|
|
|
173
173
|
|
|
174
174
|
## Contribute
|
|
175
175
|
|
|
176
|
-
Read [CONTRIBUTING.md](https://github.com/theonly1me/vigilante/blob/v0.
|
|
176
|
+
Read [CONTRIBUTING.md](https://github.com/theonly1me/vigilante/blob/v0.3.0/CONTRIBUTING.md). To report a security problem, read [SECURITY.md](https://github.com/theonly1me/vigilante/blob/v0.3.0/SECURITY.md). [docs/README.md](https://github.com/theonly1me/vigilante/blob/v0.3.0/docs/README.md) lists all the documentation.
|
|
177
177
|
|
|
178
178
|
## License
|
|
179
179
|
|
|
180
|
-
You can use Vigilante under the [Apache License 2.0](https://github.com/theonly1me/vigilante/blob/v0.
|
|
180
|
+
You can use Vigilante under the [Apache License 2.0](https://github.com/theonly1me/vigilante/blob/v0.3.0/LICENSE-APACHE) or the [MIT license](https://github.com/theonly1me/vigilante/blob/v0.3.0/LICENSE-MIT).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theonly1me/vigilante",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Shows the new powers that a pull request gives to code, CI, build, and AI agents",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"security",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"node": ">=18"
|
|
28
28
|
},
|
|
29
29
|
"optionalDependencies": {
|
|
30
|
-
"@theonly1me/vigilante-darwin-arm64": "0.
|
|
31
|
-
"@theonly1me/vigilante-darwin-x64": "0.
|
|
32
|
-
"@theonly1me/vigilante-linux-arm64": "0.
|
|
33
|
-
"@theonly1me/vigilante-linux-x64": "0.
|
|
30
|
+
"@theonly1me/vigilante-darwin-arm64": "0.3.0",
|
|
31
|
+
"@theonly1me/vigilante-darwin-x64": "0.3.0",
|
|
32
|
+
"@theonly1me/vigilante-linux-arm64": "0.3.0",
|
|
33
|
+
"@theonly1me/vigilante-linux-x64": "0.3.0"
|
|
34
34
|
}
|
|
35
35
|
}
|