2025-07-17 Meeting notes

2025-07-17 Meeting notes

Date

Jul 17, 2025

Attendees

Name

Present

Planned Absences

Name

Present

Planned Absences

@Craig McNally

Yes

 

@Julian Ladisch 

 

 

@Axel Dörrer 

 

 

@Ryan Berger (Deactivated) 

Yes

 

@Chris Rutledge 

 

 

@Jakub Skoczen 

 

 

@John Coburn 

Yes

 

@Skott Klebe 

 

 

@Kevin Day

 

 

@Jens Heinrich

Yes

 

@Tom Gorman 

 

 

Discussion items

Time

Item

Who

Notes

Time

Item

Who

Notes

1 min

https://semgrep.dev/

@Julian Ladisch

We should give it a try - free for public repos.

@Julian Ladisch will reach out to Peter M. to get it setup: https://folio-org.atlassian.net/browse/FOLIO-4291

  • You can join the https://semgrep.dev/orgs/semgrep_folio_org if you are a member of https://github.com/orgs/folio-org/people

  • Let's all get familiar with this tool, so far it's looking great

  • Kevin played around with it, and was pleasantly surprised.  It found errors which he wasn't expecting it to, docker yaml files, github actions, etc.

  • Also references 3rd party documentation (helpful!)

  • See thread in slack: https://open-libr-foundation.slack.com/archives/C210RP0T1/p1752062676873659

  • We need to be better about communicating these types of things to the development community.

  • Until the conversation about lock files, share libraries, etc. settles, let’s try to disable this integration

    • There’s some discussion in #folio-security-group about this from Craig/Kevin. Need to review. Github repo settings may also play into this.

    • It isn’t clear how the lock file conversation will be resolved… maybe this is on stripes architecture, or the tech council, or … ?

  • Later, we can send out announcements/comms about this and then turn it back on (possibly in a limited way then gradually expand)

  • Next steps:

    • (Security Team) Review the options for turning this off.

    • (Zak/John/etc.) Discuss the lock file topic w/ stripes-architecture, if needed escalate to the TC?


Today:

  • Based on slack messages, it looks like Julian has sorted out the “turn it off” part of this. It appears it was only applicable to a handful of repos/projects.

5-10 min

Vulnerability Stats

@Craig McNally

I pulled together some charts showing the number of vulnerabilities in Synk over time, as well as their breakdown by severity.  I pulled this info from the weekly summary emails.  If we find it helpful I can continue to update these and maybe even include them into the weekly meeting notes

  • Stats are being skewed by test and unofficial repos. The integration test repo on it's own accounts for 15%+ of the total vulnerabilities.

  • @Jens Heinrich suggested tracking the number of vulnerabilities on a per-project basis, over time might help give a better understanding of what’s changing week to week. The snyk UI makes an API call to get this info, we can probably leverage this.

  • @Craig McNally will give this a try and report back next week.

  • Charts as of 7/16:

snyk_vulnerabilities_over_time.png
image-20250717-145827.png

 

5 min

https://folio-org.atlassian.net/browse/MODLOGIN-164

All

Message from @Julian Ladisch in slack…

The user enumeration issue got fixed for Eureka: https://folio-org.atlassian.net/browse/MODUSERSKC-83
For Okapi-based installations we have https://folio-org.atlassian.net/browse/MODLOGIN-164 "Login allows username and password enumeration" with priority P3 that doesn't allow a CSP. Fixing it requires a breaking change as the response will be a general message (login failed) without explaining the reason. Source code: https://github.com/folio-org/mod-login/blob/v7.13.0/src/main/java/org/folio/rest/impl/LoginAPI.java#L654-L753
If you agree that it is still P3 the we should close it as Won't do.

Let’s discuss and make a decision.


Notes:

  • We decided to bump this to P2 and ask the team to work on it.

  • For consistency, it should be backported to Sunflower and Ramsons

*

Anything Urgent?
Review Mike's Kanban board?
Review Security board?
Review labels=security?

Under Review Filter: https://folio-org.atlassian.net/issues/?jql=filter%3D12879+

New Board

Team

Previous: 


Today:

  • Reviewed the 4 issues in the “Under Review” column and closed them out.

  •  

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:

  1. Add descriptions to each of the security groups, like we have for "FOLIO Security Group"

  2. Maybe add a new security group and level for FOLIO devops

  3. Review membership of each of these groups and remove users no longer on the project

  4. 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.  

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.

Action items