Recent Releases of https://github.com/bytedance/varmor
https://github.com/bytedance/varmor - v0.8.2
Features
- Mode Switching Enhancement. Allow mutual conversion between all modes. (#238)
- Update Seccomp profile to AlwaysAllow post-behavior modeling (#240)
- Add ArmorProfileModel Import API (#242)
- Add Persistent Volume Support for LocalDisk ArmorProfileModel Data (#243)
Refactors
- Refactor webhook config generation for modularity and reduced redundancy (#241)
- Improve Audit Event Filtering Accuracy with Profile Names and Mount Namespace IDs (#245)
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.8.1...v0.8.2
- Go
Published by Danny-Wei 10 months ago
https://github.com/bytedance/varmor - v0.8.1
Features
- Added the
block-access-to-container-runtimebuilt-in rule - Injected the
accountID,region,clusterID, etc. fields into the component logs if they are configured with theauditEventMetadatavalues - Injected the namespace where the vArmor is deployed into the violation logs
- Added container image to the violation logs
Refactors
- Patched leader pod with pod name
- Passed service ports through environment variables
- Made the state feedback logic of the agent clearer
Fixes
- Ensured that integers in the
auditEventMetadatavalues can be output to the logs
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.8.0...v0.8.1
- Go
Published by Danny-Wei 10 months ago
https://github.com/bytedance/varmor - v0.8.0
vArmor v0.8.0 has been released. For a comprehensive overview of the new features, refer to our blog.
Added
- Added a self-hosted runner and e2e test cases for the BPF enforcer (#205)
- Supported defining multiple ports and port ranges for network egress rules (#202)
- Added PodServiceEgressControl feature for restricting access to pods and services (#206, #216, #217, #221)
- Added a pod-self entity to restrict containers from accessing the IP of the Pod they are located in (#207)
- Added an unspecified entity to restrict containers from accessing the 0.0.0.0 and :: (#208)
- Added a localhost entity to restrict containers from accessing the loopback address (#209)
- Enhanced DefenseInDepth mode with flexible profile sources and observation support (#210)
- Extracted profile name from the Pod annotation and added it to the violation event for improved log traceability (#210)
- Supported injecting metadata into the violation event (#214)
- Supported BPF enforcer removal from existing policies (#213)
- Added the block-access-to-kube-apiserver built-in rule (#222)
- Added the ingress-nightmare-mitigation built-in rule (#222) ## Changed
- Saved AppArmor and Seccomp profiles as plain text into the CR object (#201)
- Enhanced concurrency safety for status synchronization (#201)
- Extracted common fields from CRD definitions into a common file (#210)
- Upgraded libseccomp-golang to v0.11.0 (#210)
- Improved error handling in ArmorProfile processing to collect all profile errors (#212)
- Set default qps and burst values for Kubernetes client (#218)
- Increased the value of MaxTargetContainerCountForBpfLsm from 100 to 110 (#207)
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.7.1...v0.8.0
- Go
Published by Danny-Wei 11 months ago
https://github.com/bytedance/varmor - release v0.8.0-beta.1
- Go
Published by Danny-Wei 12 months ago
https://github.com/bytedance/varmor - release v0.8.0-alpha2
- Go
Published by Danny-Wei 12 months ago
https://github.com/bytedance/varmor - release v0.8.0-alpha1
- Go
Published by Danny-Wei about 1 year ago
https://github.com/bytedance/varmor - release v0.6.4
What's Changed
- Fixed incorrect interception of legitimate
setsockoptcalls in thedisallow-load-bpf-via-setsockoptrule (#199)
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.6.3...v0.6.4
- Go
Published by Danny-Wei about 1 year ago
https://github.com/bytedance/varmor - release v0.7.1
What's Changed
- Fixed the path matching issue in the procfs to ensure correct FD matching.
- Fixed incorrect interception of legitimate
setsockoptcalls in thedisallow-load-bpf-via-setsockoptrule (#199)
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.7.0...v0.7.1
- Go
Published by Danny-Wei about 1 year ago
https://github.com/bytedance/varmor - release v0.7.0
What's Changed
Added
- Added an
AllowViolationsfield to the VarmorPolicy and VarmorClusterPolicy CRD. - Supported the observation mode for AppArmor, BPF and Seccomp enforcers.
- Logged the violation events that are not blocked into the
violations.logfile atdebuglevel. - Added a
StorageTypefield to the ArmorProfileModel CRD. - Added a
STORAGE-TYPEfield to the additional printer columns of the ArmorProfileModel resources to provide more detailed information when viewing the resources via thekubectlcommand-line tool. - Mounted an
emptyDirdata volume to the agent and the manager when the behavior modeling feature is enabled. - Manager saves the behavior data and profiles into a local file within the data volume when the ArmorProfileModel object exceeds the limit.
- Agent caches the audit data in the data volume during modeling.
- Supported exporting the complete ArmorProfileModel object from the interface of the manager.
- All interfaces of the manager are exposed at the
/apispath. - Added a
--logFormatcommand-line option and allowed outputting logs in JSON format. - Modified the
AppArmorRawRulesstructure of the VarmorPolicy and VarmorClusterPolicy CRD to support setting custom rules for specific executable files. - Forced agents to update profiles whose status did not meet the expected criteria periodically.
- Loaded the profiles from the local file if the StorageType field of ArmorProfileModel object is LocalDisk when the policy is running in DefenseInDepth mode.
- Added a
--set jsonLogFormat.enabled=trueoption for switching log format to JSON.
Fixed
- Agent exposed the readinessProbe on port 6080 by default if it was not in a container.
- Accessed the classifier through the varmor-classifier-svc service when the agent was running in a container.
- Increased the wait time for timeout retry.
- Switched log level from 3 to 2 for tracing.
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.6.3...v0.7.0
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.7.0-alpha2
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.7.0-alpha1
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.7.0-beta3
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.6.3
What's Changed
- Added the
disallow-load-bpf-via-setsockoptbuilt-in rule for Seccomp enforcer. - Added the
disallow-userfaultfd-creationbuilt-in rule for Seccomp enforcer. - Increased wait time on timeout retry for status report.
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.6.2...v0.6.3
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.7.0-beta2
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.7.0-beta1
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.6.2
What's Changed
- Added child's mnt ns id into monitor list if it's in a new mnt namespace during behavior modeling.
- Return directly when the behavior data is too large.
- Added a debug flag to control whether to generate the debug files for behavior modeling.
- Added the
disallow-load-all-bpf-progrule for Seccomp enforcer to prohibit loading any types of eBPF programs. - Fixed: Create varmor-classifier-svc service in the namespace where varmor is installed
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.6.1...v0.6.2
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.6.1
What's Changed
- fixed: Always render the agent environment variables
- Upgrade the net package to fix CVE-2024-45338
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.6.0...v0.6.1
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.6.0
What's Changed
- feat: Adapt AppArmor enforcer for K8s v1.30 and above
- feat: Add monitoring metrics and support integration with Prometheus and Grafana
- feat: Support violation auditing feature for BPF enforcer
- feat: Enrich the violation audit logs of the BPF enforcer to include container and pod information
- feat: Integrate the violation auditing features of AppArmor and BPF enforcer
- feat: Unify the audit event format of AppArmor and BPF enforcers, and save the audit events into
/var/log/varmor/violations.log - feat: Support enforcing access control on socket creation for BPF enforcer.
- feat: Support wildcard for all bpf permissions and flags.
- feat: Add new networking built-in rules for BPF and AppArmor enforcer
- feat: Run agent in an unprivileged container
- feat: Allow running the agent in host's network namespace
- refactor: Abstract the processtracer and auditor modules to collect events for behavior modeling and violation auditing features
- refactor: Refactor behavior modeling and violation auditing features, no longer dependent on syslog or auditd, and no manual configuration required.
- refactor: Change fields in CRD from objects to pointers
- refactor: Integrate the logic of updating policy objects
- Auto adjust GOMAXPROCS for container limit
- Pass node name and readiness port to agent via environment variable
- Standardize the name of UserAgent
- Added version flag
- Added helm configuration options for new features
- fixed: Remove the finalizers of zombie ArmorProfile object
- fixed: Always retry for object updates if a conflict occurs
- fixed: The child profile should inherit rules from parent without attack protection rules
- fixed: Output error information when the agent service start fails
- docs: Further improve the repo documentation
- website: Official website launched (https://varmor.org)
New Contributors
- @eltociear made their first contribution in https://github.com/bytedance/vArmor/pull/104
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.5.11...v0.6.0
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.6.0-rc1
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.6.0-alpha1
- Go
Published by Danny-Wei over 1 year ago
https://github.com/bytedance/varmor - release v0.5.11
What's Changed
- Retry removal of ArmorProfile's finalizers upon conflict
- Gin logger now logs only unsuccessful requests
- Fixed: Load BPF profile when container starts
- Fixed: Return an error when the service response unauthorized
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.5.10...v0.5.11
- Go
Published by Danny-Wei almost 2 years ago
https://github.com/bytedance/varmor - release v0.5.10
What's Changed
- Fixed: Correct typo in capability denial by @Danny-Wei in https://github.com/bytedance/vArmor/pull/95
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.5.9...v0.5.10
- Go
Published by Danny-Wei almost 2 years ago
https://github.com/bytedance/varmor - release v0.5.9
What's Changed
- Added a
disable-chmod-s-bitbuilt-in rule for Seccomp enforcer. - Refactor Seccomp enforcer, and merge rules as much as possible.
- Added AlwaysAllow and RuntimeDefault mode for Seccomp enforcer.
- Synchronized the upstream rules from the containerd to the AppArmor profile templates.
- Merge the same child profiles for the AppArmor enforcer.
- Introduced a violations audit feature to the AppArmor enforcer.
- Support modifying existing policies and dynamically adding enforcers.
- Optimized the status of VarmorClusterPolicy/VarmorPolicy CR to display more error information.
- Added ownerReference and finalizers to the ArmorProfile CR to prevent unintended deletion.
- The Policy Advisor can now generate policy templates with behavior model data.
- Updated docs.
- Fixed: CI workflow login use docker/login-action
- Fixed: Ignore the privileged option of enhanceProtect for Seccomp enforcer.
- Fixed: Ensure the cleanup logic of CR is properly executed.
- Fixed: Update chart template to generate fixed full name for the k8s resources.
- Fixed: Update ArmorProfileModel CR when modeling is completed.
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.5.8...v0.5.9
- Go
Published by Danny-Wei almost 2 years ago
https://github.com/bytedance/varmor - release v0.5.9-rc4
- Go
Published by Danny-Wei almost 2 years ago
https://github.com/bytedance/varmor - release v0.5.9-rc3
- Go
Published by Danny-Wei almost 2 years ago
https://github.com/bytedance/varmor - release v0.5.9-rc2
- Go
Published by Danny-Wei about 2 years ago
https://github.com/bytedance/varmor - release v0.5.9-rc1
- Go
Published by Danny-Wei about 2 years ago
https://github.com/bytedance/varmor - release v0.5.8
What's Changed
- Added a
disable-cap-all-except-net-bind-servicebuilt-in rule to comply with the Restricted Policy of the Pod Security Standards - Deprecated the
disallow-create-user-nsbuilt-in rule of AppArmor and BPF enforcers. - Added a policy advisor to help generate policy templates using the user context.
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.5.7...v0.5.8
- Go
Published by Danny-Wei about 2 years ago
https://github.com/bytedance/varmor - release v0.5.7
What's Changed
- Added a pre-check for Seccomp enforcer
- Upgraded the base image to Debian bookworm
- Upgraded apparmor user components to 3.1
- Added a
disable-chmod-x-bitbuilt-in rule for Seccomp enforcer - Optimized CI workflows
- Added a readinessProbe for the Agent, optimizing the startup process
- Unified log format
- Added annotations for the demos
New Contributors
- @darfux made their first contribution in https://github.com/bytedance/vArmor/pull/42
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.5.6...v0.5.7
- Go
Published by Danny-Wei about 2 years ago
https://github.com/bytedance/varmor - release v0.5.7-rc1
- Go
Published by Danny-Wei about 2 years ago
https://github.com/bytedance/varmor - release v0.5.6
What's Changed
- Agent and Manager now interact through TLS.
- Add Seccomp enforcer with support for EnhanceProtect, BehaviorModeling, and DefenseInDepth modes.
- Cluster-scoped policy
VarmorClusterPolicynow supports BehaviorModeling mode. - Support for the combination of different enforcers, now able to combine the use of AppArmor, BPF, Seccomp enforcers.
- Add
.spec.updateExistingWorkloadsfield to the policy interface, allowing users to independently control the protection switch for existing workloads. - Enable the
--restartExistWorkloadsswitch of Manager by default. - Move the
privilegedfield of the policy interface to inside.spec.policy.enhanceProtect. - Add built-in rules:
disallow-create-user-ns,runc-override-mitigation,dirty-pipe-mitigation, *disallow-mount-securityfs,disallow-access-kallsyms. - Add CI workflows to automate the build and test processes.
- Add more demos and make them more comprehensible.
- Fix bugs.
New Contributors
- @UgOrange made their first contribution in https://github.com/bytedance/vArmor/pull/19
- @jonyhy96 made their first contribution in https://github.com/bytedance/vArmor/pull/27
Full Changelog: https://github.com/bytedance/vArmor/compare/v0.5.5...v0.5.6
- Go
Published by Danny-Wei over 2 years ago
https://github.com/bytedance/varmor - release v0.5.6-rc2
tag v0.5.6-rc2
- Go
Published by Danny-Wei over 2 years ago
https://github.com/bytedance/varmor - release v0.5.6-rc2
tag v0.5.6-rc2
- Go
Published by Danny-Wei over 2 years ago
https://github.com/bytedance/varmor - release v0.5.6-rc
tag v0.5.6-rc
- Go
Published by Danny-Wei over 2 years ago
https://github.com/bytedance/varmor - release 0.5.5
- Refactor the behavior modeling feature of the AppArmor enforcer.
- Introduce the BehaviorModeling mode to collect application behavior and generate models.
- Optimize the mount access control primitives of the BPF enforcer to address bypass issues.
- Fix the issue where abnormal nodes impact the status of policies.
- Upgrade Go to version 1.20 and build BPF programs inside containers.
- Support pulling images and charts from the Asia-Pacific Southeast region.
- Go
Published by Danny-Wei over 2 years ago
https://github.com/bytedance/varmor - release 0.5.4
- Add mandatory access control primitives related to mount syscalls for the BPF enforcer.
- Introduce new built-in rules for the BPF enforcer, including disallow-mount, disallow-umount, disallow-mount-procfs, disallow-mount-cgroupfs, disallow-debug-disk-device, and disallow-mount-disk-device.
- Fine-tune partial built-in rules of the AppArmor enforcer to make them more precise and avoid unexpected behavior.
- By default, building enhanced protection rules on top of the RuntimeDefault rules.
- Improve the RuntimeDefault mode for the BPF enforcer.
- Introduce a cluster-scoped policy interface: the VarmorClusterPolicy CR.
- Improve documents.
- Go
Published by Danny-Wei over 2 years ago
https://github.com/bytedance/varmor - release 0.5.3
- Optimize leader election logic.
- Add webhook matchlabel and BPF enforcer exclusive mode configuration options.
- Introduce ptrace primitives and built-in rules for BPF enforcer.
- Improve documents.
- Go
Published by Danny-Wei over 2 years ago
https://github.com/bytedance/varmor - release-0.5.2
community initial release
- Go
Published by Danny-Wei almost 3 years ago