Skip to content

Commit 1dd6078

Browse files
dcramercodex
andauthored
ci(warden): Add global security review baseline (#179)
Add an org-wide Warden base config using the built-in security-review skill and load it from the global workflow. Keep the rollout non-blocking while Warden reports security findings across repositories. Also add concise agent instructions for this metadata repository. Refs getsentry/warden#279 Co-authored-by: Codex <codex@openai.com>
1 parent 128ef28 commit 1dd6078

4 files changed

Lines changed: 54 additions & 1 deletion

File tree

.github/workflows/warden.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ jobs:
1818
- name: Checkout Code
1919
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2020

21+
- name: Checkout Org GitHub Repo
22+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
23+
with:
24+
repository: ${{ github.repository_owner }}/.github
25+
path: .warden-org
26+
2127
- uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
2228
id: app-token
2329
with:
@@ -30,6 +36,7 @@ jobs:
3036
continue-on-error: true # throw no error for now
3137
with:
3238
github-token: ${{ steps.app-token.outputs.token }}
39+
base-config-path: .warden-org/warden.toml
3340

3441
- name: Authenticate to Google Cloud
3542
continue-on-error: true
@@ -54,4 +61,4 @@ jobs:
5461
if: always() && steps.rename-findings.outputs.path != ''
5562
with:
5663
path: ${{ steps.rename-findings.outputs.path }}
57-
destination: warden-logs/${{ github.repository }}
64+
destination: warden-logs/${{ github.repository }}

AGENTS.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Agent Instructions
2+
3+
## Repository
4+
- Org-level GitHub metadata repository for Getsentry.
5+
- Edit org profile content in `profile/README.md`.
6+
- Edit GitHub configuration under `.github/`; root files cover shared policies and metadata.
7+
8+
## Package Manager
9+
- No package manager, lockfile, or local build system is configured.
10+
11+
## File-Scoped Commands
12+
| Task | Command |
13+
|------|---------|
14+
| YAML syntax | `ruby -e 'require "yaml"; ARGV.each { |f| YAML.load_file(f) }' .github/workflows/<file>.yml` |
15+
| Whitespace | `git diff --check -- <path>` |
16+
17+
## GitHub Actions
18+
- Org-wide Warden base config lives in `warden.toml`.
19+
- Preserve existing third-party action pinning to full commit SHAs when editing workflows.
20+
- Keep version comments beside pinned actions when present.
21+
- `secret-scan.yml` reports to SIEM before failing detected secret scans; keep that flow intact.
22+
23+
## Security
24+
- Follow `SECURITY.md` for vulnerability reporting text.
25+
- Use inert placeholder values in examples; do not add realistic tokens or secrets.
26+
27+
## Commit Attribution
28+
AI commits MUST include:
29+
```
30+
Co-Authored-By: (the agent's name and attribution byline)
31+
```

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AGENTS.md

warden.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
version = 1
2+
3+
[defaults]
4+
reportOn = "medium"
5+
failOn = "off"
6+
failCheck = false
7+
requestChanges = false
8+
9+
[[skills]]
10+
name = "security-review"
11+
12+
[[skills.triggers]]
13+
type = "pull_request"
14+
actions = ["opened", "synchronize", "reopened"]

0 commit comments

Comments
 (0)