Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device.
Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
For the specific issue pbkdf2, we can probably ignore in snyk.
The broader question still remains… how do we want to manage yarn.lock files in the context of security scans, vulnerability tracking, etc.
What are the yarn.lock files used for?
Reproducible builds
Security scans
License scans (semgrep)
Anything else?
Should distinct yarn.lock files be generated for security scans? Should we exclude dev dependencies?
In order to make use of semgrep, we need yarn.lock files
We’d like to use this since it reports things snyk doesn’t. It also support license compliance checks.
Big picture: what is it we’re trying to accomplish with these tools?
We don’t yet have anything which performs the license checks.
Better visibility/awareness of vulnerabilities
Presently, the only reason why lock files for individual repositories are in place today are for consistent CI builds
Can we enable only the license checks?
Scanning the platform-complete lock file makes sense. This isn’t controversial.
Scanning individual ui module lock files is the sticking point.
This is needed if we want to scan dev dependencies - these are not included in platform-complete
Idea: fork each ui module repo, run the build/scans on a nightly basis.
This will raise awareness of issues early on.
Idea: maybe we can use the snyk/semgrep CLIs to avoid needing to create forks…
Clone, remove the lock file, build, scan local lock file with CLI.
More lightweight - no need to maintain forks
Idea: develop some automation which clones the repo, generates a new lock file, and commits/pushes it each night. Scans would go against the latest lock file.
Cons: lots of commits to the repo which don’t actually provide any benefit beyond these scans.
Issue with semgrep user mgmt. Peter M. would like to reinstall to resolve.
Possible impact: things manually ignored/etc. would be lost, but we haven’t done much/any of that yet.
Thumbs up from the group. Julian will circle back with Peter.
5 min
Snyk Vulnerability Stats
@Craig McNally
I will post the latest dashboard screenshots a little bit later.
New CVEs found (Need SECURITY issues for these)
I will try to get to this, but really busy w/ WOLFcon prep (not just the security session, but 3 more as well). If I provide some additional info about which repos are affected, can someone else help file the issues?
Craig will put additional info in slack. if you’re available to help create SECURITY issues, great, go ahead and post a link in the corresponding thread.
1 min
WOLFcon
@Craig McNally
Thanks for the feedback on the slides guys. I encourage you to join the zoom call on Tuesday if possible. It would be great if we had more representation than just myself. That said, if you can’t make it, it’s not a problem.
We decided to bump this to P2 and ask the core platform team to work on it.
For consistency, it should be backported to Sunflower and Ramsons
Keeping this here to track since there isn’t a SECURITY issue for it.
1 min
Discussion on module based resolutions
Discussion on yarn package.json resolutions
@Jens Heinrich suggested evaluating adding resolutions to modules if the intermediate packages have no patched versions
Long discussion about the pros and cons.
Today:
More discussion required? Yes, on #folio-stripes channel, then come back to security team.
Remove from agenda going forward.
?
semgrep license check uses the same dependency information as the dependency vulnerability check, therefore it’s currently managed by security group but anyone in charge for license compliance can join the semgrep admins.
Craig did some Snyk cleanup last week - it’s difficult to stay on top of this, so I’ve been doing it in batches.
Craig to sort out discrepancies in SECURITY-370/371… CVE in links different than title?
Shai-hulud - needs to be monitored on an ongoing basis.
Can unembargo.
Get the latest list of packages from the link in the description
Grep through platform-complete’s yarn.lock file
There’s also a short script to check for shai-hulud branches in all the org’s repos
# List all repos and check for shai-hulud branch
gh repo list YOUR_ORG_NAME --limit 1000 --json nameWithOwner --jq '.[].nameWithOwner' | while read repo; do
gh api "repos/$repo/branches" --jq '.[] | select(.name == "shai-hulud") | "'$repo' has branch: " + .name'
done
Topic Backlog
0 min
Jira Group and Security Level review
Team
From Craig in slack:
I've been in communication with David Crossley, Wayne Schneider, John Malconian and Peter Murray about the issue above. They apparently didn't have access to these embargoed issues (SysOps and Core Team). Peter shared this screenshot with me, which doesn't look right. I'd like to review this at one of our meetings and come up with a list of changes/improvements for Peter to make. A few ideas off the top of my head:
Add descriptions to each of the security groups, like we have for "FOLIO Security Group"
Maybe add a new security group and level for FOLIO devops
Review membership of each of these groups and remove users no longer on the project
Review the Security Level -> Group mappings. Some of these don't look quite right to me.
If it makes this easier, we could invite Peter to a meeting so we can see the groups/levels interactively and makes adjustments as we go
Not exactly this, but related...
Issues submitted to the SECURITY JIRA project should automatically be embargoed (Security Level = Folio Security Group)
The submitter of issues to the SECURITY JIRA project should be able to view issues they submit, regardless of their Security Level
Email notification sent to the Folio Security Group when an issue is created in the SECURITY Jira project.
Action: @Craig McNally to setup a meeting with Peter and representatives from the Security Team to work through these things after WOLFcon?
We need to look into how security level configuration works to gain a better understanding of why it behaves the way it does.
Why do we have All Folio Developers in the "Sys Ops and Core Team" security level?
Today:
(Craig) no progress due to lack of time to spend on this. Does someone else have time to work through this with Peter?
Time permitting
Advice for handling of sensitive banking information
Team
From slack conversation, I think I've gathered the following:
In this case (bank account and transit numbers), the information is highly sensitive.
Highly sensitive information should:
Be stored in it's own table
Accessed via a dedicated API
Protected by a dedicated permission
Encrypted in the database, not only on disk.
This could mean either:
Explicitly encrypting/decrypting in the application layer and storing the encrypted data in postgres
Let's review and discuss before providing this feedback to Raman.
@Axel Dörrer also suggested that defining classes of sensitivity could help teams determine which techniques are applicable in various situations. I agree having some general guidelines on this would be helpful.
regular data
low sensitive - permission based on same API
high sensitive - permission based on dedicated API
It would probably help to provide concrete examples of data in each class. This can be a longer term effort, we don't need to sort out all the details today.
Next Steps:
Clearly define/formalize the various classes
Come up with concrete examples of each class
Build out guidance
Come up with concrete examples of how to protect each class of data.
Consider storing some classes of data outside of postgres altogether - e.g. in secret storage.
What would be the guidance we provide to teams for this so we don't end up with each team doing things differently?
SecretStore interface and existing implementations are currently only read-only. They would need to be extended to allow for creation/mgmt of this information.
Craig to start a conversation in slack about this.
Seeking a volunteer to generate a draft document for us to review at a later meeting.
Today:
@Axel Dörrer to do a first draft as a base for further discussions
Status on pentesting works within Network traffic control group
@Axel Dörrer
Due to some absences on different reasons the group stalled. Axel will try to reactivate the group.