agentsclimarketplace

Fips remediation plan

Skill TGPSKI/go-fips-toolkit/.agents/skills/fips-remediation-plan

Generates component-specific FIPS remediation TODO lists from crypto audit results, with effort estimates and suggested PR sequencing. A directed workflow following the Inspect-Decide-Generate pattern, splitting findings into must-fix, primitive swaps, no-change-needed, and upstream dependencies. Use after a FIPS crypto audit when a component team asks what they need to fix, when planning sprint work for a FIPS migration, or when writing remediation PR descriptions.From its SKILL.md

Install
npx -y skills add TGPSKI/go-fips-toolkit --skill fips-remediation-plan

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 20 days oldThe repository was created 20 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.4 KB, 977 tokens by cl100k_base, as published. Nobody here has run it

FIPS Remediation Plan

Generate component-specific remediation TODO lists from FIPS crypto audit results, with effort estimates and PR sequencing.

This is a directed workflow following the Inspect-Decide-Generate pattern.

When to Use

  • After running @fips-crypto-audit/SKILL.md and getting results
  • When a component team asks "what do I need to fix?"
  • When planning sprint work for FIPS migration
  • When generating PR descriptions for remediation work

Inspect

1. Find audit results

ls -lt audit/results/summary-*.txt | head -3

If no results exist, tell the user to run @fips-crypto-audit/SKILL.md first.

2. Read the summary

Read the most recent summary file to understand the scope.

3. Determine target

Ask the user:

QuestionDefault
Which component(s)?All with CRITICAL or WARNING findings
Include vendor findings?First-party only (vendor needs upstream PRs)
Output format?Markdown TODO list

Decide

For each component, read its detail file and classify every first-party finding:

Finding ClassStatusAction
CRITICAL first-party, actual cryptomust-fixReplace algorithm or remove feature
CRITICAL first-party, non-cryptoswapReplace with hash/fnv, hash/crc32, or crypto/sha256
WARNING first-party, test codelow-priorityFix in test refactor
WARNING first-party, productionshould-fixSwap algorithm
AUDIT first-party, SHA-256/AES/RSA>=2048no-changeAlready FIPS-approved
AUDIT first-party, crypto/randno-changeLegitimate crypto RNG
Vendor CRITICAL, org-ownedupstream-prFile PR against shared library
Vendor CRITICAL, externaltrackFile issue, track upstream

Generate

For each component with findings, produce:

## <component-name> FIPS Remediation

### Must Fix (blocks fips140=only)

- [ ] `path/to/file.go:42` — md5.New() for password hashing
  - **Why**: Actual cryptographic use of non-FIPS algorithm
  - **Fix**: Replace with bcrypt or SHA-256 based password hash
  - **Effort**: S (< 1 hour)
  - **PR**: Standalone PR, no dependencies

### Swap (non-crypto usage of crypto primitives)

- [ ] `path/to/file.go:88` — md5.New() for content fingerprinting
  - **Why**: Non-cryptographic use, will fail under fips140=only
  - **Fix**: Replace with `hash/fnv` or `crypto/sha256` (already FIPS-approved)
  - **Effort**: XS (< 15 min)

### No Change Needed

- `path/to/file.go:120` — sha256.Sum256() for config annotation hash
  - SHA-256 is FIPS-approved. No action required.

### Upstream Dependencies

- [ ] <shared-library> — <description of finding>
  - **Track**: [link to issue/PR if exists]
  - **After fix**: Run `go get` + `go mod vendor` to pull fix

PR Sequencing

Generate a suggested PR order:

OrderPRComponentsDepends On
1Shared library: swap non-FIPS hash to SHA-256All consumersNothing
2Service with actual FIPS violationThat serviceNothing
3Service with non-crypto MD5 usageThat serviceNothing
NVendor bumps across all consumersAllPR #1 merged

Effort Summary

For each component, produce a one-line effort estimate:

<service-a>:   1 must-fix, 1 swap → ~2 hours
<service-b>:   2 swap → ~30 min
<service-c>:   1 swap → ~15 min
All others:    vendor bumps only → ~15 min each after upstream PRs merge

Follow-up Skills

  • Use @fips-finding-triage/SKILL.md to investigate ambiguous findings before classifying
  • Use @fips-crypto-audit/SKILL.md to re-audit after fixes are applied

What ships with it: 1 file

1.4 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 326,782. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.