agentleFS
thiennc-tesoglobalthiennc-tesoglobal/flutter-skills/skills/flutter-security/SKILL.md

flutter-security

Skill16 starsChanged 2 months agoBSD-3-ClauseView on GitHub

Threat-model, audit, or harden Flutter and Dart applications against concrete security and privacy risks involving authorization, secrets, sensitive storage, cryptography, WebViews, deep links, platform exposure, or dependencies. Use for security findings and control requirements; route sign-in and session implementation to flutter-authentication.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Never rely on obfuscation, environment files, or client-side checks to keep a credential secret or enforce authorization.

    line 19
  2. Distinctive:

    Use platform-backed key and credential storage where the threat model requires it.

    line 21
  3. Distinctive:

    Keep authentication state in the client, but enforce authorization and sensitive business rules on a trusted backend.

    line 22
  4. Distinctive:

    Use maintained, reviewed cryptographic primitives and protocols.

    line 24
  5. Distinctive:

    Treat dependency scanner output as leads that require applicability analysis, not automatic proof of an exploitable Flutter finding.

    line 26
  6. Distinctive:

    Read application security for secrets, authentication, storage, network transport, cryptography, privacy, and logging.

    line 30
  7. Distinctive:

    Read platform attack surfaces for WebViews, deep links, intents, permissions, backups, screenshots, clipboard, and native boundaries.

    line 31
  8. Distinctive:

    Read security verification when performing an audit, validating dependencies or release configuration, or reporting findings.

    line 32

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Flutter Security

Protect user data and privileged operations with controls that match the actual threat model. Treat code, configuration, storage, logs, and binaries shipped to a user-controlled device as inspectable.

Establish scope

  1. Identify protected assets, actors, trust boundaries, supported platforms, sensitive flows, and realistic abuse cases.
  2. Inspect pubspec.yaml, pubspec.lock, platform manifests and entitlements, environment handling, network configuration, storage, logging, WebViews, links, and release settings relevant to those assets.
  3. Distinguish public identifiers from credentials and server-enforced trust. Do not label every client-visible key a secret without checking its provider contract and allowed restrictions.
  4. Define whether the work is a static review, hardening change, or authorized runtime assessment. Do not probe external systems, rotate credentials, revoke sessions, or change production policy without explicit authorization.

Core rules

  • Never rely on obfuscation, environment files, or client-side checks to keep a credential secret or enforce authorization.
  • Minimize sensitive data collection, retention, exposure, and logging. Clear user-bound caches and credentials when their lifecycle ends.
  • Use platform-backed key and credential storage where the threat model requires it; ordinary preferences and databases are not secret vaults.
  • Keep authentication state in the client, but enforce authorization and sensitive business rules on a trusted backend.
  • Preserve secure transport defaults. Add exceptions or certificate pinning only for a documented requirement and an operationally viable rotation and recovery plan.
  • Use maintained, reviewed cryptographic primitives and protocols. Do not invent algorithms, modes, key derivation, or token formats.
  • Validate untrusted inputs at deep links, WebViews, platform channels, files, intents, clipboard boundaries, and remote responses.
  • Treat dependency scanner output as leads that require applicability analysis, not automatic proof of an exploitable Flutter finding.

Load references conditionally

  • Read application security for secrets, authentication, storage, network transport, cryptography, privacy, and logging.
  • Read platform attack surfaces for WebViews, deep links, intents, permissions, backups, screenshots, clipboard, and native boundaries.
  • Read security verification when performing an audit, validating dependencies or release configuration, or reporting findings.

Route sign-in and session implementation to flutter-authentication, ordinary cache and database design to flutter-persistence, transport behavior to flutter-networking, native implementation mechanics to flutter-platform-integration, and release artifact handling to flutter-build-release. Security owns the threat and control requirements across those boundaries.

Report with evidence

For each finding, identify the asset, attack precondition, reachable path, impact, concrete evidence, and the smallest proportionate remediation. Separate confirmed vulnerabilities from defense-in-depth improvements and unresolved questions. Do not claim that a package, scanner, encryption flag, or clean static review proves the application secure.

Sources

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.