Skip to content

Improve obfuscation: redact more sensitive states and fix Unicode#2037

Merged
iMicknl merged 8 commits into
v2/mainfrom
fix/improve-obfuscation
May 17, 2026
Merged

Improve obfuscation: redact more sensitive states and fix Unicode#2037
iMicknl merged 8 commits into
v2/mainfrom
fix/improve-obfuscation

Conversation

@iMicknl
Copy link
Copy Markdown
Owner

@iMicknl iMicknl commented May 17, 2026

Summary

  • Add internal:CurrentInfraConfigState, core:LocalIPv4AddressState, core:IPAddress, core:MacAddress, core:SerialNumber, and core:DeviceSerialNumberState to the sensitive state redaction list
  • Fix obfuscate_string regex to properly handle Unicode characters (e.g. accented letters like é, ê, ü in French device names)

Closes #2031

Test plan

  • All 419 existing tests pass
  • New parametrized tests cover all sensitive state names
  • New tests verify Unicode labels are fully redacted

dependabot Bot and others added 8 commits May 7, 2026 22:50
Bumps [ty](https://github.com/astral-sh/ty) from 0.0.33 to 0.0.34.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ty/releases">ty's
releases</a>.</em></p>
<blockquote>
<h2>0.0.34</h2>
<h2>Release Notes</h2>
<p>Released on 2026-05-01.</p>
<h3>Bug fixes</h3>
<ul>
<li>Avoid panic in recursive protocol signature comparisons (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24665">#24665</a>)</li>
<li>Avoid panics for syntax error targets in invalid unpacking
assignments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24663">#24663</a>)</li>
<li>Fix unbounded type growth in nested-typevar substitutions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24803">#24803</a>)</li>
<li>Prevent string annotation tokens from leaking across notebook cells
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24919">#24919</a>)</li>
<li>Support reference finding in stringified annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24956">#24956</a>)</li>
</ul>
<h3>LSP server</h3>
<ul>
<li>Add hover support for PEP 695 type aliases (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24926">#24926</a>)</li>
<li>Offer string literal completion suggestions based on expected type
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24555">#24555</a>)</li>
<li>Support Go-to Definition, Go-To Declaration, and Find References for
TypedDict and NamedTuple initializers (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24897">#24897</a>)</li>
<li>Support <code>Annotated</code> metadata in semantic tokens (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24890">#24890</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Add support for <code>functools.partial</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24582">#24582</a>)</li>
<li>Fix ParamSpec defaults and alias variance (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24479">#24479</a>)</li>
<li>Fix <code>TypeIs</code> assignability with gradual types (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24928">#24928</a>)</li>
<li>Infer <code>dict(**TypedDict)</code> in <code>TypedDict</code>
context (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24709">#24709</a>)</li>
<li>Support <code>infer_variance</code> for legacy <code>TypeVar</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24930">#24930</a>)</li>
<li>Support variance keywords in <code>ParamSpec</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24927">#24927</a>)</li>
<li>Sync vendored typeshed stubs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24952">#24952</a>).
<a
href="https://github.com/python/typeshed/compare/c03c2b926422c82ab680d27f3ad2491845000802...e4d32e01bee44241a5e7c33298c261175b9f1bdb">Typeshed
diff</a></li>
<li>Unpack <code>Union</code> of <code>TypedDict</code> in various sites
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24958">#24958</a>)</li>
</ul>
<h3>Diagnostics</h3>
<ul>
<li>Add missing error context node for protocol to protocol
assignability (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24905">#24905</a>)</li>
<li>Show a diagnostic for unsupported inferred Python version (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24581">#24581</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Lazily build TypeVar accumulations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24782">#24782</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/sharkdp"><code>@​sharkdp</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/lerebear"><code>@​lerebear</code></a></li>
<li><a
href="https://github.com/MatthewMckee4"><code>@​MatthewMckee4</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a href="https://github.com/mtshiba"><code>@​mtshiba</code></a></li>
<li><a
href="https://github.com/Minibrams"><code>@​Minibrams</code></a></li>
<li><a
href="https://github.com/denyszhak"><code>@​denyszhak</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ty/blob/main/CHANGELOG.md">ty's
changelog</a>.</em></p>
<blockquote>
<h2>0.0.34</h2>
<p>Released on 2026-05-01.</p>
<h3>Bug fixes</h3>
<ul>
<li>Avoid panic in recursive protocol signature comparisons (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24665">#24665</a>)</li>
<li>Avoid panics for syntax error targets in invalid unpacking
assignments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24663">#24663</a>)</li>
<li>Fix unbounded type growth in nested-typevar substitutions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24803">#24803</a>)</li>
<li>Prevent string annotation tokens from leaking across notebook cells
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24919">#24919</a>)</li>
<li>Support reference finding in stringified annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24956">#24956</a>)</li>
</ul>
<h3>LSP server</h3>
<ul>
<li>Add hover support for PEP 695 type aliases (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24926">#24926</a>)</li>
<li>Offer string literal completion suggestions based on expected type
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24555">#24555</a>)</li>
<li>Support Go-to Definition, Go-To Declaration, and Find References for
TypedDict and NamedTuple initializers (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24897">#24897</a>)</li>
<li>Support <code>Annotated</code> metadata in semantic tokens (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24890">#24890</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Add support for <code>functools.partial</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24582">#24582</a>)</li>
<li>Fix ParamSpec defaults and alias variance (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24479">#24479</a>)</li>
<li>Fix <code>TypeIs</code> assignability with gradual types (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24928">#24928</a>)</li>
<li>Infer <code>dict(**TypedDict)</code> in <code>TypedDict</code>
context (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24709">#24709</a>)</li>
<li>Support <code>infer_variance</code> for legacy <code>TypeVar</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24930">#24930</a>)</li>
<li>Support variance keywords in <code>ParamSpec</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24927">#24927</a>)</li>
<li>Sync vendored typeshed stubs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24952">#24952</a>).
<a
href="https://github.com/python/typeshed/compare/c03c2b926422c82ab680d27f3ad2491845000802...e4d32e01bee44241a5e7c33298c261175b9f1bdb">Typeshed
diff</a></li>
<li>Unpack <code>Union</code> of <code>TypedDict</code> in various sites
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24958">#24958</a>)</li>
</ul>
<h3>Diagnostics</h3>
<ul>
<li>Add missing error context node for protocol to protocol
assignability (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24905">#24905</a>)</li>
<li>Show a diagnostic for unsupported inferred Python version (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24581">#24581</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Lazily build TypeVar accumulations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24782">#24782</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/sharkdp"><code>@​sharkdp</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/lerebear"><code>@​lerebear</code></a></li>
<li><a
href="https://github.com/MatthewMckee4"><code>@​MatthewMckee4</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a href="https://github.com/mtshiba"><code>@​mtshiba</code></a></li>
<li><a
href="https://github.com/Minibrams"><code>@​Minibrams</code></a></li>
<li><a
href="https://github.com/denyszhak"><code>@​denyszhak</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ty/commit/d00448eb0204e2dd11943d21e8e08a225914775f"><code>d00448e</code></a>
Bump version to 0.0.34 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3392">#3392</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/e9e4c909d806d0fc4f7e84192bc15fb01aa3b95c"><code>e9e4c90</code></a>
docs: Reference correct issue in FAQ regarding strict mode (<a
href="https://redirect.github.com/astral-sh/ty/issues/3385">#3385</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/1b70eae97ede0d2528c3658b85bafe813f718a43"><code>1b70eae</code></a>
Release: move 'diagnostics' section further down (<a
href="https://redirect.github.com/astral-sh/ty/issues/3373">#3373</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/d439e376ceca70453723cae44b2e61b3f3a6a2f6"><code>d439e37</code></a>
CHANGELOG: Rename to 'Notable changes' (<a
href="https://redirect.github.com/astral-sh/ty/issues/3372">#3372</a>)</li>
<li>See full diff in <a
href="https://github.com/astral-sh/ty/compare/0.0.33...0.0.34">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ty&package-manager=uv&previous-version=0.0.33&new-version=0.0.34)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [boto3](https://github.com/boto/boto3) from 1.42.97 to 1.43.4.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/boto/boto3/commit/96f1897f47cb95d6105d8752d56813fd7140e6d1"><code>96f1897</code></a>
Merge branch 'release-1.43.4'</li>
<li><a
href="https://github.com/boto/boto3/commit/5b40fbf6665bf9b4e4f2b90f45e5590a73b7e00c"><code>5b40fbf</code></a>
Bumping version to 1.43.4</li>
<li><a
href="https://github.com/boto/boto3/commit/86325c73341bb398fe0fa0bdf9e2c02a95575c34"><code>86325c7</code></a>
Add changelog entries from botocore</li>
<li><a
href="https://github.com/boto/boto3/commit/bea693c0182d3d602c6bf23c7644d8353961c8e1"><code>bea693c</code></a>
Merge branch 'release-1.43.3'</li>
<li><a
href="https://github.com/boto/boto3/commit/99980e56797d83ffdbd04ee6f9633ffd8396329c"><code>99980e5</code></a>
Merge branch 'release-1.43.3' into develop</li>
<li><a
href="https://github.com/boto/boto3/commit/1f57fdc24c6ae78d411104ba53f7ea83096bc036"><code>1f57fdc</code></a>
Bumping version to 1.43.3</li>
<li><a
href="https://github.com/boto/boto3/commit/ba69bd24bed6f8d31d6830528d00a855692f94a2"><code>ba69bd2</code></a>
Add changelog entries from botocore</li>
<li><a
href="https://github.com/boto/boto3/commit/7dc336e0d346a065cc537332d9d4ffc1663230ae"><code>7dc336e</code></a>
Merge branch 'release-1.43.2'</li>
<li><a
href="https://github.com/boto/boto3/commit/e240af8053d7d90e29914212293bf5cc6f42f12c"><code>e240af8</code></a>
Merge branch 'release-1.43.2' into develop</li>
<li><a
href="https://github.com/boto/boto3/commit/99fd4215f560ae4d6fd0411d0571986ecd95a3c2"><code>99fd421</code></a>
Bumping version to 1.43.2</li>
<li>Additional commits viewable in <a
href="https://github.com/boto/boto3/compare/1.42.97...1.43.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=boto3&package-manager=uv&previous-version=1.42.97&new-version=1.43.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
# Conflicts:
#	pyoverkiz/enums/command.py
#	pyoverkiz/enums/ui.py
#	pyproject.toml
#	uv.lock
…dling

Add IP addresses, MAC addresses, and serial numbers to the sensitive
state list. Fix obfuscate_string regex to properly handle Unicode
characters (e.g. accented letters in French device names).

Closes #2031
Copilot AI review requested due to automatic review settings May 17, 2026 16:40
@iMicknl iMicknl requested a review from tetienne as a code owner May 17, 2026 16:40
@iMicknl iMicknl added the v2 label May 17, 2026
@github-actions github-actions Bot added the bug Something isn't working label May 17, 2026
@iMicknl iMicknl merged commit b1a5995 into v2/main May 17, 2026
7 of 8 checks passed
@iMicknl iMicknl deleted the fix/improve-obfuscation branch May 17, 2026 16:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves diagnostic obfuscation by expanding sensitive Overkiz state redaction and fixing Unicode handling for masked strings.

Changes:

  • Updates obfuscate_string to mask Unicode word characters correctly.
  • Adds additional sensitive state names to value redaction.
  • Adds tests covering Unicode labels and the expanded sensitive state list.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
pyoverkiz/obfuscate.py Updates string masking regex and extends sensitive state detection.
tests/test_obfuscate.py Adds regression coverage for Unicode obfuscation and newly sensitive states.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working v2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants