Skip to content

Releases: ratomirjovanovic/pandaward

Pandaward v0.2.1

Choose a tag to compare

@github-actions github-actions released this 28 Oct 20:53
54298ec

What's Changed

Full Changelog: v0.2.0...v0.2.1

Pandaward 0.2.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 18:28
51871ea

PenSec is now Pandaward

This release renames the project. Nothing about how it works changes; your results carry over.

  • The first pandaward command in a project moves .pensec/ to .pandaward/ with the ledger, evidence, reports, config and scope manifest.
  • Approvals stay valid: the approval key is taken over from the old pensec folder in your user config directory.
  • PENSEC_* environment variables are still read when the PANDAWARD_* ones are not set.
  • Existing PSEC- finding IDs keep working; new findings get PW- IDs.
  • The repository moved to ratomirjovanovic/pandaward; GitHub redirects the old URL. The website is now https://ratomirjovanovic.github.io/pandaward/.

Switch once

Claude Code:

/plugin uninstall pensec-windows@pensec        # or pensec@pensec
/plugin marketplace remove pensec
/plugin marketplace add ratomirjovanovic/pandaward
/plugin install pandaward-windows@pandaward     # or pandaward@pandaward on macOS and Linux

Then restart Claude Code. Skills are now /pandaward:* and MCP tools pandaward_*.

CLI: brew uninstall pensec && brew untap ratomirjovanovic/pensec, then brew tap ratomirjovanovic/pandaward https://github.com/ratomirjovanovic/pandaward && brew install ratomirjovanovic/pandaward/pandaward. On Windows: scoop uninstall pensec; scoop bucket rm pensec, then scoop bucket add pandaward https://github.com/ratomirjovanovic/pandaward; scoop install pandaward/pandaward.

GitHub Actions: change uses: ratomirjovanovic/pensec@... to uses: ratomirjovanovic/pandaward@... and pin the new SHA. Release assets are now named pandaward-<os>-<arch>.

The Homebrew and Scoop manifests for 0.2.0 follow in the next commit to main.

What's Changed

Full Changelog: v0.1.6...v0.2.0

PenSec v0.1.6

PenSec v0.1.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 17:10
6bc9e6f

Upgrade notes

  • Update the pensec CLI together with the plugin. 0.1.6 adds runtime.android_package and runtime.ios_bundle_id to .pensec/config.yaml; older binaries reject unknown keys. Existing files keep working.
  • New configs list apktool in scan.adapters. To use it in an existing project, add apktool to that list.
  • The catalog is now 2026.10-m4 with four new controls (K-004, K-005, L-003, L-004), so the first scan after the update does not carry results over from older assessments.

Highlights

  • Mobile source checks: credentials in plain SharedPreferences and world-readable storage (K-004), get-task-allow outside debug entitlements (L-003), kSecAttrAccessibleAlways and credentials in UserDefaults (L-004) (#14).
  • Optional apktool adapter: .apk files in the project are decoded (resources only, the app's code is never run) and their manifest goes through the Android checks (K-005) (#14).
  • pensec test --profile local-runtime: reads the configured test build's storage on an Android emulator (K-003) or in an iOS simulator on macOS (L-002) and reports credential-like keys by name, never their values. Real devices are refused; anything missing is BLOCKED with the reason (#14).
  • The hostile-repository self-test runs in CI on every OS and before every release, and a new case checks that scanner output claiming confirmation stays a hypothesis (#15).
  • Android sources under com/example in src/main/ are no longer skipped as sample code (#101).

What's Changed

Full Changelog: v0.1.5...v0.1.6

PenSec v0.1.5

PenSec v0.1.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 14:06
36b8687

Upgrade notes

  • Update the pensec CLI together with the plugin. 0.1.5 adds runtime.zap_path to .pensec/config.yaml and zap, identities and authorization_checks to .pensec/scope.yaml; older binaries reject unknown keys. Existing files keep working.
  • Claude Code does not update third-party marketplaces unless auto-update is on: /plugin, Marketplaces, pensec, Enable auto-update. Or run claude plugin marketplace update pensec and claude plugin update pensec-windows@pensec (pensec@pensec on macOS and Linux), then restart.
  • On Windows keep only pensec-windows@pensec. If pensec@pensec is also installed, the MCP server does not connect; see Troubleshooting.

Highlights

  • pensec test --profile staging-active runs your installed ZAP (Java 17+) against approved staging or local targets: spider and passive scan for M-001, and the active scan for D-005 when the manifest sets zap.active_scan: true. Every ZAP request, including HTTPS, goes through the PenSec scope guard: origins, excluded paths, methods, request budget, rate limit and address checks, and a stop after three consecutive 429 or 5xx answers. A failed run is ERROR, a cut-short run INCONCLUSIVE (#13).
  • Authorization checks with test identities: list identities (credentials come from environment variables and are never stored) and read-only checks in the scope manifest. Each check is sent as every identity and anonymously; object checks decide C-001 (BOLA), function checks C-002 and revoked identities B-004 (#12).
  • pensec doctor shows whether ZAP is installed.
  • Documentation for updating and uninstalling, with every file PenSec creates (#92).

What's Changed

Full Changelog: v0.1.4...v0.1.5

PenSec v0.1.4

PenSec v0.1.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 11:23
baf83bb

Upgrade notes

  • Update the pensec CLI (Homebrew, Scoop, release binary or go install) together with the plugin. pensec init from 0.1.4 writes a new hooks section to .pensec/config.yaml, and older binaries reject unknown config keys. Existing configs without the section keep working and get the default hooks.auto_retest: true.
  • The Claude Code plugin now retests automatically after Claude edits code. Set hooks.auto_retest: false in .pensec/config.yaml to turn that off.

Highlights

  • Hands-free plugin: ask Claude to check the project's security or run /pensec:start. Claude runs the whole assessment, asks one question at the end and carries out what you choose, with a retest after every fix (#80).
  • Automatic retest: a Stop hook retests the files edited in a turn, within 40 seconds, and hands new or reopened findings back to Claude. A clean retest stays silent (#82).
  • pensec findings apply --file decisions.json --by <name> records many triage decisions in one transaction, and the plugin shows the whole list in one confirmation prompt (#83).
  • The website shows the install commands for the visitor's platform (#87).

What's Changed

Full Changelog: v0.1.3...v0.1.4

PenSec v0.1.3

PenSec v0.1.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 09:13
e263262

What's Changed

Full Changelog: v0.1.2...v0.1.3

PenSec v0.1.2

PenSec v0.1.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 06:28
1a0d67f

What's Changed

Full Changelog: v0.1.1...v0.1.2

PenSec v0.1.1

PenSec v0.1.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 21:28
000f7b9

What's Changed

Full Changelog: v0.1.0...v0.1.1