From 77b6b36dc2d714ec86a1aa8e08a0aaba0b4c649e Mon Sep 17 00:00:00 2001 From: Ikarus Career Tech Date: Sun, 25 Oct 2026 15:13:43 +0000 Subject: [PATCH] docs(credits): recognize contributors from PRs #219, #220, #239-#240, #257-#260 - README and CONTRIBUTING contributor tables: add @therealestbenji (#219), @tyza66 (#257, #258, #260) and @HectorGuerilla (#259); extend @ARAVIND281 with #220. CONTRIBUTING also gains @Golden007-prog (#239, #240), already credited in the README. - CHANGELOG [Unreleased]: "Thanks to" lines on the #257, #258 and #260 entries, plus a new entry for the #259 docs change. - GOOD_FIRST_ISSUES: mark #182 and #196 complete with their contributors; record #197 as in progress. Co-Authored-By: Claude Opus 5.5 Signed-off-by: Ikarus Career Tech --- CHANGELOG.md | 8 ++++++++ CONTRIBUTING.md | 6 +++++- README.md | 5 ++++- docs/contributing/GOOD_FIRST_ISSUES.md | 5 +++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2b87347..c128e557 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 is still reported, as its own signal rather than as a change, through the `authority` block per-capability `provenance_class`. Gate outcomes, severity capping, and exit codes are unchanged. + Thanks to [@tyza66](https://github.com/tyza66) (PR #257). +- `docs/github-actions-example.md` documents the workflow trust boundary: + `contents: read` for the minimal scan, the extra `pull-requests: write` + needed only for `pr-comment-post`, and keeping broad tokens out of + `extra-args` and the environment. + Thanks to [@HectorGuerilla](https://github.com/HectorGuerilla) (PR #259). ### Fixed @@ -39,6 +45,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 stderr naming the gates that cannot fail this run. Exit codes are unchanged. `--unknown-authority pass` and `review` cannot fail a run, so they are not named. + Thanks to [@tyza66](https://github.com/tyza66) (PR #258). - That warning now decides the unknown-authority gate from the *effective* policy — a policy file or profile setting `authority.unknown: deny` is the same gate as @@ -48,6 +55,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 alongside the flag gates, an explicit `allow`/`require_review` setting wins over the flag and is not named, and the warning is labelled by whichever source put `deny` in force. Exit codes are unchanged. + Thanks to [@tyza66](https://github.com/tyza66) (PR #260). ## [2.7.0] - 2026-10-22 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aa333933..5bed1e25 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -151,7 +151,7 @@ We are grateful to the following community members for their contributions: | Contributor | Contributions | |-------------|---------------| | [@i-safonoff](https://github.com/i-safonoff) | `.cursorrules` framework adapter, `rule_coverage_summary()`, RULES_REFERENCE.md, dataflow rule ID casing fix | -| [@ARAVIND281](https://github.com/ARAVIND281) | Claude Code permission evaluation order fix, interprocedural data-flow tracking | +| [@ARAVIND281](https://github.com/ARAVIND281) | Claude Code permission evaluation order fix, interprocedural data-flow tracking, exception scope-escape boundary tests (PR #220) | | [@Solarthis](https://github.com/Solarthis) | MCP tool description injection detection | | [@Aming9303](https://github.com/Aming9303) | `safeai registry components` CLI, `safeai init` command, GitHub Actions workflow example | | [@adnqcr7-code](https://github.com/adnqcr7-code) | Framework detection tests (LangGraph, CrewAI, LlamaIndex, n8n, Claude Code), CI integration docs, SARIF review guidance | @@ -170,6 +170,10 @@ We are grateful to the following community members for their contributions: | [@chenzeyan54-commits](https://github.com/chenzeyan54-commits) | Terminal output sanitization against ANSI/OSC injection (PR #203) | | [@HarshRajSinghania](https://github.com/HarshRajSinghania) | PR comment markdown injection sanitization (PR #204) | | [@thadidaniel-ctrl](https://github.com/thadidaniel-ctrl) | Release workflow supply-chain posture tests (PR #206) | +| [@Golden007-prog](https://github.com/Golden007-prog) | Authority Evidence Benchmark HTML presentation, history limit (PRs #239, #240) | +| [@therealestbenji](https://github.com/therealestbenji) | Microsoft Teams integration capability detector `CAP_ms_teams` (PR #219) | +| [@tyza66](https://github.com/tyza66) | Authority-gate fail-closed audit: per-side access-mode provenance, diff-gate blind warning covering flag and policy-file gates (PRs #257, #258, #260) | +| [@HectorGuerilla](https://github.com/HectorGuerilla) | GitHub Actions trust-boundary and permissions guidance (PR #259) | Your contributions help make AI safer for everyone. Thank you! diff --git a/README.md b/README.md index bfa7f8a2..08b990b6 100644 --- a/README.md +++ b/README.md @@ -557,7 +557,7 @@ contributors who have helped make AI safer: | Contributor | Key Contributions | |-------------|-------------------| | [@i-safonoff](https://github.com/i-safonoff) | `.cursorrules` framework adapter, `rule_coverage_summary()`, RULES_REFERENCE.md, dataflow casing fix | -| [@ARAVIND281](https://github.com/ARAVIND281) | Claude Code permission evaluation order, interprocedural data-flow tracking | +| [@ARAVIND281](https://github.com/ARAVIND281) | Claude Code permission evaluation order, interprocedural data-flow tracking, exception scope-escape boundary tests (PR #220) | | [@Solarthis](https://github.com/Solarthis) | MCP tool description injection detection | | [@Aming9303](https://github.com/Aming9303) | `safeai registry components` CLI, `safeai init` command, GitHub Actions example | | [@adnqcr7-code](https://github.com/adnqcr7-code) | Framework detection tests (LangGraph, CrewAI, LlamaIndex, n8n, Claude Code), CI/SARIF docs | @@ -577,6 +577,9 @@ contributors who have helped make AI safer: | [@HarshRajSinghania](https://github.com/HarshRajSinghania) | PR comment markdown injection sanitization (PR #204) | | [@thadidaniel-ctrl](https://github.com/thadidaniel-ctrl) | Release workflow supply-chain posture tests (PR #206) | | [@Golden007-prog](https://github.com/Golden007-prog) | Authority Evidence Benchmark HTML presentation, history limit (PRs #239, #240) | +| [@therealestbenji](https://github.com/therealestbenji) | Microsoft Teams integration capability detector `CAP_ms_teams` (PR #219) | +| [@tyza66](https://github.com/tyza66) | Authority-gate fail-closed audit: per-side access-mode provenance, diff-gate blind warning covering flag and policy-file gates (PRs #257, #258, #260) | +| [@HectorGuerilla](https://github.com/HectorGuerilla) | GitHub Actions trust-boundary and permissions guidance (PR #259) | See [CONTRIBUTING.md](./CONTRIBUTING.md) for how to get involved. diff --git a/docs/contributing/GOOD_FIRST_ISSUES.md b/docs/contributing/GOOD_FIRST_ISSUES.md index c02c6c4f..8a158963 100644 --- a/docs/contributing/GOOD_FIRST_ISSUES.md +++ b/docs/contributing/GOOD_FIRST_ISSUES.md @@ -35,6 +35,7 @@ contributors. See the [Completed Issues](#-completed-issues) section at the bott - **Difficulty:** Easy | **Effort:** 2–3 hours - **Suggested files:** `safeai/analyzers/capability/analyzer.py`, `safeai/analysis/capabilities.py` - **Description:** Add a regex pattern to detect Microsoft Teams SDK usage (`import teams`, `from teams import`, `TeamsClient`, etc.). Follow the same pattern as the existing Docker, Slack, and Jira detectors. +- **Status:** ✅ Complete — `CAP_ms_teams` rule, detector and tests (@therealestbenji, PR #219) ### 4. Detect SharePoint access - **Difficulty:** Easy | **Effort:** 2 hours @@ -195,12 +196,14 @@ Newest batch — issue-driven security review and test-hardening tasks for the v - **Labels:** good first issue, security - **Suggested files:** `safeai/kya/exceptions.py`, `tests/test_exceptions.py` - **Description:** Verify traversal-style `target_id` values (`../`, absolute paths, Windows `..\\`), legacy-key ambiguity, and cross-project exceptions can never resolve to `active`. Fail-closed: unknown scope = not applied. +- **Status:** ✅ Complete — scope-escape boundaries pinned, unverified scope gated (@ARAVIND281, PR #220) ### 55. Security review: authority gate fail-closed guarantees (#197) - **Difficulty:** Easy-Medium | **Effort:** 2–3 hours - **Labels:** good first issue, security - **Suggested files:** `safeai/analysis/capability_diff.py`, `safeai/cmd/postprocess.py`, `tests/test_authority_change.py`, `tests/test_unknown_authority.py` - **Description:** Lock non-zero exit for: confirmed authority change with `--fail-on-authority-change`, UNKNOWN authority under `block`, and mixed inferred/confirmed additions (`inferred_only` must not mask confirmed tools). +- **Status:** In progress — per-side access-mode provenance and the diff-gate blind warning landed (@tyza66, PRs #257, #258, #260); `--unknown-authority block` without `--baseline` and removed-tool UNKNOWN handling remain open on #197 ### 56. Security test: HTML report injection fixtures (#198) - **Difficulty:** Easy | **Effort:** 2 hours @@ -262,6 +265,7 @@ These issues have been implemented by community contributors and are now part of | 18 | Detect Jira integration | @yugaaank (PR #2) | | 19 | Detect browser automation capability | @yugaaank (PR #2) | | — | Detect hidden instructions in MCP tool descriptions | @Solarthis (PR #107) | +| #182 | Detect Microsoft Teams integration | @therealestbenji (PR #219) | ### Reports, Output & Scoring @@ -303,6 +307,7 @@ These issues have been implemented by community contributors and are now part of | # | Issue | Contributor | |---|-------|-------------| +| #196 | Exception scope-escape paths | @ARAVIND281 (PR #220) | | #199 | Terminal escape-sequence sanitization | @chenzeyan54-commits (PR #203) | | #200 | PR comment markdown injection sanitization | @HarshRajSinghania (PR #204) | | #201 | Release workflow supply-chain posture tests | @thadidaniel-ctrl (PR #206) |