AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Immunize Python None Attribute Access

skill-viditkbhatnagar-immunize-python-none-attribute-access · by viditkbhatnagar

Use when writing Python that calls a function returning an Optional value (e.g., dict.get, re.search) before accessing attributes on the result.

No reviews yet
0 installs
18 views
0.0% view→install

Install

$ agentstack add skill-viditkbhatnagar-immunize-python-none-attribute-access

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-viditkbhatnagar-immunize-python-none-attribute-access)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Immunize Python None Attribute Access? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

python-none-attribute-access

Before dereferencing an Optional, check for None. dict.get(key) returns None when the key is missing; re.search(...) returns None on no match; many ORMs return None for "not found." Accessing any attribute on that None raises:

AttributeError: 'NoneType' object has no attribute '...'

Type checkers flag this, but runtime code often slips through — the AttributeError only surfaces on the unlucky input.

Example

Wrong — crashes when user_id is not in the registry:

def lookup_display_name(registry: dict[str, User], user_id: str) -> str:
    user = registry.get(user_id)
    return user.name

Right — handle the None case explicitly:

def lookup_display_name(registry: dict[str, User], user_id: str) -> str:
    user = registry.get(user_id)
    if user is None:
        return "unknown"
    return user.name

Don't catch AttributeError

Wrapping the access in try: ... except AttributeError: hides real bugs — a typo in an attribute name becomes silent. The correct fix is an explicit None check, a sentinel default, or failing fast with a clearer error.

Sentinel alternatives

  • dict.get(key, default) — pass a fallback directly.
  • if key not in registry: — fail fast with a specific error message.
  • registry.setdefault(key, default_user) — ensure the slot exists.

Pick the option whose semantics match what the caller expects to see when the value is missing.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.