information-flow-analyzer
Skill17 starsChanged 9 months agoApache-2.0View on GitHub
Analyze information flow through programs to enforce security policies and prevent data leaks.
In this repository98 other files it gives its agents.
- abstract-interpretation-engineSkill
- abstract-machineSkill
- acsl-annotation-assistantSkill
- actor-model-implementerSkill
- algebraic-effectsSkill
- alias-and-points-to-analysisSkill
- axiomatic-semanticsSkill
- bidirectional-type-checkingSkill
- bisimulation-checkerSkill
- capability-systemSkill
- closure-converterSkill
- common-subexpression-eliminatorSkill
- concurrency-verifierSkill
- constant-propagation-passSkill
- contextual-equivalenceSkill
- control-flow-analysisSkill
- coq-proof-assistantSkill
- cps-transformerSkill
- dafny-verifierSkill
- dataflow-analysis-frameworkSkill
- dead-code-eliminatorSkill
- defunctionalizationSkill
- denotational-semantics-builderSkill
- dependent-type-implementerSkill
- dsl-embeddingSkill
- effect-handlers-implementerSkill
- effect-systemSkill
- effect-type-systemSkill
- escape-analysisSkill
- existential-typesSkill
- ffi-designerSkill
- fuzzer-generatorSkill
- gadt-implementerSkill
- garbage-collector-implementerSkill
- graalvm-truffle-implementerSkill
- gradual-typing-implementerSkill
- higher-order-abstract-syntaxSkill
- hoare-logic-verifierSkill
- incremental-computationSkill
- inline-expanderSkill
- interprocedural-analysisSkill
- invariant-generatorSkill
- jit-compiler-builderSkill
- lambda-calculus-interpreterSkill
- language-server-protocolSkill
- lean-proverSkill
- lexer-generatorSkill
- linear-type-implementerSkill
- liveness-analysisSkill
- llvm-backend-generatorSkill
- lock-free-data-structureSkill
- loop-optimizerSkill
- loop-termination-proverSkill
- macro-expanderSkill
- memory-allocatorSkill
- message-passing-systemSkill
- mlir-dialect-designerSkill
- model-checkerSkill
- module-systemSkill
- monad-transformerSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
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
- Distinctive: line 47
Test with both confidentiality and integrity
- Distinctive: line 85
When security is not a concern
- Distinctive: line 87
When dynamic checks suffice
≈ “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.
Files
Information Flow Analyzer
Information flow analysis tracks how data flows through programs, enabling security policies like confidentiality (no leaks) and integrity (no corruption from untrusted sources).
When to Use This Skill
- Enforcing data confidentiality
- Preventing information leaks
- Implementing taint tracking
- Security audits
- Building secure systems
What This Skill Does
- Security Labels: Assign security levels to data
- Flow Tracking: Track how labels propagate
- Policy Enforcement: Block disallowed flows
- Declassification: Allow controlled release of secrets
- Implicit Flows: Handle control-flow-based leaks
Key Concepts
| Concept | Description |
| Security Label | Classification level of data |
| Explicit Flow | Direct assignment of secret to public |
| Implicit Flow | Control-flow-based leak |
| Noninterference | Secret inputs don't affect public outputs |
| Declassification | Controlled release of secrets |
| Taint | Mark data from untrusted sources |
Tips
- Handle implicit flows (control flow)
- Model declassification carefully
- Consider timing channels
- Test with both confidentiality and integrity
- Document security assumptions
Common Use Cases
- Preventing data leaks
- Taint tracking in web apps
- Secure information systems
- Compliance (HIPAA, GDPR)
- Security audits
Related Skills
taint-analysis- Dynamic taint trackingtype-checker-generator- Security type systemscapability-system- Capability-based securitysmt-solver-interface- Verify security properties
Canonical References
| Reference | Why It Matters |
| Denning "A Lattice Model of Secure Information Flow" | Original paper |
| Volpano et al. "A Sound Type System for Secure Flow" | Type-based analysis |
| Sabelfeld, Myers "Language-Based Information-Flow Security" | Comprehensive survey |
Tradeoffs and Limitations
Approach Tradeoffs
| Approach | Pros | Cons |
| Static typing | Compile-time | Conservative |
| Dynamic taint | Precise | Runtime overhead |
| Hybrid | Best of both | Complex |
When NOT to Use This Skill
- When security is not a concern
- Performance-critical code
- When dynamic checks suffice
Limitations
- Covert channels (timing, termination)
- Side channels
- Approximation may reject safe programs
Assessment Criteria
A high-quality implementation should have:
| Criterion | What to Look For |
| Soundness | No information leaks |
| Implicit Flows | Handles control flow |
| Precision | Few false positives |
| Policy | Configurable security policy |
Quality Indicators
✅ Good: Sound, handles implicit flows, configurable ⚠️ Warning: Misses implicit flows ❌ Bad: Allows explicit leaks, no policy support
Research Tools & Artifacts
Real-world information flow tools:
| Tool | Why It Matters |
| Jif | Java information flow |
| Flowlight | Facebook's flow analysis |
| SPARK | Verified information flow |
| Frama-C | C information flow |
| TaintDroid | Android taint tracking |
Key Systems
- Jif: Princeton's security-typed language
- Flowlight: Production taint analysis
Research Frontiers
Current information flow research:
| Direction | Key Papers | Challenge |
| Dynamic | "Dynamic Information Flow" | Precision |
| Channels | "Covert Channels" | Timing channels |
| Quantitative | "Quantitative IF" | Leakage amount |
Hot Topics
- ML for information flow: Learning flow patterns
- Differential privacy: Quantitative leakage
Implementation Pitfalls
Common information flow bugs:
| Pitfall | Real Example | Prevention |
| Implicit flow | Branch on secret | Track PC label |
| Termination | Loop count leaks | Non-terminating loops |
| Timing | Timing channel | Constant-time |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

