feat: classify environment fingerprint reads - #13
Closed
kiranmagic7 wants to merge 1 commit into
Closed
Conversation
Signed-off-by: Kiran <262980978+kiranmagic7@users.noreply.github.com>
Owner
Author
Owner
Author
|
Superseded by the consolidated PR #31. The BL600 rule and process path normalization work is retained there. Closing this standalone draft to keep one active upgrade review branch. No merge, release, or launch occurred. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #12
What changed
BehaviorLock now gives new reads of exact container, tracing, and environment fingerprint paths medium review rule
BL600. Ordinary file reads keep their existing lowBL500rule, and sensitive reads still take precedence as criticalBL100.Matching is exact or descendant aware. Lookalike paths such as
/.dockerenv.bak,/proc/self/status-old, and/sys/class/dmi-fakeremain ordinary reads.The parser also fixes numeric process path normalization.
/proc/123/statusnow becomes the documented/proc/$PID/status, while/proc/123-backup/statusremains unchanged.Why
The current parser already observes these path reads, but comparison treated them as ordinary low level filesystem noise. Surfacing the path evidence helps a reviewer notice newly added environment fingerprinting without claiming the package is evasive or malicious.
The Desktop proposal assigned this meaning to
BL500, but that identifier already has a public meaning.BL600preserves report compatibility for ordinary reads.Security and behavior impact
This changes comparison classification only. It does not change Docker flags, capabilities, network mode, capture input, profile behavior types, or schema versions. The new rule is medium, so the default high threshold still produces a review rather than a fail verdict.
ptrace, timing calls, directory enumeration, and other future anti analysis signals remain outside this change.Compatibility
Existing ordinary reads remain
BL500. Listed fingerprint paths now emitBL600in newly generated diffs.The
/proc/<pid>correction changes targets and stable digests for affected development profiles produced by the old bug. Recapture both package versions with the same BehaviorLock commit before comparison.Verification
make check, including formatting, vet, race enabled tests, shell syntax, ShellCheck, DCO tests, Actionlint, and JSON validation.make build.git diff --check.AI assistance
AI tools assisted with the audit, implementation, tests, and documentation. The final rule contract was revised to preserve the existing
BL500meaning, and every submitted change was reviewed against the current code.